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