1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
z]$hc@s6ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    dZ
dZ e a idd6dd6Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zdefd„ƒYZd„Zd„Zd„Zd„Zd„Zd„ZdS(iÿÿÿÿNsC:\ServerRealTimeBackups.bakiWi'iYij'cCstjdƒtƒdS(NsµØÍ¼·þÎñÆ÷Æô¶¯(t    GameWorldtDebugLogtLoadServerDataBackup(((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyt OnServerStart(s cCsdS(N((((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyt OnServerClose-scCs!|j}tƒtj|ƒdS(N(tminutetServerDataBackuptDBFamilytOnMinute(tcurTimet    curMinute((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyR0s     cCs´g}x—tj|ƒD]†\}}}xt|D]l}|jtƒsGq,ntjj||ƒ}tj||jdƒ j    dƒdƒ}|j
||gƒq,WqW|j dt ƒ|S(Ns.t_itreverse( tostwalktendswitht BakFileTypetpathtjoinRtToIntDeftindextsplittappendtsorttTrue(tbakPatht bakFileListtparentR t    filenamestfilenametfullPathtbakTime((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pytGetBakFileSortList7s )c    Cs    tjƒjƒ}|tkr"dSdt|}tjjt|ƒ}tjd|ƒt    |ƒ}|sytjdƒdS|dd}tjd|ƒt
|dƒ}|j ƒj ƒ}|j ƒy"tj|ƒ}tj|ƒ}Wnta‚nXt|dƒdS(NsS%ss ¼ÓÔØ±¸µµ: %ss ²»´æÔÚ±¸µµ!iis ¶ÁÈ¡±¸µµ: %strb(RtGetMaptGetMapIDt Map2ServerIDR RRtBakRoottLogR topentreadtstriptclosetzlibt
decompresstbinasciita2b_hexRt    g_loadErrtLoadPyGameData(    tmapIDt
serverNametBakDirRt bakFilePathtftcompressed_datatdecompressed_datatbakData((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRDs.   
 c Cs™trtjdƒdStjƒjƒ}|tkr9dSdt|}tjjt    |ƒ}d}tj
d|ƒtjj |ƒs•tj |ƒnt tjƒƒ}tjj|d||tfƒ}tƒ}tj
d|t|ƒ|fƒyStj|dƒ}tj
dt|ƒƒt|d    ƒ}|j|ƒ|jƒWndSXt|ƒ}    x6|    |D]*\}
} tj| ƒtj
d
| ƒqgWdS( Ns ¼ÓÔØ±¸µµÒÑÒì³££¬ÔÝʱ²»ÔÚ´æ´¢±¸µµsS%sis·þÎñÆ÷±¸µµ: %ss%s_%s%ssBak:%s, len=%s, %si    scompress len=%stwbsɾ³ý¶àÓ౸µµÎļþ: %s(R/RtErrLogR"R#R$R RRR%R&texiststmakedirstintttimeRt GetSavePyDatatlenR+tcompressR'twriteR*R tremove( R1R2R3t BackupCopyMaxR    R4R8R6tfpRR tfilePath((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRbs:  "        cCsKtƒ}|jƒ}tjdt|ƒt|ƒfƒtj|ƒ}|S(NsGetSavePyData!! id = %s-%s(t GetDBDataMgrt GetSaveDataRR&tidR@R-tb2a_hex(t pyGameDataMgrtresult((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyR?‰s
     #cCsBtƒ}tjdt|ƒt|ƒfƒ|j||ƒ}|S(NsLoadPyGameData!!id = %s %s(RGRR&RIR@t LoadGameData(t
gameBuffertposRK((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyR0˜s    #tPyGameDataManagercBs#eZd„Zd„Zd„ZRS(cCs@tjƒ|_tjƒ|_tjƒ|_tjƒ|_dS(N(t DBEventTrigt EventTrigMgrtDBPlayerViewCachetPlayerViewCacheMgrRt    FamilyMgrtDBMailtMailMgr(tself((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyt__init__£s
cCsVd}||jjƒ7}||jjƒ7}||jjƒ7}||jjƒ7}|S(Nt(RRRHRTRURW(RXtbuff((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRHªs cCspt|ƒ}|jj|||ƒ}|jj|||ƒ}|jj|||ƒ}|jj|||ƒ}|S(N(R@RRR0RTRURW(RXRNROtdataslen((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRM²s  (t__name__t
__module__RYRHRM(((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRP¢s        cCs(tj}|s$tƒ}|t_n|S(N(t
PyGameDatatg_pyGameDataManagerRP(RK((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRGºs
         cCstƒ}|jS(N(RGRR(t    dbDataMgr((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pytGetEventTrigMgrÂs    cCstƒ}|jS(N(RGRT(Ra((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pytGetPlayerViewCacheMgrÇs    cCstƒ}|jS(N(RGRU(Ra((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyt GetFamilyMgrÌs    cCs tƒjƒS(N(RdtGetFamilyActionMgr(((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyReÑscCstƒ}|jS(N(RGRW(Ra((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyt
GetMailMgrÕs    (RR_RQRSRRVR-R>R+R R%RtFalseR/R$RRRR RRR?R0tobjectRPRGRbRcRdReRf(((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyt<module>s<          
                         '