From 278fa30bb771deab0cc22c3390c2581c004de178 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 21 五月 2025 14:38:45 +0800
Subject: [PATCH] 15 卡牌服务端搭建 1. 增加地图关闭接口 CloseMap,必须调用处理保存后,地图才能关闭 2. 玩家登录流程在PlayerLogin统一处理,不再需要等待客户端回报

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script.ini                                    |    8 +
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ServerCMD/CMDS/SavePlayerBackupFile.py |    3 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py       |   17 ++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py                     |   72 ++++-------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/LogicProcess/UserCtrlDB.py   |  114 ------------------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py     |  130 ++++++++++++++++++++-
 6 files changed, 177 insertions(+), 167 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script.ini b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script.ini
index cffa07d..c0d28cd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script.ini
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script.ini
@@ -20,6 +20,14 @@
 ClassName = StartDB
 FuncName = StartDB
 
+[CloseMap]
+ScriptName = GameWorldLogic\GameWorldEvent.py
+Writer = Alee
+Releaser = Alee
+RegType = 1
+ClassName = CloseMap
+FuncName = CloseMap
+
 [RefreshNPC]
 ScriptName = NPC\ChNPC.py
 Writer = eggxp
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py
index c486584..318d0f4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py
@@ -22,6 +22,7 @@
 import ShareDefine
 import PlayerTeam
 import PyGameData
+import NetPackCommon
 
 import datetime
 import time
@@ -362,3 +363,19 @@
     PyGameData.g_ipyDataRecycleCheckTime = 1    
     IpyGameDataPY.IPYData.Recycle()
     return
+
+
+# 关闭地图通知py处理
+def CloseMap(tick):
+    from PyMongoDB.DBCommon import CommonDefine
+    from PyMongoDB.Common import CommFunc
+    #初始化数据库, 恢复备档(按区服记录), 加载静态表
+    try:
+        pass
+    finally:
+        #回发地图 处理完成,必须被调用地图才能正常关闭
+        data = ''
+        data = CommFunc.WriteBYTE(data, CommonDefine.dgPlayerSaveGameServerData)  
+        NetPackCommon.SendPyPackToMapServerSelf(data, len(data))
+        GameWorld.Log("python 已处理地图关闭逻辑")
+    return
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
index a74fb90..cab9108 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
@@ -603,13 +603,7 @@
     gameWorld.BalanceServer_MapServerInitOK()
     return
 
-## 初始化共享表(原c++表)
-#  @param tick 当前时间
-#  @return None
-def ReadShareData(tick):
-    from PyMongoDB import PyMongoMain
-    PyMongoMain.GetUserCtrlDB().OnGetGameData()
-    return
+
 
 def GameServer_CommMapServerInitOK(gameWorld):
     '''
@@ -734,3 +728,125 @@
     return
 
 #---------------------------------------------------------------------
+
+
+## 初始化共享表(原c++表)
+#  @param tick 当前时间
+#  @return None
+def ReadShareData(tick):
+    #读取静态表,与数据库无关 不要调用UserCtrlDB
+    from PyMongoDB.Collections import DataServerGameData
+    from PyMongoDB.DBCommon import (GlobalFunctions, CommonDefine, error)
+    from PyMongoDB.Common import (CommFunc, )
+    import NetPackCommon
+    import os
+    import zlib
+    sysData = DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinNPC,
+                                                os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                                CommonDefine.SYSDB_PATH,
+                                                                'tagChinNPC.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagNPCRefresh,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagNPCRefresh.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinSkill,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagChinSkill.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinExp,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagChinExp.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinItem,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagChinItem.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagTransportRefresh,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagTransportRefresh.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinShopItem,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagChinShopItem.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagBornRefresh,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagBornRefresh.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinMixItem,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagChinMixItem.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagBuildEquip,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagBuildEquip.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagSuiteActivation,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagSuiteActivation.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagSuiteEffect,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagSuiteEffect.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagRepeatEvent,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagRepeatEvent.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagEffectRefresh,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagEffectRefresh.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinMap,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagChinMap.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagDBStoreItem,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagDBStoreItem.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagOnMissionDelete,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagOnMissionDelete.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPet,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagPet.txt'))   
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetGrade,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagPetGrade.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetFriendliness,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagPetFriendliness.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetExp,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagPetExp.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagNPC_Item_Pet,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagNPC_Item_Pet.txt'))
+    sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagFlyObjBaseInfo,
+                                        os.path.join(GlobalFunctions.getServerConfigPath(),
+                                                    CommonDefine.SYSDB_PATH,
+                                                    'tagFlyObjBaseInfo.txt'))
+
+
+    #压缩
+    try:
+        compressSysData = zlib.compress(sysData, 9)    #最大压缩
+                    
+        #回发地图
+        data = ''
+        data = CommFunc.WriteBYTE(data, CommonDefine.dgGameData)         #1
+        data = CommFunc.WriteString(data, len(compressSysData), compressSysData)
+        
+        GameWorld.Log('Load game sys data for len = %s - %s ok!'%(len(compressSysData), len(data)))
+        NetPackCommon.SendPyPackToMapServerSelf(data, len(data))
+    except:
+        msg = error.formatMsg('fatal', error.ERROR_NO_53, 'Compress game sys data failed!error = \n%s'%traceback.format_exc())
+        GameWorld.ErrLog(msg)
+    return
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index 09f53f7..f41b51b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -487,52 +487,29 @@
 
 #---------------------------------------------------------------------
 '''
