hxp
2023-09-27 e6062b42c1191e9ab95e000a38276634eff0e1f1
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -110,6 +110,7 @@
import PyDataManager
import GameWorldOpenServerCampaign
import CrossBillboard
import CrossChampionship
#---------------------------------------------------------------------
#---------------------------------------------------------------------
@@ -357,6 +358,7 @@
def GameWorldProcessOnMinute(curMinute, tick):
    # 每整分钟触发一次
    CheckServerHasPlayerLoginAfterInitOK()
    #检查服务器正式开服
    DoCheckNewServerOpen(tick)
    #回报数据库当前在线玩家数
@@ -368,6 +370,8 @@
    GameWorldActionControl.Dispose_FBStateTime()
    #跨服PK
    CrossRealmPK.OnMinuteProcess()
    #跨服排位
    CrossChampionship.OnMinuteProcess(curMinute)
    CrossBattlefield.OnMinuteProcess()
    #处理重开服务器后, 活动继续开启逻辑根据天数
    #GameWorldActionControl.Dispose_Action_GoOn_ByDay(tick)
@@ -384,6 +388,24 @@
        PlayerFamily.UpdFamilyTotalFightPower()
        PlayerFamilyRedPacket.CheckDelRedpacketData()
        
    return
def CheckServerHasPlayerLoginAfterInitOK():
    ## 检查服务器启动成功后是否有玩家正常登录
    initGameWorldTime = GameWorld.GetGameWorld().GetDictByKey(ChConfig.Def_WorldKey_IsGameWorldInit)
    if not initGameWorldTime:
        return
    if PyGameData.g_noPlayerLoginWarningMailState:
        return
    curTime = int(time.time())
    noPlayerLoginWarningTimes = IpyGameDataPY.GetFuncCfg("ServerEvent", 1) * 60 # x分钟没有玩家登录则预警
    if curTime - initGameWorldTime < noPlayerLoginWarningTimes:
        return
    GameWorld.SendGameError("NoPlayerLogin")
    PyGameData.g_noPlayerLoginWarningMailState = 1
    return
def OnReloadConfig():
@@ -1267,6 +1289,8 @@
    GameWorldArena.OnServerStart()
    #跨服PK
    CrossRealmPK.OnGameServerInitOK()
    #跨服排位
    CrossChampionship.OnServerStart()
    #跨服战场
    CrossBattlefield.OnServerStart()
    #红包
@@ -1981,6 +2005,7 @@
    ChPlayer.SavePlayerLVData()
    PlayerFBHelpBattle.OnServerClose()
    CrossActionControl.OnServerClose()
    CrossChampionship.OnServerClose()
    CrossBattlefield.OnServerClose()
    PlayerFamilyRedPacket.OnServerClose()
    CrossLuckyCloudBuy.OnServerClose()