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