From 1d6917f2c4e4f05da34509e23a83bad12cfbc148 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 22 Sep 2022 10:14:51 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=A1=A5=E5=85=85cmd=20=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/cmd/main.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/services/cmd/main.go b/services/cmd/main.go index ad2cb2e21..02d21f883 100644 --- a/services/cmd/main.go +++ b/services/cmd/main.go @@ -28,6 +28,13 @@ var ( crosspath string //服务列表下标 sid string //服务列表下标 ) +var confCmd = &cobra.Command{ + Use: "conf", + Short: "生成配置", + Run: func(cmd *cobra.Command, args []string) { + conf() + }, +} var startCmd = &cobra.Command{ Use: "start", Short: "启动程序", @@ -81,6 +88,26 @@ func Execute() { } } +//生成配置 +func conf() { + if config, err := readergmconf(gmpath); err != nil { + log.Error("读取区服配置失败!", log.Field{Key: "err", Value: err}) + } else { + if ss, err := rederServiceSttings(config); err != nil { + log.Error("转换服务配置异常!", log.Field{Key: "err", Value: err}) + } else { + for _, v := range ss { + if sid == "" || fmt.Sprintf("%s_%s", v.Tag, sid) == v.Id { + if err = writeServiceConfig(fmt.Sprintf("./conf/%s.yaml", v.Id), v); err != nil { + log.Error("写入配置文件失败!", log.Field{Key: "err", Value: err}) + return + } + } + } + } + } +} + //启动程序 func start() { if config, err := readergmconf(gmpath); err != nil { From 06d513c0d3cdcfb8612bcc8758ff4914d863dddf Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 22 Sep 2022 10:18:36 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=A1=A5=E5=85=85cmd=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/cmd/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/cmd/main.go b/services/cmd/main.go index 02d21f883..cbb98879a 100644 --- a/services/cmd/main.go +++ b/services/cmd/main.go @@ -64,7 +64,7 @@ func init() { RootCmd.PersistentFlags().StringVarP(&gmpath, "gm", "g", "./gm.json", "游戏区服配置") RootCmd.PersistentFlags().StringVarP(&crosspath, "cross", "c", "./cross.json", "游戏跨服配置") RootCmd.PersistentFlags().StringVarP(&sid, "sid", "i", "", "区服id") - RootCmd.AddCommand(startCmd, stopCmd) + RootCmd.AddCommand(confCmd, startCmd, stopCmd) } func main() { From 81024b8509d596e05f7a3d98dcc3697421d830cb Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 22 Sep 2022 10:27:52 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dcmd=20=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=20=E5=88=9B=E5=BB=BA=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=20?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/cmd/main.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/cmd/main.go b/services/cmd/main.go index cbb98879a..69afadc40 100644 --- a/services/cmd/main.go +++ b/services/cmd/main.go @@ -11,6 +11,7 @@ import ( "net" "os" "os/exec" + "path/filepath" "strconv" "strings" "time" @@ -375,6 +376,9 @@ func stopService(sseting *core.ServiceSttings) (err error) { //写入服务配置文件 func writeServiceConfig(filename string, sseting *core.ServiceSttings) (err error) { var data []byte + if err = os.MkdirAll(filepath.Dir(filename), 0755);err != nil { + return + } if data, err = yaml.Marshal(sseting); err != nil { return } else { From 1422576f866e0fe009537dd37725fec86c0d031e Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 22 Sep 2022 11:04:13 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=B8=8A=E4=BC=A0cmd=20restart=20=E5=91=BD?= =?UTF-8?q?=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/gameconfig.go | 3 +++ services/cmd/main.go | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/comm/gameconfig.go b/comm/gameconfig.go index 91c8999ee..3f482c848 100644 --- a/comm/gameconfig.go +++ b/comm/gameconfig.go @@ -3,6 +3,9 @@ package comm //游戏区服配置 type GameConfig struct { AreaId string //区服id 每个区服id都必须是唯一 + AreaName string //区服名 + OpenServiceTime string //开服时间 + Channel string //渠道 Loglevel int32 //日志文件输出级别 MaxAgeTime int32 //日志文件保存时长 ConsulAddr []string //区服Consul diff --git a/services/cmd/main.go b/services/cmd/main.go index 69afadc40..4d89fef79 100644 --- a/services/cmd/main.go +++ b/services/cmd/main.go @@ -50,6 +50,14 @@ var stopCmd = &cobra.Command{ stop() }, } +var restart = &cobra.Command{ + Use: "restart", + Short: "重启服务", + Run: func(cmd *cobra.Command, args []string) { + stop() + start() + }, +} func emptyRun(*cobra.Command, []string) {} @@ -65,7 +73,7 @@ func init() { RootCmd.PersistentFlags().StringVarP(&gmpath, "gm", "g", "./gm.json", "游戏区服配置") RootCmd.PersistentFlags().StringVarP(&crosspath, "cross", "c", "./cross.json", "游戏跨服配置") RootCmd.PersistentFlags().StringVarP(&sid, "sid", "i", "", "区服id") - RootCmd.AddCommand(confCmd, startCmd, stopCmd) + RootCmd.AddCommand(confCmd, startCmd, stopCmd, restart) } func main() { @@ -376,7 +384,7 @@ func stopService(sseting *core.ServiceSttings) (err error) { //写入服务配置文件 func writeServiceConfig(filename string, sseting *core.ServiceSttings) (err error) { var data []byte - if err = os.MkdirAll(filepath.Dir(filename), 0755);err != nil { + if err = os.MkdirAll(filepath.Dir(filename), 0755); err != nil { return } if data, err = yaml.Marshal(sseting); err != nil {