From 5878f2872607b9b9186ad5ce3623aff88bbcef6b Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 04 三月 2025 16:34:07 +0800 Subject: [PATCH] 5563 【英文】【BT】跨服服务器维护优化(打包数据改为db自己管理存取) --- ServerPython/CoreServerGroup/GameServer/Script/GM/GMShell.py | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/GMShell.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/GMShell.py index a9dfa02..c7b5484 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GM/GMShell.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/GMShell.py @@ -102,7 +102,7 @@ callFunc = GameWorld.GetExecFunc(Commands, "%s.%s"%(callFunName, "OnGetMergeParam")) if callFunc != None: extendParamList = callFunc(curPlayer) - CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_GMCMD, alist + extendParamList) + CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_GMCMD, {"cmdMsgList":alist + extendParamList}) callFunc = GameWorld.GetExecFunc(Commands, "%s.%s"%(callFunName, "OnExec")) if callFunc == None: @@ -111,8 +111,11 @@ GameWorld.DebugAnswer(curPlayer, 'no cmd !!!') return - callFunc(curPlayer, alist[1:]) - + isSendToDB = callFunc(curPlayer, alist[1:]) + if isSendToDB: + msg = str(alist) + GameWorld.GetGameWorld().SendDBLogic(ChConfig.gstDBLogic_GMCmd, 0, msg, len(msg)) + except BaseException: GameWorld.DebugAnswer(curPlayer, "执行GM命令错误, 请查看GameServer日志!") errorMsg = str(traceback.format_exc()) @@ -241,7 +244,12 @@ return cmdDict ## 收到子服务器发送的GM命令 -def ClientServerMsg_GMCMD(cmdMsgList, tick): +def ClientServerMsg_GMCMD(msgData, tick): + cmdMsgList = msgData["cmdMsgList"] + dbAnswerList = msgData.get("dbAnswerList", []) + for dbAnswer in dbAnswerList: + GameWorld.DebugAnswer(None, dbAnswer) + if len(cmdMsgList) == 0: return -- Gitblit v1.8.0