From b4c65eee7a595d44e2282e50f96d0e43283b730e Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 13 二月 2025 15:49:02 +0800 Subject: [PATCH] 5563 【英文】【BT】【越南】【砍树】跨服服务器维护优化 --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py index 8c11841..580e7a9 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py @@ -65,7 +65,11 @@ return if not dataMsg: return - + if msgType not in [ShareDefine.ClientServerMsg_ServerInitOK]: + isOpen = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossServerOpen) + if not isOpen: + GameWorld.Log("跨服服务器未开启或维护中不发送消息! SendMsgToCrossServer => %s" % msgType) + return # 协议要用最高级2,可减少长度 srcMsg = {"MsgType":msgType, "Data":dataMsg, "ServerGroupID":GameWorld.GetServerGroupID()} sendMsg = cPickle.dumps(srcMsg, 2) @@ -256,6 +260,10 @@ 当子服启动成功后,可同步一次跨服服务器活动状态及活动数据给子服 ''' GameWorld.Log("收到跨服子服连接成功通知! serverGroupID=%s" % serverGroupID) + isOpen = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossServerOpen) + if not isOpen: + GameWorld.Log("跨服服务器维护中不处理! serverGroupID=%s" % serverGroupID) + return Sync_CrossServerInitDataToClientServer(tick, serverGroupID) return -- Gitblit v1.8.0