From 35d98e9c630fd4408561c8c54b4c09193bb9ce9e Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 20 三月 2026 14:57:32 +0800
Subject: [PATCH] 0312 修改服务端补主线进度通知
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py | 34 +++++++++-------------------------
1 files changed, 9 insertions(+), 25 deletions(-)
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 4e8750f..76e21b4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py
@@ -161,30 +161,6 @@
#PlayerDBOper.FindDBOper(PlayerDBOper.Table_DBPlayer, {}, {"PlayerID":1, "AccID":1, "_id":0}, LoadDBPlayerRet)
return
-def GMSetOpenServerTime(openServerTime):
- '''GM设置开服时间
- @param openServerTime: 开服时间戳
- @return: 1-成功;-1-设置的时间异常;-2-已经设置过且开服了,不能重复设置
- '''
- serverID = GameWorld.GetGameWorld().GetServerID()
- curTime = int(time.time())
- if openServerTime < curTime:
- GameWorld.ErrLog("当前时间已经超过设置的开服时间,不能设置! serverID=%s" % serverID)
- #GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_InvalidTime, "The set time is less than the current time.")
- return -1
- setOpenServerTime = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_SetOpenServerTime)
- if setOpenServerTime and curTime > setOpenServerTime:
- GameWorld.ErrLog("已经设置过且开服了,不能重复设置! serverID=%s" % serverID)
- #GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ServerAlreadyOpen, "The server has been opened.")
- return -2
-
- DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_SetOpenServerTime, openServerTime)
- GameWorld.Log("GM设置开服时间: serverID=%s,%s,%s" % (serverID, GameWorld.ChangeTimeNumToStr(openServerTime), openServerTime))
- if openServerTime == curTime:
- OnNewServerOpen(GameWorld.GetGameWorld().GetTick())
-
- return 1
-
def DoCheckNewServerOpen(tick):
setOpenServerTime = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_SetOpenServerTime)
if not setOpenServerTime:
@@ -214,16 +190,24 @@
#清DBGSTrig
excludeList = [ShareDefine.Def_InitOpenServerTime, ShareDefine.Def_SetOpenServerTime]
DBDataMgr.GetEventTrigMgr().DelAllKey(excludeList)
+ #清榜单
+ DBDataMgr.GetBillboardMgr().DelAllData()
+ #清通用记录
+ DBDataMgr.GetGameRecMgr().DelAllData()
#清家族
DBDataMgr.GetFamilyMgr().DelAllFamily()
#清邮件
DBDataMgr.GetMailMgr().DelAllMail()
DBDataMgr.GetPlayerViewCacheMgr().DelAllCache()
+ # 设置允许跨服,该函数为自动开服会触发,所以要设置为允许跨服,手动开服的需后台手动设置为允许
+ DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_CanCross, 1)
SetInitOpenServerTime(setOpenServerTime)
AllMapServerInitOK(tick)
- GameWorld.GetGameWorld().SaveGameServerData()
+ #强制备档一次、入库
+ DBDataMgr.BackupGameWorldData(saveToDB=True)
+ #GameWorld.GetGameWorld().SaveGameServerData()
GameWorld.SendGameError("ClearOpenServerOK")
return
--
Gitblit v1.8.0