Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
bf08e2b7ca
@ -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
|
||||
|
@ -11,6 +11,7 @@ import (
|
||||
"net"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
@ -28,6 +29,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: "启动程序",
|
||||
@ -42,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) {}
|
||||
|
||||
@ -57,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(startCmd, stopCmd)
|
||||
RootCmd.AddCommand(confCmd, startCmd, stopCmd, restart)
|
||||
}
|
||||
|
||||
func main() {
|
||||
@ -81,6 +97,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 {
|
||||
@ -348,6 +384,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 {
|
||||
|
Loading…
Reference in New Issue
Block a user