优化代码

This commit is contained in:
flswld
2023-02-18 22:09:59 +08:00
parent 21fb9d400f
commit e580baeb46
37 changed files with 198 additions and 118 deletions

View File

@@ -33,12 +33,12 @@ func Run(ctx context.Context, configFile string) error {
rsp, err := client.Discovery.RegisterServer(context.TODO(), &api.RegisterServerReq{
ServerType: api.GATE,
GateServerAddr: &api.GateServerAddr{
KcpAddr: config.CONF.Hk4e.KcpAddr,
KcpPort: uint32(config.CONF.Hk4e.KcpPort),
MqAddr: config.CONF.Hk4e.GateTcpMqAddr,
MqPort: uint32(config.CONF.Hk4e.GateTcpMqPort),
KcpAddr: config.GetConfig().Hk4e.KcpAddr,
KcpPort: uint32(config.GetConfig().Hk4e.KcpPort),
MqAddr: config.GetConfig().Hk4e.GateTcpMqAddr,
MqPort: uint32(config.GetConfig().Hk4e.GateTcpMqPort),
},
Version: strings.Split(config.CONF.Hk4e.Version, ","),
Version: strings.Split(config.GetConfig().Hk4e.Version, ","),
})
if err != nil {
return err
@@ -67,6 +67,9 @@ func Run(ctx context.Context, configFile string) error {
logger.InitLogger("gate_" + APPID)
logger.Warn("gate start, appid: %v", APPID)
defer func() {
logger.CloseLogger()
}()
messageQueue := mq.NewMessageQueue(api.GATE, APPID, client)
defer messageQueue.Close()
@@ -93,7 +96,6 @@ func Run(ctx context.Context, configFile string) error {
switch s {
case syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT:
logger.Warn("gate exit, appid: %v", APPID)
time.Sleep(time.Second)
return nil
case syscall.SIGHUP:
default:

View File

@@ -73,7 +73,7 @@ func NewKcpConnectManager(messageQueue *mq.MessageQueue, discovery *rpc.Discover
r.kcpEventOutput = make(chan *KcpEvent, 1000)
r.reLoginRemoteKickRegChan = make(chan *RemoteKick, 1000)
r.serverCmdProtoMap = cmd.NewCmdProtoMap()
if config.CONF.Hk4e.ClientProtoProxyEnable {
if config.GetConfig().Hk4e.ClientProtoProxyEnable {
r.clientCmdProtoMap = client_proto.NewClientCmdProtoMap()
}
r.messageQueue = messageQueue
@@ -100,7 +100,7 @@ func (k *KcpConnectManager) run() {
regionEc2b.SetSeed(ec2b.Seed())
k.dispatchKey = regionEc2b.XorKey()
// kcp
port := strconv.Itoa(int(config.CONF.Hk4e.KcpPort))
port := strconv.Itoa(int(config.GetConfig().Hk4e.KcpPort))
listener, err := kcp.ListenWithOptions("0.0.0.0:" + port)
if err != nil {
logger.Error("listen kcp err: %v", err)

View File

@@ -28,7 +28,7 @@ type ProtoMessage struct {
func ProtoDecode(kcpMsg *KcpMsg,
serverCmdProtoMap *cmd.CmdProtoMap, clientCmdProtoMap *client_proto.ClientCmdProtoMap) (protoMsgList []*ProtoMsg) {
protoMsgList = make([]*ProtoMsg, 0)
if config.CONF.Hk4e.ClientProtoProxyEnable {
if config.GetConfig().Hk4e.ClientProtoProxyEnable {
clientCmdId := kcpMsg.CmdId
clientProtoData := kcpMsg.ProtoData
cmdName := clientCmdProtoMap.GetClientCmdNameByCmdId(clientCmdId)
@@ -139,7 +139,7 @@ func ProtoDecodePayloadLoop(cmdId uint16, protoData []byte, protoMessageList *[]
return
}
for _, unionCmd := range unionCmdNotify.GetCmdList() {
if config.CONF.Hk4e.ClientProtoProxyEnable {
if config.GetConfig().Hk4e.ClientProtoProxyEnable {
clientCmdId := uint16(unionCmd.MessageId)
clientProtoData := unionCmd.Body
cmdName := clientCmdProtoMap.GetClientCmdNameByCmdId(clientCmdId)
@@ -231,7 +231,7 @@ func ProtoEncode(protoMsg *ProtoMsg,
} else {
kcpMsg.ProtoData = nil
}
if config.CONF.Hk4e.ClientProtoProxyEnable {
if config.GetConfig().Hk4e.ClientProtoProxyEnable {
serverCmdId := kcpMsg.CmdId
serverProtoData := kcpMsg.ProtoData
serverProtoObj := serverCmdProtoMap.GetProtoObjByCmdId(serverCmdId)

View File

@@ -191,11 +191,10 @@ func (k *KcpConnectManager) sendMsgHandle() {
})
} else if protoMsg.CmdId == cmd.ClientReconnectNotify {
tokenResetRsp, err := httpclient.PostJson[controller.TokenResetRsp](
config.CONF.Hk4e.LoginSdkUrl+"/gate/token/reset?key=flswld",
config.GetConfig().Hk4e.LoginSdkUrl+"/gate/token/reset?key=flswld",
&controller.TokenResetReq{
PlayerId: session.userId,
},
"")
})
if err != nil {
logger.Error("reset token error: %v", err)
k.kcpEventInput <- &KcpEvent{
@@ -343,12 +342,11 @@ func (k *KcpConnectManager) getPlayerToken(req *proto.GetPlayerTokenReq, session
}
}
tokenVerifyRsp, err := httpclient.PostJson[controller.TokenVerifyRsp](
config.CONF.Hk4e.LoginSdkUrl+"/gate/token/verify?key=flswld",
config.GetConfig().Hk4e.LoginSdkUrl+"/gate/token/verify?key=flswld",
&controller.TokenVerifyReq{
AccountId: req.AccountUid,
AccountToken: req.AccountToken,
},
"")
})
if err != nil {
logger.Error("verify token error: %v, account uid: %v", err, req.AccountUid)
loginFailClose()