|  |  |  | 
|---|
|  |  |  | import GameWorldAverageLv | 
|---|
|  |  |  | import PlayerDBOper | 
|---|
|  |  |  | import PlayerGeTui | 
|---|
|  |  |  | #import PlayerManorWar | 
|---|
|  |  |  | import GameWorldBoss | 
|---|
|  |  |  | #import HighLadder | 
|---|
|  |  |  | import PlayerCompensation | 
|---|
|  |  |  | import ReadChConfig | 
|---|
|  |  |  | import EventReport | 
|---|
|  |  |  | 
|---|
|  |  |  | import CrossRealmPlayer | 
|---|
|  |  |  | import PlayerFBHelpBattle | 
|---|
|  |  |  | import PlayerFamilyRedPacket | 
|---|
|  |  |  | import PlayerFairyDomain | 
|---|
|  |  |  | import IpyGameDataPY | 
|---|
|  |  |  | import PlayerFamilyParty | 
|---|
|  |  |  | import GameWorldFamilyWar | 
|---|
|  |  |  | 
|---|
|  |  |  | GameWorld.Log("GameServer -> OnHour!") | 
|---|
|  |  |  | PlayerEventCounter.DoLogic_GameServer_OnHour(tick) | 
|---|
|  |  |  | GameWorld.GetGameWorld().OnHour(curTimeStr) | 
|---|
|  |  |  | #每小时更新天梯 | 
|---|
|  |  |  | #HighLadder.OnHour() | 
|---|
|  |  |  | #设置存取数据库Key | 
|---|
|  |  |  | __SetWorldKey_SavePlayer(curTimeStr) | 
|---|
|  |  |  | #每小时清空宝物掉落 | 
|---|
|  |  |  | 
|---|
|  |  |  | GameLogInfo.Set_Server_Hour() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | PlayerFamily.FamilyOnHour() | 
|---|
|  |  |  | ChPlayer.CheckOnedayJobPlayerLoginoffTimeout() | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ## 触发每日事件(参数 -> 当前时间) | 
|---|
|  |  |  | 
|---|
|  |  |  | #  @remarks 函数详细说明. | 
|---|
|  |  |  | def OnDay(curTimeStr, tick): | 
|---|
|  |  |  | GameWorld.Log("GameServer -> OnDay!") | 
|---|
|  |  |  | #天梯竞技场,放在排行榜更新之前处理 | 
|---|
|  |  |  | #HighLadder.OnDay() | 
|---|
|  |  |  | #排行榜拷贝昨日榜单 | 
|---|
|  |  |  | PlayerBillboard.CopyBillboardOnDay() | 
|---|
|  |  |  | #开服活动,放在排行榜拷贝昨日榜更新后处理 | 
|---|
|  |  |  | 
|---|
|  |  |  | PlayerDBOper.PyDBProccess(tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #拍卖行 | 
|---|
|  |  |  | AuctionHouse.OnAuctionItemTimeProcess(curTime) | 
|---|
|  |  |  | AuctionHouse.OnAuctionItemTimeProcess(curTime, tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #每整分钟处理一次 | 
|---|
|  |  |  | curDateTime = datetime.datetime.today() | 
|---|
|  |  |  | 
|---|
|  |  |  | GameWorldAverageLv.OpenWorldAverageLv() | 
|---|
|  |  |  | #倒计时离队处理 | 
|---|
|  |  |  | PlayerTeam.DoCountdownLeaveTeamLogic(tick) | 
|---|
|  |  |  | #副本助战 | 
|---|
|  |  |  | PlayerFBHelpBattle.OnMinuteProcess() | 
|---|
|  |  |  | #红包 | 
|---|
|  |  |  | PlayerFamilyRedPacket.OnRedPacketMinuteProcess() | 
|---|
|  |  |  | #拍卖行 | 
|---|
|  |  |  | AuctionHouse.OnAuctionItemMinuteProcess(tick) | 
|---|
|  |  |  | #每5分钟触发一次仙盟总战力更新 | 
|---|
|  |  |  | if curMinute % 5 == 0: | 
|---|
|  |  |  | PlayerFamily.UpdFamilyTotalFightPower() | 
|---|
|  |  |  | 
|---|
|  |  |  | GameWorld.Log("服务器启动成功: ServerGroupID=%s" % serverGroupID) | 
|---|
|  |  |  | GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_GameWorldInitOK, 1) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | AuctionHouse.OnGameServerInitOK() | 
|---|
|  |  |  | # 注意:跨服相关信息的调用需放在最后,不然可能导致服务器未启动功能或者功能未加载成功导致跨服服务器与子服之间的数据同步可能出现异常的情况 | 
|---|
|  |  |  | CrossRealmMsg.OnGameServerInitOK() | 
|---|
|  |  |  | return | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 仙盟联赛 | 
|---|
|  |  |  | GameWorldFamilyWar.OnMapServerInitOK() | 
|---|
|  |  |  | # 领地争夺战 | 
|---|
|  |  |  | #PlayerManorWar.OnMapServerInitOK() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 跨服服务器状态 | 
|---|
|  |  |  | isCrossServerOpen = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossServerOpen) | 
|---|
|  |  |  | 
|---|
|  |  |  | SendMapCommMapLinePlayerCount(True) # 同步一次普通地图线路人数信息 | 
|---|
|  |  |  | #随机假仙盟 | 
|---|
|  |  |  | PlayerFamily.RandomFakeFamily() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #缥缈仙域 | 
|---|
|  |  |  | PlayerFairyDomain.OnMapServerInitOK() | 
|---|
|  |  |  | # 记录服务器是否正常开启完毕 | 
|---|
|  |  |  | getUrl = ReadChConfig.GetPyMongoConfig("EventReport", "OpenStateUrl") + "?Type=MapInit&MapCount=%s"%GameWorld.GetGameWorld().GetGameMapManager().GetCount() | 
|---|
|  |  |  | GameWorld.GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl) | 
|---|