hch
2025-10-14 ebe1da14210340e20f950409d450ca77e0a3166b
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
ÿóíhc@s®ddlZddlTddlTddlZddlZddljZddlmZm    Z    ddl
m Z m Z ddl mZmZmZmZddlmZmZmZmZmZmZddlTddl mZddlmZed    ƒZddlZddl Tdd
l!m"Z"dd l#m$Z$dd l%m&Z&d dddddgZ'dZ(dZ)dZ*d„Z+dejfd„ƒYZ,d„Z-e.dkrªe-ƒndS(iÿÿÿÿN(t*(terrort DBController(tCommFunctmylog(tRecvPackProtocoltSendPackProtocoltMergeServerRecvProtocoltMergeServerSendProtocol(tgetADOExceptionCounttgetSIDErrorCnttaddADOExceptionCounttseqtfix_outgoingTexttfix_incomingText(t
MMORPGPack(t ServersConfigsConfig.DBConfig(t MongoDBServer(tProjSpecialProcess(tCommandstweekdaytyeartmonthtdaythourtminuteiicCsÃx¼ttƒD]®\}}||dkr/q nt||ƒtkrHdSt||ƒ}t|ƒtkr|ƒd}|||kr dSq n|||kr¦q n|||krºtStSWt    S(Ns-i(
t    enumeratetATTR_CALL_TIMEthasattrtTruetgetattrttypetinttDef_Cmp_Greatert Def_Cmp_Lowert Def_Cmp_Equ(tcurTimettimeInfotindextcallObjt
curCallObjtwday((s.\\LogicProcess\UserCtrlDB.pytCompareActTime.s" t
UserCtrlDBcBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    RS(cCsÃtjj|dd|ƒtjtjtjf|jdd<|jtj    tj
ƒ|j tj tj tjƒtjr‰tjƒ|_ntjtjƒ|_d|_tƒ|_tƒ|_dS(NR+ii(tCtrlDBt__init__t CommonDefinetgstQueryServerIDInfotgstRefreshRouteServerStatetgstNotifyCloseServertpriorityQueueListt    setServertDBConfigt
USER_DB_IPt USER_DB_PORTt setDataBaset USER_DB_NAMEt userdb_usert
userdb_pwdtbase64RtBase64StringManipulatort
translatortEncodeStringManipulatortencodingt    loginHeapttimetloginStartTimetlastCleanMergePlayerTime(tselft    ctrlDBMgr((s.\\LogicProcess\UserCtrlDB.pyR-Ms          cCstjstt_ndS(N(t
PyGameDatatg_UserCtrlDBFirstInitR(RDtdb((s.\\LogicProcess\UserCtrlDB.pyt onConnectedOKbs     c    Cs›tjƒ}|jddƒ}d}d}d}tj||ƒ}tj||ƒ}tj|t|ƒ|ƒ}|j|||t    j
t j t j |ƒdS(Nt RouteServeriiÿÿÿÿt(Rt getServerMgrtgetClientSessionIDByNameRt    WriteBYTEt
WriteDWORDt WriteStringtlentpackSendBySessionIDR.t atWorldLogicRtstMapt stCenterGate(    RDtpackTypetmapIDtbuft    ServerMgrtsendViaSessionIDt    SessionIDt    PoolIndextpackBuf((s.\\LogicProcess\UserCtrlDB.pyt sendMapStringjs  cCsV|j|jƒ|jƒj|jƒj|jƒj|jƒj|jƒj|ƒdS(N(tpackSendt getSessionIDt getPackHeadt    sessionIDt    poolIndexRt
srcSvrTypet
dstSvrType(RDt
fromPacketR]((s.\\LogicProcess\UserCtrlDB.pyt
sendString{s3cCs\tjƒ}|jddƒ}d}d}|j|||tjtjtj|j    ƒƒdS(NRJiiÿÿÿÿ(
RRLRMRRR.tatInnerRtstRouteRUt    GetBuffer(RDtsendPackRYRZR[R\((s.\\LogicProcess\UserCtrlDB.pyt SendRoutePack€s  cCsd}tj|jƒ|ƒ\}}tjd|ƒ|tjkr{|jdƒ}|jƒ|j    ||ƒ|j
ƒt S|tj kr±|jdƒ}|jƒ|j
ƒt S|tj kråtjdƒtjƒtjƒt Stjd|jƒƒt S(Nisbegin process request type = %dR/s/taskkill /f /t  /FI "IMAGENAME eq EventServer*"s%s not processed!(RtReadBYTEt    getBufferRtdebugR.R/t GetFuncGradetStarttOnQueryServerInfotEndRR0R1tostsystemRtCallStoptCallExittwarningt outputString(RDRHtpacktpost requestTypet
oFuncGrade((s.\\LogicProcess\UserCtrlDB.pytrequestLogicProcessŽs*
 
 
 
 
 
cCs¦tjdƒtjƒ}tj|_tjƒ}t    |ƒ|_
g|_ x@|D]8}tj ƒ}||_ |||_|j j|ƒqPW|j||jƒƒdS(NsOnQueryServerInfo in(RRoRttagDRServerIDToMapIDR.tdgServerIDToMapIDtTypeRtGetServerDictByTheGroupNammeRQtCountt
ServerInfot tagSeverInfotServerIDtMapIDtappendRgRj(RDRHRzRkt
serverDicttkeyt    severInfo((s.\\LogicProcess\UserCtrlDB.pyRr°s               cCs§tjdƒtjƒtjƒ}tj|_tj    ƒ}t
|ƒ|_ g|_ x@|D]8}tj ƒ}||_|||_|j j|ƒqZW|j|ƒdS(NtNotifyRouteServerInfo(RRoRtReloadServerIDToMapIDDictRRR.R€RR‚RQRƒR„R…R†R‡RˆRl(RDRkR‰RŠR‹((s.\\LogicProcess\UserCtrlDB.pyRŒÅs 
              (
t__name__t
__module__R-RIR^RgRlR~RrRŒ(((s.\\LogicProcess\UserCtrlDB.pyR+Ls                        "    cCsddl}|jdƒdS(Niÿÿÿÿtpause(RtRu(Rt((s.\\LogicProcess\UserCtrlDB.pyttestßs t__main__(/RtRAtbinasciiR,RFtDBCommon.CommonDefineR.tDBCommonRRtCommonRRtProtocolRRRRt MangoDBCommonR    R
R R R RtServerClientShareDefineRtConfigRt
__import__R4t    tracebacktCollections.CollectionDefinetNetRtGMToolLogicProcessRtCmdShellRRR"R#R!R*R+R‘RŽ(((s.\\LogicProcess\UserCtrlDB.pyt<module>s6 
 
  ".
 
     “