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/GameWorldLogic/GameWorldProcess.py |  130 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 123 insertions(+), 7 deletions(-)

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

--
Gitblit v1.8.0