-旧登录流程 -- 留着对比
+登录流程
+UserCrtlDB
+    onAuthentication  玩家登录 :验证账号-若没有角色则创角-返回角色信息-通知Map C++
+    Map C++调用 PlayerLogin
 MapServer
     ChPlayer:def PlayerLogin(index, tick)
-                    DoPlayerLogin
-                        curPlayer.Sync_ClientPlayerLogin()
-                        curPlayer.Sync_GameServer_MapID()                #同步GameServer自己的地图ID
-                        curPlayer.BalanceServer_PlayerLoginInitOK()
-                        
-GameServer
-    ChPlayer:def PlayerLoadMapState(index, tick)    pack.GetLoadState()=0    此时的  LoadState 为0
-                    curPlayer.SetIsLoadMap(True)    设置在加载地图
-                    
-    ChPlayer:def PlayerLogin(index, tick)
-                    curPlayer.MapServer_InitOK()    通知地图自己OK了
-                    
-MapServer
-    PlayerEventCounter:def GameServer_InitOK(index, tick)
-        curPlayer.SendToBServerServerInitOK()                #通知BServer自己OK了
-        ChPlayer:def OnAllServerInitOK(curPlayer, tick)
+        DoPlayerLogin
+            curPlayer.Sync_ClientPlayerLogin()  #01 02 玩家初始化#tagCDBPlayer
+            curPlayer.BalanceServer_PlayerLoginInitOK() #向route设置玩家在map中的索引
+            
+            curPlayer.SendToBServerServerInitOK()   #通知route登录成功 ,route向客户端发送//01 09 服务器准备就绪#tagServerPrepareOK
+            ChPlayer:def OnAllServerInitOK(curPlayer, tick)
 
-    ChPlayer:def LoadMapOK(curPlayer, tick)
-        curPlayer.GameServer_SetLoadMapState(1)    #通知GameServer切换地图停止
-        curPlayer.SetMapLoadOK(True)
-        curPlayer.SetInitOK(True)
-        curPlayer.EndLoadMap()
-
-GameServer
-    ChPlayer:def PlayerLoadMapState(index, tick)    pack.GetLoadState()=1    此时的  LoadState 为1
-        PlayerLoginLoadMapOK
+            ChPlayer:def __Func_LoadMapOK(curPlayer, tick)  #!!!直接调用不等待客户端封包 //01 07 地图读取OK#tagCInitMapOK
+            curPlayer.SetMapLoadOK(True)
             curPlayer.SetInitOK(True)
