From 19e0109ec1e936204cb85362d2e3f705b8b9554c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 03 十二月 2020 11:19:38 +0800
Subject: [PATCH] 8585 【主干】【BT】【长尾】【后端】竞技场(封包)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py | 32 ++++++++++++++++++++++++++++++--
1 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
index 40691df..87ef793 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
@@ -29,6 +29,11 @@
import ChConfig
import json
+import time
+
+def DoOnDayEx():
+ DelOutofTimeViewCacheData()
+ return
def IsSaveDBViewCache(playerID, playerLV):
## 是否保存基本的缓存数据
@@ -57,11 +62,30 @@
return False
+def DelOutofTimeViewCacheData():
+ ## 删除过期的查看缓存数据
+
+ curTime = int(time.time())
+ MaxTime = 30 * 3600 * 24 # 30天
+
+ pyViewCacheMgr = PyDataManager.GetPlayerViewCachePyManager()
+ playerViewCachePyDict = pyViewCacheMgr.playerViewCachePyDict
+ for playerID, viewCache in playerViewCachePyDict.items():
+
+ passTime = curTime - viewCache.OffTime
+ if passTime < MaxTime:
+ continue
+ if IsSaveAllViewCache(playerID):
+ continue
+ playerViewCachePyDict.pop(playerID)
+
+ return
+
def DeleteViewCache(playerID):
## 删除玩家缓存
pyViewCacheMgr = PyDataManager.GetPlayerViewCachePyManager()
playerViewCachePyDict = pyViewCacheMgr.playerViewCachePyDict
- playerViewCachePyDict.pop(playerID)
+ playerViewCachePyDict.pop(playerID, None)
GameWorld.DebugLog("删除查看缓存!", playerID)
return
@@ -239,7 +263,11 @@
answerPack.LV = cacheDict["LV"]
answerPack.RealmLV = cacheDict["RealmLV"]
answerPack.OnlineType = ChConfig.Def_Offline
- answerPack.ServerGroupID = cacheDict.get("ServerGroupID", 0)
+
+ if GameWorld.IsCrossServer():
+ answerPack.ServerGroupID = cacheDict.get("ServerGroupID", 0)
+ else:
+ answerPack.ServerGroupID = GameWorld.GetServerGroupID()
else:
answerPack.PlayerID = clientPack.PlayerID
answerPack.PlayerName = tagPlayer.GetName()
--
Gitblit v1.8.0