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
    š­gc@sbddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl!Z!ddl"Z"ddl#Z#ddl$Z$ddl%Z%ej&ej'gZ(ej)ej*gZ+d„Z,d„Z-d„Z.dd„Z/d„Z0d„Z1d    „Z2dd
„Z4d „Z5d „Z6d „Z7d„Z8dS(iÿÿÿÿNcCsytjƒrdS|sdS|tjgkrbtjƒjtjƒ}|sbtjd|ƒdSni|d6|d6tjƒd6}t    j
|dƒ}tjƒjt j ƒsÂtj d|ƒdS|tkrBd}t|tƒr|jddƒ}|s|jd    dƒ}qntt|ƒƒ}tjd
|||fƒntjd ||fƒtjƒj|t|ƒƒdS( Ns>¿ç·þ·þÎñÆ÷먦Æô»òά»¤Öв»·¢ËÍÏûÏ¢! SendMsgToCrossServer => %stMsgTypetDatat ServerGroupIDis-·þÎñÆ÷δÆô¶¯ºÃ,²»ÔÊÐíÏò¿ç·þ·þÎñÆ÷·¢ËÍÊý¾Ý! %sitplayerIDtPlayerIDs1SendMsgToCrossServer => %s, playerID=%s,msgLen=%ssSendMsgToCrossServer => %s, %s(t    GameWorldt IsCrossServert ShareDefinetClientServerMsg_ServerInitOKt GetGameWorldt GetDictByKeyt#Def_Notify_WorldKey_CrossServerOpentLogtGetServerGroupIDtcPickletdumpstChConfigtDef_WorldKey_GameWorldInitOKtErrLogt ClientServerMsg_ShortLogTypeListt
isinstancetdicttgettlentstrt!SendMergerChildToCenterStringData(tmsgTypetdataMsgtisOpentsrcMsgtsendMsgRtmsgLen((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pytSendMsgToCrossServer>s2 ! cCsMy"tjƒjtjƒs,tjdƒdStj|ƒ}|jddƒ}|jddƒ}|jddƒ}|t    krôd}t
|t ƒrÂ|jddƒ}|sÂ|jd    dƒ}qÂnt t |ƒƒ}tjd
||||fƒntjd |||fƒ|tjkr3tj|||ƒnî|tjkrXtj|||ƒnÉ|tjkrztj||ƒn§|tjkrœtj||ƒn…|tjkr¾tj||ƒnc|tjkràtj||ƒnA|tjkrtj|||ƒn|tjkr*tj|||ƒn÷|tjkrLtj||ƒnÕ|tjkrntj||ƒn³|tj krt ||ƒn”|tj!kr¯t"j!||ƒnr|tj#krÑt"j#||ƒnP|tj$krót%j$||ƒn.|tj&krt%j&||ƒn |tj'kr7t(j'||ƒnê|tj)kr\t*j)|||ƒnÅ|tj+krxt,|ƒn©|tj-kr”t.|ƒn|tj/kr¹t0j/|||ƒnh|tj1krÛt2j1||ƒnF|tj3krýt2j3||ƒn$|tj4krt2j4||ƒn|tj5krAt2j5||ƒnà|tj6krct7j6||ƒn¾|tj8kr…t7j8||ƒnœ|tj9kr§t7j9||ƒnz|tj:krÉt7j:||ƒnX|tj;krët7j;||ƒn6|tj<kr t7j<||ƒn|tj=kr/t7j=||ƒnò|tj>krQt7j>||ƒnÐ|tj?krst@j?||ƒn®|tjAkr•tBjA||ƒnŒ|tjCkr·tDjC||ƒnj|tjEkrÙtFjE||ƒnH|tjGkrûtHjG||ƒn&|tjIkrtJjI||ƒn|tjKkr?tLjK||ƒnâ|tjMkratNjM||ƒnÀ|tjOkrƒtNjO||ƒnž|tjPkr¥tNjP||ƒn||tjQkrÇtNjQ||ƒnZ|tjRkrétSjR||ƒn8|tjTtjUgkrtV|||ƒn tjWd ƒWn$tjXd t tYjZƒƒƒnXdS(Ns·þÎñÆ÷δÆô¶¯ºÃ£¬²»´¦Àí×Ó·þÐÅÏ¢!RiÿÿÿÿRtRiRRsCOnCrossServerReceiveMsg: %s, serverGroupID=%s,playerID=%s,msgLen=%ss1OnCrossServerReceiveMsg: %s, serverGroupID=%s, %ssûÓиÃÐÅÏ¢ÀàÐÍÂß¼­´¦Àí£¡s¿ç·þ·þÎñÆ÷½ÓÊÕÐÅÏ¢´¦Àí±¨´í 
%s([RR    R
RRR RtloadsRRRRRRRtClientServerMsg_PKMatcht CrossRealmPKtClientServerMsg_PKOvertClientServerMsg_PKBillboardtClientServerMsg_LuckyCloudBuytCrossLuckyCloudBuytClientServerMsg_QueryBillboardtCrossBillboardtClientServerMsg_UpdateBillboardtClientServerMsg_MailContenttPlayerCompensationtClientServerMsg_ChatCrossWorldt
PlayerTalktClientServerMsg_PlayerLoginouttChPlayertClientServerMsg_GMCMDtGMShellRtClientServerMsg_ViewPlayerCachetPlayerViewCachetClientServerMsg_PushPlayerCachet'ClientServerMsg_PullOtherPlayerPackDatatPlayerPackDatatClientServerMsg_PlayerPackDatatClientServerMsg_QueryNPCInfot PlayerQuerytClientServerMsg_EnterFBtPlayerFBt"ClientServerMsg_SetPlayerAttrValuet!MapServer_CrossSetPlayerAttrValuetClientServerMsg_AddBufftMapServer_CrossAddBufftClientServerMsg_CrossAssistt PlayerAssistt"ClientServerMsg_BattlefieldBuyOpentCrossBattlefieldt#ClientServerMsg_BattlefieldCallJoint#ClientServerMsg_BattlefieldCallKickt%ClientServerMsg_BattlefieldCallChanget"ClientServerMsg_ChampionshipPKOvertCrossChampionshipt)ClientServerMsg_ChampionshipOfficialApplyt.ClientServerMsg_ChampionshipOfficialApplyReplyt(ClientServerMsg_ChampionshipOfficialKickt)ClientServerMsg_ChampionshipOfficialLeavet-ClientServerMsg_ChampionshipOfficialChallenget!ClientServerMsg_ChampionshipGuesst#ClientServerMsg_ChampionshipWorshipt#ClientServerMsg_ActAllRechargeValuetCrossActAllRecharget'ClientServerMsg_CrossYaomoBossHurtAwardtCrossYaomoBosstClientServerMsg_BossTrialSubmittPlayerActBossTrialtClientServerMsg_XianXiaMJScoretPlayerActXianXiaMJtClientServerMsg_GubaoScoretPlayerActGubaot"ClientServerMsg_HorsePetTrainScoretPlayerActHorsePetTraintClientServerMsg_LianqiScoretPlayerActLianqitClientServerMsg_CreateFuncTeamtPlayerFuncTeamtClientServerMsg_ChangeFuncTeamtClientServerMsg_FuncTeamMemOPtClientServerMsg_QueryFuncTeamtClientServerMsg_QueryXiangongt GameXiangongtClientServerMsg_ReborntClientServerMsg_CollectNPCtMapServer_CrossServerReceiveMsgRtRaiseExceptiont    tracebackt
format_exc(trecvMsgtticktmsgDictRtmsgDatat serverGroupIDRR((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pytOnCrossServerReceiveMsg\sÞ     !cCsUtjd|ƒtjƒjtjƒ}|sDtjd|ƒdSt||ƒdS(sc ÊÕµ½×Ó·þÁ¬½Ó³É¹¦Í¨Öª 
         µ±×Ó·þÆô¶¯³É¹¦ºó£¬¿Éͬ²½Ò»´Î¿ç·þ·þÎñÆ÷»î¶¯×´Ì¬¼°»î¶¯Êý¾Ý¸ø×Ó·þ
    s*ÊÕµ½¿ç·þ×Ó·þÁ¬½Ó³É¹¦Í¨Öª! serverGroupID=%ss(¿ç·þ·þÎñÆ÷ά»¤Öв»´¦Àí! serverGroupID=%sN(RR R    R
RR t&Sync_CrossServerInitDataToClientServer(RqRnR((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pyRs icCs™tj|ƒtj||ƒtj|ƒtj|ƒtj    |ƒt
j |ƒt j ||ƒtj|ƒtj|ƒtj|ƒtj|ƒdS(sR Í¬²½¿ç·þ¹¦ÄÜÊý¾Ýµ½×Ó·þ·þÎñÆ÷
        ±¾º¯Êýµ÷ÓÃʱ»ú£º
        1.¿ç·þ·þÎñÆ÷Æô¶¯³É¹¦£¬Ö÷¶¯¹ã²¥Í¬²½ËùÓÐ×Ó·þ£¬´ËʱÉèÖàserverGroupID Îª 0
        2.×Ó·þÆô¶¯³É¹¦£¬ÓÉ×Ó·þÖ÷¶¯·¢ÆðÇëÇóͬ²½×îÐÂÊý¾Ý£¬´ËʱÓÐÖ¸¶¨×Ó·þ serverGroupID
        3.×Ó·þÖØÐÂÁ¬½Ó¿ç·þ·þÎñÆ÷³É¹¦£¬Âß¼­Í¬2
        @param serverGroupID: ×Ó·þ·þÎñÆ÷×éID£¬Îª0ʱΪȫ²¿×Ó·þÎñÆ÷×é
    N(tCrossRealmPlayert$Sync_CrossCommInitDataToClientServerR$t"Sync_CrossPKInitDataToClientServerRJt(Sync_CrossChampionshipDataToClientServerREt'Sync_CrossBattlefieldDataToClientServert    CrossBosst$Sync_CrossBossInitDataToClientServertCrossActionControltSync_CrossActInfoToClientServerR(t$Sync_LuckyCloudBuyDataToClientServerRSt"Sync_AllRechargeDataToClientServerRUt%Sync_CrossYaomoBossDataToClientServerR-t$Sync_CrossMailPlayerIDToClientServert GameWorshiptSync_CrossWorshipToClientServer(RnRq((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pyRss         cCsƒt|tƒsdS|jdƒ}|s,dStjƒj|ƒ}|sKdSt|||gƒ}|jddd|t|ƒƒdS(NRitCrossServerReceiveMsg(    RRRRtGetPlayerManagertFindPlayerByIDRtMapServer_QueryPlayerResultR(RRpRqt tagPlayerIDt    tagPlayertmsgInfo((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pyRi#scCskxd|jƒD]V\}}tjƒj|ƒ}|s8dSt|ƒ}|jddd|t|ƒƒq WdS(NitCrossSetPlayerAttrValue(titemsRR„R…RR†R(RpRtsetAttrInfoListtplayerR‰((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pyR?2s #cCs€|jdƒ}|sdStjƒj|ƒ}|s8dS|jdƒ}|sQdSt|ƒ}|jddd|t|ƒƒdS(NRtbuffIDitAddBuff(RRR„R…RR†R(RpR‡RˆRŽR((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pyRA;s cCstjƒsdS|dkr%g}ni|d6|d6tjƒd6}tj|dƒ}tjƒjtj    ƒs‹tj
d||fƒdS|t krd}t |t ƒrÜ|jddƒ}|sÜ|jd    dƒ}qÜntt|ƒƒ}tjd
||||fƒntjd |||fƒ|sMtjƒj|t|ƒƒnLtt|ƒƒ}tj|dƒ}tjƒj|t|ƒ|t|ƒƒdS( sР¹ã²¥ÐÅÏ¢µ½×Ó·þÎñÆ÷ÉÏ
        @param serverGroupIDList: ·¢ËÍÖ¸¶¨µÄ·þÎñÆ÷×éIDÁÐ±í£¬ÄÚ²¿ÒѾ­Õë¶ÔÁбíÖÐ×éIDÈ¥ÖØ£¬
        ËùÒÔÍⲿÂß¼­¿ÉÖ±½ÓÌí¼Ó£¬²»Óÿ¼ÂÇ×éIDÖØ¸´ÎÊÌ⣬ûÓÐÖ¸¶¨·þÎñÆ÷×éIDʱ£¬Ä¬ÈϹ㲥ËùÓÐ×Ó·þ
    NRRtCrossServerTimeisH¿ç·þ·þÎñÆ÷δÆô¶¯ºÃ,²»ÔÊÐíÏò×Ó·þ·¢ËÍÊý¾Ý! serverGroupIDList=%s, srcMsg=%siRRs6SendMsgToClientServer => %s, %s, playerID=%s,msgLen=%ss#SendMsgToClientServer => %s, %s, %s(RRtNonetGetCurrentDataTimeStrRRR    R
RRRtCrossServerMsg_ShortLogTypeListRRRRRR tSendBroadcastMergeClienttlisttsettSendMergeMsgToClientByGroupList(RRtserverGroupIDListRRRRtjsonGroupIDInfo((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pytSendMsgToClientServerKs0      !  (cCsõtjƒ}|jƒ}y²tjƒjtjƒsDtjdƒdSt    j
|ƒ}|j ddƒ}|j ddƒ}|j ddƒ}|t kr    d}t |tƒrÚ|j ddƒ}|sÚ|j d    dƒ}qÚntt|ƒƒ}    tjd
|||    fƒntjd ||fƒ|rttjƒƒ}
tj|ƒ} tjtjƒƒ} | | } tj\}}}| |
|gt_|
|d ks»t| ƒd ks»|tjkrtjd| ƒ|
}| |
|gt_tjtjtjƒqn|tjkrtj|ƒnª|tjkr>t j|ƒn‹|tj!kr]t"j!|ƒnl|tj#kr|t$j#|ƒnM|tj%kržt&j%||ƒn+|tj'kr½t&j'|ƒn |tj(krÜt)j(|ƒní|tj*krût)j*|ƒnÎ|tj+krt)j+|ƒn¯|tj,kr9t-j,|ƒn|tj.krXt-j.|ƒnq|tj/krwt-j/|ƒnR|tj0kr–t1j0|ƒn3|tj2krµt1j2|ƒn|tj3krÔt4j3|ƒnõ|tj5krót4j5|ƒnÖ|tj6krt4j6|ƒn·|tj7kr1t8j7|ƒn˜|tj9krPt:j9|ƒny|tj;krot<j;|ƒnZ|tj=krŽt<j=|ƒn;|tj>kr­t<j>|ƒn|tj?krÌt@j?|ƒný|tjAkrëtBjA|ƒnÞ|tjCkr
tDjC|ƒn¿|tjEkr)tDjE|ƒn |tjFkrHtDjF|ƒn|tjGkrjtDjG||ƒn_|tjHkr‰tDjH|ƒn@|tjIkr¨tDjI|ƒn!|tjJkrÇtKjJ|ƒn|tjLkrætMjL|ƒnã|tjNkrtOjN|ƒnÄ|tjPkr'tQjP||ƒn¢|tjRkrFtSjR|ƒnƒ|tjTkretSjT|ƒnd|tjUkr‡tVjU||ƒnB|tjWkr¦tMjW|ƒn#|tjXkrÅtjX|ƒn|tjYkrätjY|ƒnå|tjZkrt[jZ||ƒnÃ|tj\kr(t]j\||ƒn¡|tj^krJt_j^||ƒn|tj`krlt_j`||ƒn]|tjakr‹tbja|ƒn>|tjckrªtbjc|ƒn|tjdkrÉtbjd|ƒn|tjekrèt_je|ƒná|tjftjgtjhtjigkrtj||ƒn­|tjkkr;tjk|ƒnŽ|tjkr|j d    ƒ}|rÉtjlƒjm|ƒ}|rštjn|dtjƒƒqšqÉn,|tjokr¼tjo|ƒn tjpdƒWn$tjqdttrjsƒƒƒnXdS(Ns·þÎñÆ÷δÆô¶¯ºÃ£¬²»´¦Àí¿ç·þÐÅÏ¢!RiÿÿÿÿRR!RiRRs3OnClientServerReceiveMsg: %s, playerID=%s,msgLen=%ss OnClientServerReceiveMsg: %s, %siXisGͬ²½µØÍ¼¿ç·þ·þÎñÆ÷ʱ¼äʱ£¬±¾·þÓë¿ç·þ·þÎñÆ÷ʱ¼ä¼ÆËãÎó²î£¡ diffSeconds=%ss¿ç·þ·þÎñÆ÷ʱ¼ä: %ssûÓиÃÐÅÏ¢ÀàÐÍÂß¼­´¦Àí£¡s×Ó·þ·þÎñÆ÷½ÓÊÕÐÅÏ¢´¦Àí±¨´í
%s(ttIPY_GameServertIPY_MGBroadcastMergeClienttGetDataRR    R
RRR RR"RR“RRRRtintttimetChangeTimeStrToNumtGetCrossServerTimeStrt
PyGameDatatg_crossServerTimeInfotabsRtCrossServerMsg_CrossServerTimetDebugLogtSendMapServerMsgExt#Def_Notify_WorldKey_CrossServerTimetCrossServerMsg_ExitCrossServerRttCrossServerMsg_Notifyt PlayerControltCrossServerMsg_PlayerLoginoutR1tCrossServerMsg_ChatCrossWorldR/t!CrossServerMsg_ViewPlayerCacheRetR5t"CrossServerMsg_PullPlayerViewCachet"CrossServerMsg_PlayerPackDataStateR8t!CrossServerMsg_PullPlayerPackDatat!CrossServerMsg_PushPlayerPackDatatCrossServerMsg_PKMatchReqRetR$tCrossServerMsg_PKOverInfotCrossServerMsg_PKSeasonInfot#CrossServerMsg_LuckyCloudBuyLotteryR(tCrossServerMsg_LuckyCloudBuyNumtCrossServerMsg_BattlefieldStateREtCrossServerMsg_BattlefieldBuytCrossServerMsg_BattlefieldOvert CrossServerMsg_FamilyFlagwarOvertCrossFamilyFlagwart(CrossServerMsg_CrossBossTrialFamilyAwardRWtCrossServerMsg_FuncTeamInfoRatCrossServerMsg_FuncTeamDeltCrossServerMsg_FuncTeamListtCrossServerMsg_WorshipRtCrossServerMsg_XiangongRft CrossServerMsg_ChampionshipStateRJt!CrossServerMsg_ChampionshipPlayert CrossServerMsg_ChampionshipGroupt CrossServerMsg_ChampionshipGuesst#CrossServerMsg_ChampionshipOfficialt(CrossServerMsg_ChampionshipDailyOfficialt!CrossServerMsg_ActAllRechargeInfoRSt$CrossServerMsg_CrossDailyActionStateR{t%CrossServerMsg_CrossYaomoBossHurtInfoRUtCrossServerMsg_SyncBillboardR*tCrossServerMsg_CrossBossInfoRytCrossServerMsg_CrossBossStatetCrossServerMsg_CrossAssistRCtCrossServerMsg_CrossActInfotCrossServerMsg_PutInItemtCrossServerMsg_GiveMoneytCrossServerMsg_DropGoodItemt GameWorldBosstCrossServerMsg_NPCInfoRetR;tCrossServerMsg_EnterFBRetR=tCrossServerMsg_EnterVSRoomRettCrossServerMsg_SendMailR-tCrossServerMsg_MailPlayerIDListtCrossServerMsg_MailContenttCrossServerMsg_FBPlayerCounttCrossServerMsg_RebornRettCrossServerMsg_CollectNPCOKtCrossServerMsg_FBEndtCrossServerMsg_NPCAttackCountt MapServer_ClientServerReceiveMsgtCrossServerMsg_CrossServerStateR„R…t DebugAnswertCrossServerMsg_DebugAnswerRRjRkRl(tindexRntdataPackRRoRRptcrossServerTimeStrRRt curServerTimetcrossServerTimetcurServerCrossServerTimet diffSecondst_t syncMapTimeRˆ((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pytOnClientServerReceiveMsgps     
1#!cCs=|tjgkr½tjƒ}x˜|jƒD]Š\}}|sCq+n|d}||kr_q+ntjƒj|ƒ}|s€q+nt||dgƒ}|jddd|t    |ƒƒq+WdSt
|t ƒsÐdS|j dƒ}|sédStjƒj|ƒ}|sdSt||gƒ}|jddd|t    |ƒƒdS(NiitClientServerReceiveMsgR( RRÞRR R‹R„R…RR†RRRR(RRptcurServerGroupIDR‡R‰RqRˆ((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pyRàAs2 
 #cCstjƒ}|jƒ}|dkr*dnd}tjƒjtj|ƒ|dkrztjdƒt    j
idd6ƒdStjdƒtjƒj t j ƒs°tjdƒdStjƒ}tjƒrtjƒ rtjdƒi|d6}ttj|ƒndS(    Niis===Óë¿ç·þ·þÎñÆ÷¶Ï¿ªÁ¬½Ó!Rs===Óë¿ç·þ·þÎñÆ÷Á¬½Ó³É¹¦!s8    ·þÎñÆ÷»¹Î´Æô¶¯ºÃ£¬Ôݲ»´¦Àí! µÈ·þÎñÆ÷Æô¶¯ºÃºóÔÙ´¦Àí£¡s9֪ͨ¿ç·þÖ÷·þÎñÆ÷Á´½Ó³É¹¦, ¿É½ÓÊÕ×îпç·þ»î¶¯×´Ì¬¼°Êý¾Ý...R(R›tIPY_LGCrossLoginResultt    GetResultRR    tSetDictRt(Def_Notify_WorldKey_CrossServerConnStateR RtRáR
RRR tIsCrossRealmOpenRR R(RäRnRåtresultt    connStateRqR((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pytOnConnCorossServerbs$         cCsˆtjƒjƒ}tjƒr2t|ddƒdStjƒ}tjƒr„tjƒ r„tjdƒi|d6}tt    j
|ƒndS(NRqis9֪ͨ¿ç·þÖ÷·þÎñÆ÷Æô¶¯³É¹¦, ¿É½ÓÊÕ×îпç·þ»î¶¯×´Ì¬¼°Êý¾Ý...R( RR    tGetTickRRsR RôR R RR(RnRqR((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pytOnGameServerInitOK{s    (9RRRCR«R8RaR(R›R5RtR-RWRYR[R]R_R{RSR¼RJRER*RURÔR$RfRR;R/R¢RyRR1R=R3RkRRŸR6R9RR²R®R“R RrRRsRiR?RAR‘RšRíRàR÷Rù(((s`E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\CrossRealmMsg.pyt<module>sf                                              ¦                      %    Ñ    !