-        curPlayer.MapServer_GameServerRefreshOK()        #通知地图服务器玩家初始化成功
-        curPlayer.SetIsLoadMap(False)
-        
-MapServer
-    GameServerRefresh:GameSever_PlayerInitOK curPlayer.GetGameServerInitOK()=0
-        curPlayer.SetGameServerInitOK(True)
-    
-后续补充流程
-MapServer
-    ChPlayer:def DoPlayerRealLoginOK(curPlayer, tick)
-                    玩家真正登录成功处理,用于替换  __DoPlayerLoginServer  中的功能登录逻辑
-                    通知GameServer地图最终登录成功了
-    
-GameServer
-    ChPlayer:def DoPlayerRealLoginOK(curPlayer, tick)
-                    玩家真正登录成功处理,用于替换  __DoPlayerLoginServer  中的功能登录逻辑
+            curPlayer.EndLoadMap()  #通知客户端 04 03 玩家登录数据发送完毕OK#tagPlayerLoginLoadOK
+
+            GameServerRefresh:GameSever_PlayerInitOK
+            curPlayer.SetGameServerInitOK(True)
+
+            ChPlayer:def DoPlayerRealLoginOK(curPlayer, tick) 玩家真正登录成功处理,用于替换  __DoPlayerLoginServer  中的功能登录逻辑
+
 '''
 
 ##玩家登陆游戏逻辑处理
@@ -1477,7 +1454,9 @@
         curPlayer.SendToBServerServerInitOK()   #通知route登录成功 ,route向客户端发送0109包
         OnAllServerInitOK(curPlayer, tick)
         #到此处已经可以保存数据,即使客户端不回包断线
-        #后续登录流程等客户端回复 //01 07 地图读取OK#tagCInitMapOK 调用 LoadMapOK
+        #原 //01 07 地图读取OK#tagCInitMapOK 逻辑 直接调用
+        __Func_LoadMapOK(index, tick)
+        GameServerRefresh.GameSever_PlayerInitOK(index, tick)
     except:
         curPlayer.Kick(IPY_GameWorld.disWaitForPlayerLoinError)
         import traceback
@@ -1565,7 +1544,7 @@
     PetControl.Sync_PetInfo_ChangeMap(curPlayer, tick)
 
     #通知GameServer自己现在的地图
-    curPlayer.Sync_GameServer_MapID()
+    #curPlayer.Sync_GameServer_MapID()
     
     #如果本地图是副本的话, 则通知GameServer玩家进入副本
     if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtTeam:
@@ -1680,8 +1659,9 @@
 #@return 返回值无意义
 #@remarks C++封包触发, 切换地图成功( 目标地图 )
 def LoadMapOK(index, tick):
-    GameWorld.GetPsycoFunc(__Func_LoadMapOK)(index, tick)
-    GameServerRefresh.GameSever_PlayerInitOK(index, tick)
+    #不需要等待客户端,以前有视野客户端未加载成功会被偷袭的问题,可以通过加x秒无敌BUFF解决,不应该增加流程
+    # GameWorld.GetPsycoFunc(__Func_LoadMapOK)(index, tick)
+    # GameServerRefresh.GameSever_PlayerInitOK(index, tick)
     return
 
 #---------------------------------------------------------------------
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/LogicProcess/UserCtrlDB.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/LogicProcess/UserCtrlDB.py
index e3f5a6a..b776e47 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/LogicProcess/UserCtrlDB.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/LogicProcess/UserCtrlDB.py
@@ -5800,116 +5800,4 @@
         return (True, playerRec.PlayerID)
        
 
-    #读取静态表,与数据库无关
-    def OnGetGameData(self):
-        sysData = DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinNPC,
-                                                    os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                                    CommonDefine.SYSDB_PATH,
-                                                                    'tagChinNPC.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagNPCRefresh,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagNPCRefresh.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinSkill,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagChinSkill.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinExp,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagChinExp.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinItem,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagChinItem.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagTransportRefresh,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagTransportRefresh.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinShopItem,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagChinShopItem.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagBornRefresh,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagBornRefresh.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinMixItem,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagChinMixItem.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagBuildEquip,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagBuildEquip.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagSuiteActivation,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagSuiteActivation.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagSuiteEffect,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagSuiteEffect.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagRepeatEvent,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagRepeatEvent.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagEffectRefresh,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagEffectRefresh.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinMap,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagChinMap.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagDBStoreItem,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagDBStoreItem.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagOnMissionDelete,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagOnMissionDelete.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPet,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagPet.txt'))   
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetGrade,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagPetGrade.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetFriendliness,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagPetFriendliness.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetExp,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagPetExp.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagNPC_Item_Pet,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagNPC_Item_Pet.txt'))
-        sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagFlyObjBaseInfo,
-                                            os.path.join(GlobalFunctions.getServerConfigPath(),
-                                                        CommonDefine.SYSDB_PATH,
-                                                        'tagFlyObjBaseInfo.txt'))
-
-
-        #压缩
-        try:
-            compressSysData = zlib.compress(sysData, 9)    #最大压缩
-                        
-            #回发地图
-            data = ''
-            data = CommFunc.WriteBYTE(data, CommonDefine.dgGameData)         #1
-            data = CommFunc.WriteString(data, len(compressSysData), compressSysData)
-            
-            mylog.info('Load game sys data for len = %s - %s ok!'%(len(compressSysData), len(data)))
-            NetPackCommon.SendPyPackToMapServerSelf(data, len(data))
-        except:
-            msg = error.formatMsg('fatal', error.ERROR_NO_53, 'Compress game sys data failed!error = \n%s'%traceback.format_exc())
-            mylog.fatal(msg)
-
-
-        
+    
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ServerCMD/CMDS/SavePlayerBackupFile.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ServerCMD/CMDS/SavePlayerBackupFile.py
index 9e8e3ad..72236d2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ServerCMD/CMDS/SavePlayerBackupFile.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ServerCMD/CMDS/SavePlayerBackupFile.py
@@ -22,5 +22,6 @@
 #  @return None
 #  @remarks 函数详细说明.
 def OnExec(playerList): 
-    GameWorld.GetGameWorld().SetNeedSavePlayerBackupFile(True)
+    # 关地图会触发此命令
+    #GameWorld.GetGameWorld().SetNeedSavePlayerBackupFile(True)
     return
\ No newline at end of file

--
Gitblit v1.8.0