run.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package gm_rpc
  2. import (
  3. "gadmin/internal/admin/gm_rpc/gate"
  4. "gadmin/internal/admin/gm_rpc/grave_master"
  5. "leafstalk/conf"
  6. _ "leafstalk/covenant/msg"
  7. "leafstalk/module"
  8. "leafstalk/network/cluster"
  9. "os"
  10. "github.com/sirupsen/logrus"
  11. "github.com/spf13/viper"
  12. )
  13. var (
  14. ExitCh = make(chan struct{}, 1)
  15. )
  16. func Run() {
  17. logrus.Infoln("gm_rpc service start...")
  18. //日志分割
  19. // logrus.SetSplitFile("../logs/gm_rpc.log")
  20. //加载配置
  21. cfg1 := InitConf()
  22. conf := conf.NewConfig(cfg1)
  23. gate1 := gate.NewModule(PbfRouter, conf)
  24. module.Register(gate1)
  25. gmInstance := grave_master.NewModule(MsgRouter, conf)
  26. module.Register(gmInstance)
  27. agentServer := gate1.GetHandlerServer()
  28. //监听端口,且连接网关和世界服务器
  29. //服务器之间建立链接
  30. cluster1 := cluster.NewCluster(PbfRouter, agentServer, conf)
  31. cluster1.SubMsgProcessor = MsgRouter
  32. //cluster1.Init(conf)
  33. module.Register(cluster1)
  34. module.Start()
  35. <-ExitCh
  36. //closeSig <- true
  37. //cluster1.Destroy()
  38. module.Destroy()
  39. logrus.Warn("gm rpc closing down...")
  40. }
  41. func InitConf() *viper.Viper {
  42. conf1 := viper.New()
  43. conf1.SetEnvPrefix("archive") // allows using env vars in the CHAT_PITAYA_ format
  44. // conf1.Set("cluster.connaddrs", []conf.ConnAddr{{Tag: 2, Addr: "127.0.0.1:10122"}})
  45. // conf1.Set("cluster.id", "140")
  46. // conf1.Set("cluster.servertype", "archive")
  47. //conf1.Set("cluster.listenaddr", ":10140") //集群监听地址
  48. conf1.SetConfigFile(os.Getenv("GRAVE_GM"))
  49. // conf1.AddConfigPath("./conf/")
  50. // conf1.SetConfigName("gate")
  51. //conf1.SetConfigType("json")
  52. // conf1.WriteConfig()
  53. if err := conf1.ReadInConfig(); err != nil { // 必须 先 读取 `ReadInConfig`
  54. logrus.Fatal("conf1.ReadInConfig err:", err)
  55. }
  56. return conf1
  57. }