1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Ô2,hc@s1ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    dZ
dZ dZ e ad„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd efd„ƒYZd„Zd„Zd„Zd„Zd„Zd„Zd„ZdS(iÿÿÿÿNsC:\ServerRealTimeBackups.bakicCstjdƒ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)scCstƒtjƒtjƒdS(N(tServerDataBackuptDBFamilytOnMinutet DBBillboard(tcurTime((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyR,s
 
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.pytGetBakFileSortList4s )cCsÛtjƒjƒ}d|}tjjt|ƒ}tjd|ƒt|ƒ}|setjdƒdS|dd}tjd|ƒt    |dƒ}|j
ƒ}|j ƒt j |ƒ}|sÊta‚nt|dƒdS(NsS%ss ¼ÓÔØ±¸µµ: %ss ²»´æÔÚ±¸µµ!iis ¶ÁÈ¡±¸µµ: %strb(Rt GetGameWorldt GetServerIDR RRtBakRoottLogRtopentreadtclosetCommFunct
DecompressRt    g_loadErrtLoadPyGameData(tserverIDt
serverNametBakDirRt bakFilePathtftcompressed_datatbakData((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRAs&
 
 c Cs“trtjdƒdStjƒjƒ}d|}tjjt|ƒ}tj    d|ƒtjj
|ƒs{tj |ƒnt t j ƒƒ}tjj|d||tfƒ}tƒ}tj    d|t|ƒ|fƒtj|ƒ}|sþtjdƒdStj    dt|ƒƒy*t|dƒ}|j|ƒ|jƒWndSXt|ƒ}x6|tD]*\}    }
tj|
ƒtj    d    |
ƒqaWdS(
Ns<¼ÓÔØ±¸µµÒÑÒì³££¬ÔÝʱ²»ÔÙ´æ´¢±¸µµ£¬·ÀÖ¹ÒѾ­´íÎó¼ÓÔØµÄÊý¾Ý¸²¸ÇsS%ss·þÎñÆ÷±¸µµ: %ss%s_%s%ssBak:%s, len=%s, %stServerDataBackupErrorscompress len=%stwbsɾ³ý¶àÓ౸µµÎļþ: %s(R*RtErrLogR!R"R RRR#R$texiststmakedirstintttimeRt GetSavePyDatatlenR(tCompresst SendGameErrorR%twriteR'Rt BackupCopyMaxtremove( R,R-R.R    R/R2R1tfpRR
tfilePath((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyR[s: 
"         cCs<tƒ}|jƒ}tjdt|ƒt|ƒfƒ|S(NsGetSavePyData!! id = %s-%s(t GetDBDataMgrt GetSaveDataRR$tidR;(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(RCRR$RER;t LoadGameData(t
gameBuffertposRF((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyR+s    #tPyGameDataManagercBs#eZd„Zd„Zd„ZRS(cCsOtjƒ|_tjƒ|_tjƒ|_tjƒ|_tj    ƒ|_    dS(N(
t DBEventTrigt EventTrigMgrtDBPlayerViewCachetPlayerViewCacheMgrRt    FamilyMgrtDBMailtMailMgrRt BillboardMgr(tself((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyt__init__˜s cCsid}||jjƒ7}||jjƒ7}||jjƒ7}||jjƒ7}||jjƒ7}|S(Nt(RMRDRORPRRRS(RTtbuff((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRD scCsˆt|ƒ}|jj|||ƒ}|jj|||ƒ}|jj|||ƒ}|jj|||ƒ}|jj|||ƒ}|S(N(R;RMR+RORPRRRS(RTRIRJtdataslen((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRH©s (t__name__t
__module__RURDRH(((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRK—s            cCs(tj}|s$tƒ}|t_n|S(N(t
PyGameDatatg_pyGameDataManagerRK(RF((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRC²s
         cCstƒ}|jS(N(RCRM(t    dbDataMgr((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pytGetEventTrigMgrºs    cCstƒ}|jS(N(RCRO(R]((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pytGetPlayerViewCacheMgr¿s    cCstƒ}|jS(N(RCRP(R]((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyt GetFamilyMgrÄs    cCs tƒjƒS(N(R`tGetFamilyActionMgr(((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyRaÉscCstƒ}|jS(N(RCRR(R]((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyt
GetMailMgrÍs    cCstƒ}|jS(N(RCRS(R]((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pytGetBillboardMgrÒs    ( R(RR[RLRNRRRQR9R R#RR?tFalseR*RRRRRRR:R+tobjectRKRCR^R_R`RaRbRc(((sdD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\DB\DBDataMgr.pyt<module>s:                                   (