From 7776ebaeba2d62acdc2f537afc055a5df60c9f4c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 25 三月 2026 14:14:03 +0800
Subject: [PATCH] 16 卡牌服务端(优化ServersConfig.json重读,同步重读游戏服;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ReadChConfig.py |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ReadChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ReadChConfig.py
index 83033e1..e0a358d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ReadChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ReadChConfig.py
@@ -98,17 +98,24 @@
     ## 标记重读配置
     global PyMongoDataServerConfig
     global ServersRouteConfig
-    global ServersConfigDict
     
     GameWorld.Log("=== 设置重读配置 ===")
     GameWorld.GetGameWorld().SetGameWorldDict(ShareDefine.Def_Notify_WorldKey_ReloadConfig, 1)
     PyMongoDataServerConfig = None
     ServersRouteConfig = None
-    ServersConfigDict = {}
+    OnReloadServersConfig()
     IpyGameDataPY.IPYData.IpyDataClear()
     import DataRecordPack
     DataRecordPack.DR_Reload("config")
     OnReloadConfig()
+    return
+
+def OnReloadServersConfig():
+    global ServersConfigDict
+    ServersConfigDict = {}
+    GetServerConfigDict()
+    import DataRecordPack
+    DataRecordPack.DR_Reload("ServersConfig")
     return
 
 def OnReloadConfig():
@@ -257,11 +264,27 @@
             GameWorld.Log('无法找到文件 = %s'%(filePath))
             raise Exception('无法找到文件 = %s'%(filePath))
         
+        batFilePath = ChConfig.GetServersRoutePath() + "\\Config\\BattleServer.json"
+        if not os.path.isfile(batFilePath):
+            GameWorld.Log('无法找到文件 = %s'%(batFilePath))
+            raise Exception('无法找到文件 = %s'%(batFilePath))
+        
         f = open(filePath, 'r')
-        strMsg = f.read()
+        serverDict = eval(f.read())
         f.close()
         
-        ServersConfigDict = eval(strMsg)
+        f = open(batFilePath, 'r')
+        batServerDict = eval(f.read())
+        f.close()
+        
+        groupName = GameWorld.GetServerGroupName()
+        ServersConfigDict = {}
+        ServersConfigDict = {int(k):v for k, v in serverDict.items()}
+        for batServerID, mapID in batServerDict.items():
+            if batServerID in ServersConfigDict:
+                continue
+            ServersConfigDict[batServerID] = [groupName, mapID, ShareDefine.serverType_Battle]
+        GameWorld.Log("Load ServersConfigDict=%s" % ServersConfigDict)
         
     return ServersConfigDict
 

--
Gitblit v1.8.0