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