From 98b6279210e1fc65b0195e9a12b6c06729b1011c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 29 四月 2021 11:25:32 +0800
Subject: [PATCH] 5058 【主干】【gt_1.100.6】【BT2】同步脱机挂封包
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py | 40 ++++++++++++++++++++++++----------------
1 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
index 239b3b8..df31452 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -25,7 +25,6 @@
# @change: "2014-02-27 12:00" hxp 增加世界boss逻辑
# @change: "2014-04-26 19:30" hxp 增加领地战活动
# @change: "2014-06-21 15:20" hxp 增加特惠活动
-# @change: "2014-08-04 17:30" xmnathan 天梯每日更新
# @change: "2014-08-15 17:00" xmnathan 修改OnDay函数内的执行顺序
# @change: "2014-10-08 10:30" xmnathan add 定时清理过期补偿
# @change: "2014-10-29 22:00" hxp MapServerInitOK增加扩展key状态通知
@@ -91,16 +90,19 @@
import CrossRealmPK
import CrossRealmMsg
import CrossRealmPlayer
+import CrossActionControl
import PlayerFBHelpBattle
import PlayerFamilyRedPacket
import PlayerFairyDomain
import IpyGameDataPY
import PlayerFamilyParty
import GameWorldFamilyWar
+import GameWorldArena
import AuctionHouse
import PlayerXMZZ
import PlayerTeam
import PyGameData
+import CrossBoss
import ChPlayer
#---------------------------------------------------------------------
@@ -164,7 +166,7 @@
#GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ServerDay, openServerDay)
#清理过期补偿
PlayerCompensation.ClearUpTimeOutCompensation()
- PlayerGeTui.ClearFMTGeTuiLimit()
+ #PlayerGeTui.ClearFMTGeTuiLimit()
import PlayerBourse
PlayerBourse.OverTimeItemsDeal()
# 仙盟联赛
@@ -296,8 +298,8 @@
CrossRealmPK.OnPKMatchProcess(tick)
GameWorldBoss.DoCheckWorldBossReborn(tick)
- GameWorldBoss.ProcessBossGeTui(tick)
- PlayerGeTui.ProcessNewGuyCallBackGeTui(tick)
+ #GameWorldBoss.ProcessBossGeTui(tick)
+ #PlayerGeTui.ProcessNewGuyCallBackGeTui(tick)
#组队副本版本
PlayerTeam.DoTeamProcess(tick)
@@ -363,6 +365,8 @@
#每5分钟触发一次仙盟总战力更新
if curMinute % 5 == 0:
PlayerFamily.UpdFamilyTotalFightPower()
+ PlayerFamilyRedPacket.CheckDelRedpacketData()
+
return
#---------------------------------------------------------------------
@@ -1203,6 +1207,8 @@
GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_IsGameWorldInit, int(time.time()))
#初始化游戏时钟
GameWorld.GetGameWorld().SetTickTypeCount(ChConfig.TYPE_Tick_Count)
+ #转移运营活动旧db记录key value 到 新记录
+ GameWorldActionControl.TransferOperationActDBKeyValue()
#初始话开服时间、星期几
initOpenServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime)
openServerWeekday = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday)
@@ -1235,8 +1241,12 @@
ChPlayer.LoadPlayerLVData()
#加载助战信息
PlayerFBHelpBattle.OnServerStart()
+ #本服竞技场
+ GameWorldArena.OnServerStart()
#跨服PK
CrossRealmPK.OnGameServerInitOK()
+ #红包
+ PlayerFamilyRedPacket.OnServerStart()
#世界boss被杀次数重置
#GameWorldBoss.CheckResetBossKilledCntOnServerInit()
@@ -1313,7 +1323,8 @@
universalRecMgr.Delete(recType)
if recordCount:
GameWorld.Log("DeleteRecData recType=%s, count=%s" % (recType, recordCount))
-
+ CrossBoss.g_bossRecDataDict = {} # 需要清除,不然会导致跨服boss通用记录缓存对象错误
+
#清 家族
familyList = []
familyMgr = GameWorld.GetFamilyManager()
@@ -1412,6 +1423,8 @@
# 跨服PK
CrossRealmPK.OnMapServerInitOK()
+ # 本服竞技场
+ GameWorldArena.SendMapServerArenaInfo()
SendAllMapGlobalDropInfo() # 全局掉落控制
@@ -1835,20 +1848,12 @@
if mapServerPack.GetState() not in [0,1,2,3] and curMap.GetState() != mapServerPack.GetState():
# 记录服务器是否正常开启完毕, 避免重复发送
GameWorld.DebugLog("MapServer_RunningStateRefresh--_%s"%([mapServerPack.GetState(), curMap.GetState(), mapServerPack.GetMapID(), curMap.GetID()]))
- SendGameError("MapError")
+ GameWorld.SendGameError("MapError")
curMap.SetState(mapServerPack.GetState())
curMap.SetRefreshTick(tick)
return
-
-
-def SendGameError(state):
- getUrl = ReadChConfig.GetPyMongoConfig("EventReport", "OpenStateUrl")
- groupID = ReadChConfig.GetPyMongoConfig("platform", "GroupID")
- userDBName = ReadChConfig.GetPyMongoConfig("connect", "USER_DB_NAME")
- getUrl = getUrl + "?Type=%s&groupID=%s&userDBName=%s"%(state, groupID, userDBName)
- GameWorld.GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl)
## 刷新地图服务器状态, 如果1分钟没有状态回报, 刷新为消失状态
# @param tick 当前时间
@@ -1876,7 +1881,7 @@
curMap.SetState(IPY_GameServer.mssNone)
if not isSendMapClose:
# 避免多地图发送过多邮件, 如关服的时候
- SendGameError("MapDisconnect") # 状态报告
+ GameWorld.SendGameError("MapDisconnect") # 状态报告
isSendMapClose = True
return
@@ -1926,6 +1931,9 @@
PlayerTeam.OnServerClose(tick)
ChPlayer.SavePlayerLVData()
PlayerFBHelpBattle.OnServerClose()
+ CrossActionControl.OnServerClose()
+ PlayerFamilyRedPacket.OnServerClose()
+ GameWorldArena.OnServerClose()
GameWorld.Log("通知C++关服!")
GameWorld.GetGameWorld().OnServerClose()
@@ -1933,6 +1941,6 @@
def ChangeGameServerState(state):
# 只接收大于等于mssPyError
GameWorld.DebugLog("ChangeGameServerState:%s"%state)
- SendGameError("GameServerError")
+ GameWorld.SendGameError("GameServerError")
\ No newline at end of file
--
Gitblit v1.8.0