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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
v-9hc@s/ddlZddlZddlmZmZddlmZddlZddlZddl    Z    ddl
Z
ddl m Z m Z mZmZmZmZddlmZddlmZmZddlZddlmZmZmZmZmZddlmZm Z ddl!Z!ddl"Z"dd    lm#Z#m$Z$dd
l%m&Z&dd l m'Z'ddl(Z(ddl)Z)ddl*Z*dd l+m,Z,m-Z-ddl.Z.e/d ƒZ0dZ1dZ2yddl3Z3Wne4k
rçddl5Z3nXd„Z6d„Z7d„Z8d„Z9d„Z:e;dkr+e:ƒndS(iÿÿÿÿN(tkbhittgetch(tsleep(tmylogt ConsoleCtrltTimertConsolePrintMgrtCommFunct
CommFuncEx(t MongoDBServer(t CtrlDBManagert
UserCtrlDB(t CommonDefinetGlobalFunctionstSingletonObjecttEnvChecktStat(tRecvPackProtocolt
MMORPGPack(terrortGlobalVarDefine(tCheckAndUpdateIndex(tFileLog(tCommandst ReloadModulesConfig.DBConfigiic Cs tjdƒtjƒ}|jddƒ|jƒ\}}d}djgt|ƒD] }d^qTƒ}tj    ƒr‚dGH|GHndt
j GHdt j GHdGHtjƒGH|GHtjƒ}|rd    t|ƒGHxKtt|ƒƒD]4}||}d
||jƒ|j|jƒfGHqãWn|GHtjƒjd ƒ}d |jƒGHd |jƒGH|GHtjƒ}    d|    jƒ|    jƒfGHd|    jƒ|    jƒfGHxˆt|    jƒƒD]t}|    j |ƒ}
d|
jƒ|
j!ƒ|
j"fGHx;t|
j#ƒƒD]'} d|
jƒ| |
j$| ƒfGHqùWq°Wdt%j&ƒj't%j&ƒj(fGHdt%j&ƒj)GHdt%j&ƒj*GHdt%j&ƒj+GHdt%j&ƒj,GHdt%j&ƒj-GHdt%j&ƒj.GHdt%j&ƒj/GHdt%j&ƒj0GH|GHdt1j2ƒj3ƒGHdt1j2ƒj4ƒGHdS(Ntclsis-ts>>>Runing Debug Version Now<<<spython version = %sspymongo version = %ssStatus:s Threads(%s):s%2s    %20s(%s)    %st RouteServersrecv pack queue    %sssend pack queue    %ss%s request queue %ss%s answer queue %ss%s state %s BlockCnt %ss%s queue[%s]    %ssSendBytes = %s, RecvBytes = %sspackDispatchThreadCount = %ssMerge_packDispatchCount = %ssLogicProcessCount = %ssDBProcessCount = %ssDBProcessTime = %ssasyncoreLoopTime = %sspackDispatchThreadTime = %sslogicProcessThread = %ssPackPoolCount = %ssPackPoolAllocCount = %s(5tostsystemRtGetDCCtGotoXYt GetWindowSizetjointrangeR tIsDebugtsyst version_infotpymongotversionRtgetLogStaticDictt    threadingt    enumeratetlentgetNametidenttisAliveR    t getServerMgrt    GetServert recvQueueCntt sendQueueSizeR
t
getCtrlMgrtdbRequestQueueCnttdbAnswerQueueCntt getCtrlDBCntt    getCtrlDBtgetStatetBlockCnttgetPrioorityQueueCnttgetPriorityQueueSizeRtGetStatt    SendBytest    RecvBytestpackDispatchThreadCounttMerge_packDispatchCounttLogicProcessCounttDBProcessCountt DBProcessTimetasyncoreLoopTimetpackDispatchThreadTimetlogicProcessThreadRt getPackPooltcountt getAllocCnt( tconsoletconsoleWinWidthtconsoleWinHeightt    splitChartit    splitLinet
threadListt    threadObjt    serverObjtctrlMgrtctrlDBtj((s.\\ServersRoute\main.pytupdateServerStatusKsZ  (     
+ !)!cCstjƒdS(N(tPegasusCollectorProxyt ErrorReport(tmsg((s.\\ServersRoute\main.pyt OnPythonError‘scCs”d}tjj|ƒs(tj|ƒntj|dƒtjj|dƒ}tj|dt    j
ƒƒtj dƒtj d|t    j
ƒfƒdS(s
ÈÕÖ¾³õʼ»¯s C:\ServerLogttxtsMongoDBServer.txtsU-------------------------------------------------------------------------------------s-Initialize log ok!log file = %s, isdebug = %sN( RtpathtexiststmakedirsRt
InitializeR!Rt    InitMyLogR R#tinfo(tlogPatht logFileName((s.\\ServersRoute\main.pytInitLog”s cCsotjdƒtjdƒtjƒ\}}|sQtjd|ƒtdƒdStjdƒtjdƒdS(NsU-------------------------------------------------------------------------------------sInitializing console window...s)Disable system menu failed!errorInfo = %siÿÿÿÿsInitialize console window ok!(RRaRtSetConsoleWindowtexit(tresultt    errorInfo((s.\\ServersRoute\main.pytInitConsoleWindow¤s  
 cCs¨tjtjƒtƒtjƒtjƒtj    dt
j ƒtj    dt j ƒtƒtjƒtt_tj    dƒtj    dtjtjfƒtjtjtjtjtjƒs tjdtjdtjtjtjtjfƒ}tj|tƒtdƒdStj    dƒtjƒtj    dƒyútj ƒ}tjd    ƒ}|j!d
|ƒtjƒ}|j!d |ƒtj"}|r¯tjdt#ƒ}|j!d |ƒnt$j%ƒ}t&j&|ƒ}|j'|ƒt(j(|ƒ}|t)_*t+j+|||ƒ}    t+j+|||ƒ}
|rLt,j(d |ƒ} t-j+d||| ƒ} ntjtj.ƒtj    dƒ|j/tj0dƒ|j/tj1dƒ|r«|j/tj2dƒnt3j4tƒt3j5t#ƒtjtj6ƒtj    dƒtj    dƒt7j8j9j:dƒt;j;dt<ttƒ} t#}tj=ƒt>j?dƒd}xêt3j@ƒr)tAjBƒ}tCjDdt#dd    ƒtAjBƒ|tFjGƒ_HtAjBƒ}|    jIƒtAjBƒ|tFjGƒ_J|rÉ| jIƒn|
jIƒtAjBƒ}|jIƒtAjBƒ|tFjGƒ_K|r| jIƒntAjBƒ}|jIƒtAjBƒ|tFjGƒ_L|jMƒ|sa| jNƒntOƒr@tPƒ}|dkr…q@nt}t
jQjR|ƒ||7}|jSdƒdkrÀq@n|jTƒ}|jUƒ}d}tV|ƒdkr|d}|d    }nt3jW||ƒd}t#}q@q@WWnˆtXjk
rv}tjdtjYd|ƒ}tjZ|ƒt3j[ƒn@tjdtj\dt]j^ƒƒ}tjZ|ƒt3j[ƒnX|j_ƒtjtjƒt>j?dƒdGHd}x¹t3j`ƒs£tOƒrëtPƒ}|dkrqënt
jQjR|ƒ||7}|jSdƒdkrPqën|jaddƒ}|dkr{tbƒqëndGHd}t>j?dƒtcdƒqëqëWdS(Nspython version = %sspymongo version = %ssU-------------------------------------------------------------------------------------slogin on user db %s:%s...t DeployErrors:LoginMongoDB failed:ip = %s, port = %s, user = %s,pwd = %siÿÿÿÿslogin on user db ok!iRtGMTooltMergetmergeServerLogicProcessThreadtMergeServer_PackDispatchis4MongoDBServer start OK!You can open RouteServer now!t ServersRouteiRRgð?is itfatalssocket error!err = %ssunknown err = %sspress'exit' to ExitRfgü©ñÒMbP?(dR tsetServerStateR tmssNoneRdRRtInitRRaR$R%R&R'RiRWtInitCollectorDllRZtDBConfigt
USER_DB_IPt USER_DB_PORTt LoginMongoDBt userdb_usert
userdb_pwdRt    formatMsgt ERROR_NO_13RjtTrueRfRR    R/t    AddServert IsMergeServertFalseR
R3R t    addCtrlDBtLogicProcessThreadRtg_logicProcessThreadtPackDispatchThreadtMergeServer_LogicProcessRnt
mssInitingtstartt PyMongoDBPorttPyMongoDBPort_GMTooltMergeServerPortRt    setActivet
setCanExitt
mssRunningtctypestwindlltkernel32tSetConsoleTitleARRVtremoveConsoleHandlerRRtisActivettimeitt default_timertasyncoretlooptNoneRR<RDtrunRERFRCtprocessAllSendQueuetTickRRtstdouttwritetfindtstriptsplitR+t
processCmdtsockett ERROR_NO_16RptCallExitt ERROR_NO_17t    tracebackt
format_exctstopt    isCanExittreplacetExitR(RYt    ServerMgrRRtGMToolServerObjt isMergeServertMergeServerObjt    ctrlDBMgrt    usrCtrlDBRFtpackDispatchThreadtGMTool_packDispatchThreadRmtMerge_packDispatchThreadttmrUpdateServerStatustpauseUpdateServerStatusTimertusrCmdttickthitChartcmdListtusrParamte((s.\\ServersRoute\main.pytmain¯sú
 
 
     $4
 
                  
 
 
 
 
 
          
 
   " 
          
  t__main__(<R$RtmsvcrtRRttimeRR–R¦R¢RŽtCommonRRRRRRtNetR    t LogicProcessR
R R„tDBCommonR R RRRtProtocolRRR‚R&RRt CollectionsRRRnR…R”tCmdShellRRRWt
__import__Rut    ssClosingtssClosedR)t ImportErrortdummy_threadingRVRZRdRiR½t__name__(((s.\\ServersRoute\main.pyt<module>sJ      . (            F                 Æ