From ec68dabc97521a7706344e7d038e9f08462f4fe8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 16 十二月 2025 10:26:34 +0800
Subject: [PATCH] 16 卡牌服务端(删除多余备档报错防范;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/DBDataMgr.py |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/DBDataMgr.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/DBDataMgr.py
index c4ed296..d1cd307 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/DBDataMgr.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/DBDataMgr.py
@@ -24,6 +24,7 @@
 import DBPlayerViewCache
 import DBEventTrig
 import DBBillboard
+import DBFuncTeam
 import DBGameRec
 import DBFamily
 import DBMail
@@ -121,9 +122,9 @@
         GameWorld.Log("加载数据未完成,不存储备档")
         return
     curTime = int(time.time())
-    if saveToDB:
-        if curTime - PyGameData.g_lastRTBTime < BackupInterval * 60:
-            GameWorld.Log("备档冷却中!")
+    if not saveToDB:
+        if curTime > PyGameData.g_lastRTBTime and curTime - PyGameData.g_lastRTBTime < BackupInterval * 60:
+            #GameWorld.DebugLog("备档冷却中! 上次备档时间=%s" % (GameWorld.ChangeTimeNumToStr(PyGameData.g_lastRTBTime)))
             return
     
     serverID = GameWorld.GetGameWorld().GetServerID()
@@ -157,9 +158,12 @@
     # 删除多余备档
     for bakInfo in bakFileList[BackupCopyMax:]:
         filePath = bakInfo[-1]
-        os.remove(filePath)
-        GameWorld.Log("删除多余备档文件: %s" % filePath)
-        
+        try:
+            os.remove(filePath)
+            GameWorld.Log("删除多余备档文件: %s" % filePath)
+        except:
+            GameWorld.ErrLog("删除多余备档文件失败: %s" % filePath)
+            
     if saveToDB:
         SaveGameWorldDataToDB(saveData)
     return
@@ -220,6 +224,7 @@
         self.MailMgr = DBMail.MailMgr()
         self.FamilyMgr = DBFamily.FamilyMgr()
         self.GameRecMgr = DBGameRec.GameRecMgr()
+        self.FuncTeamMgr = DBFuncTeam.FuncTeamMgr()
         return
     
     def GetSaveData(self):
@@ -230,6 +235,7 @@
         buff += self.MailMgr.GetSaveData()
         buff += self.FamilyMgr.GetSaveData()
         buff += self.GameRecMgr.GetSaveData()
+        buff += self.FuncTeamMgr.GetSaveData()
         return buff
     
     def LoadGameData(self, gameBuffer, pos):
@@ -240,6 +246,7 @@
         pos = self.MailMgr.LoadPyGameData(gameBuffer, pos, dataslen)
         pos = self.FamilyMgr.LoadPyGameData(gameBuffer, pos, dataslen)
         pos = self.GameRecMgr.LoadPyGameData(gameBuffer, pos, dataslen)
+        pos = self.FuncTeamMgr.LoadPyGameData(gameBuffer, pos, dataslen)
         return pos
     
 def GetDBDataMgr():
@@ -284,3 +291,7 @@
     dbDataMgr = GetDBDataMgr()
     return dbDataMgr.GameRecMgr
 
+def GetFuncTeamMgr():
+    ## 功能队伍数据管理器
+    dbDataMgr = GetDBDataMgr()
+    return dbDataMgr.FuncTeamMgr

--
Gitblit v1.8.0