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/Player/CrossRealmPlayer.py | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py index 7dbf112..2cefcaa 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py @@ -149,6 +149,17 @@ CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_CrossServerState, {"isOpen":isOpen}) return +def OnCrossServerClose(): + '''关服时处理 + 注意关服只需设置关闭状态即可,不调用 DoChangeCrossServerState 改变db状态及其他额外处理 + db存储的关闭状态为维护状态(可能跨服服务器正常开着,但是运维后台GM手动设置处于维护状态) + 通知关服状态主要目的是让子服不再发送消息到跨服服务器了,等待跨服服务器重新开启即可 + ''' + isOpen = 0 + GameWorld.GetGameWorld().SetDict(ShareDefine.Def_Notify_WorldKey_CrossServerOpen, isOpen) + CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_CrossServerState, {"isOpen":isOpen}) + return + def CrossServerMsg_CrossServerState(msgData): ## 子服收到跨服服务器状态变更,子服不存DB,默认跨服维护中,连接跨服成功后由跨服同步状态直接更新到字典即可,没连上就默认维护中 if "crossZoneName" in msgData: -- Gitblit v1.8.0