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 {
|
type GameConfig struct {
|
||||||
AreaId string //区服id 每个区服id都必须是唯一
|
AreaId string //区服id 每个区服id都必须是唯一
|
||||||
|
AreaName string //区服名
|
||||||
|
OpenServiceTime string //开服时间
|
||||||
|
Channel string //渠道
|
||||||
Loglevel int32 //日志文件输出级别
|
Loglevel int32 //日志文件输出级别
|
||||||
MaxAgeTime int32 //日志文件保存时长
|
MaxAgeTime int32 //日志文件保存时长
|
||||||
ConsulAddr []string //区服Consul
|
ConsulAddr []string //区服Consul
|
||||||
|
@ -11,6 +11,7 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"path/filepath"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@ -28,6 +29,13 @@ var (
|
|||||||
crosspath string //服务列表下标
|
crosspath string //服务列表下标
|
||||||
sid string //服务列表下标
|
sid string //服务列表下标
|
||||||
)
|
)
|
||||||
|
var confCmd = &cobra.Command{
|
||||||
|
Use: "conf",
|
||||||
|
Short: "生成配置",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
conf()
|
||||||
|
},
|
||||||
|
}
|
||||||
var startCmd = &cobra.Command{
|
var startCmd = &cobra.Command{
|
||||||
Use: "start",
|
Use: "start",
|
||||||
Short: "启动程序",
|
Short: "启动程序",
|
||||||
@ -42,6 +50,14 @@ var stopCmd = &cobra.Command{
|
|||||||
stop()
|
stop()
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
var restart = &cobra.Command{
|
||||||
|
Use: "restart",
|
||||||
|
Short: "重启服务",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
stop()
|
||||||
|
start()
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
func emptyRun(*cobra.Command, []string) {}
|
func emptyRun(*cobra.Command, []string) {}
|
||||||
|
|
||||||
@ -57,7 +73,7 @@ func init() {
|
|||||||
RootCmd.PersistentFlags().StringVarP(&gmpath, "gm", "g", "./gm.json", "游戏区服配置")
|
RootCmd.PersistentFlags().StringVarP(&gmpath, "gm", "g", "./gm.json", "游戏区服配置")
|
||||||
RootCmd.PersistentFlags().StringVarP(&crosspath, "cross", "c", "./cross.json", "游戏跨服配置")
|
RootCmd.PersistentFlags().StringVarP(&crosspath, "cross", "c", "./cross.json", "游戏跨服配置")
|
||||||
RootCmd.PersistentFlags().StringVarP(&sid, "sid", "i", "", "区服id")
|
RootCmd.PersistentFlags().StringVarP(&sid, "sid", "i", "", "区服id")
|
||||||
RootCmd.AddCommand(startCmd, stopCmd)
|
RootCmd.AddCommand(confCmd, startCmd, stopCmd, restart)
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
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() {
|
func start() {
|
||||||
if config, err := readergmconf(gmpath); err != nil {
|
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) {
|
func writeServiceConfig(filename string, sseting *core.ServiceSttings) (err error) {
|
||||||
var data []byte
|
var data []byte
|
||||||
|
if err = os.MkdirAll(filepath.Dir(filename), 0755); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
if data, err = yaml.Marshal(sseting); err != nil {
|
if data, err = yaml.Marshal(sseting); err != nil {
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user