飞飞世界论坛

标题: 阻止崩溃包。 [打印本页]

作者: admin    时间: 2016-1-10 03:47
标题: 阻止崩溃包。
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。( b& p8 n$ g1 \: K/ u

0 u) z7 ^0 {. B6 L首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。  G0 ^) g8 [7 K5 [* S" p% o* q- U
! H, t+ y9 G6 `% j
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。# H; p; k/ h) U  C8 Z
2 d- a0 W6 }. }1 k8 e6 Y) a7 n  R
Equipament崩溃:
# g5 v+ Z  s1 Q/ m- d% ~
5 r* h0 }/ }* K- D0 G扰流板:
* X( v+ \; P8 H. w) G* d8 d/ m
8 X4 J+ R: O& M& {搜索:
3 N; T1 h5 H+ C1 E6 ~. C7 j5 x9 L, g8 E+ G. \+ ~4 T/ G( N
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

; x. j* P  a, }' h* t
       return;
后添加:
+ w; s8 }$ t9 b/ x7 K- s: f1 h0 Y, r" [. @4 P6 X' V2 Q
邮编:
        CUser* pUser =g_UserMng.GetUser( dpidCache, dpidUser );
        //Crash packet
        if ( nPart > 30 || dwData< 0 )       {
                       Error("CDPSrvr::OnDoUseItem : Crash Try -> [Player ID: %07d], [Player Name:%s], [Packet used: %d,%d,%d]",
                                              pUser->m_idPlayer,pUser->GetName(), dwData, objid, nPart );
               return;

+ j4 D, z* d) n) a6 k
    }
并第一个评论7 \1 l+ x8 C( h, Y4 E/ u# B
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );7 }5 i9 T  X/ P4 _1 a& @
你看在我的代码。) z% P5 @. `1 b. O; |

/ R: M# v4 Z. J" l6 Y9 L" m& F) u8 ~, i3 U, Q
% |+ A5 @9 L' r* O3 S
购买崩溃:
2 ~4 l8 y) Q: F+ o- ], `, ]5 g  }) q. [8 Z, c; I* j
扰流板:- r0 z- j5 s, b; O

/ ]* R" v5 \- n# Z你需要做两次,正常购买和红筹股另一个人购买
搜索:; R' H% ~0 ?. K5 f8 K
1 Z2 ^1 U/ C: X0 h' N1 j
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
# _( d. N, f; ?1 h5 K  e3 I( p9 l' B
       return;
后添加:
2 }0 N9 J( y/ s  x( I! y/ B1 ]6 V" x( w& X
邮编:
        CUser* pUser   = g_UserMng.GetUser( dpidCache, dpidUser );
        //CRASH
        if( cTab > 3 || cTab <0 || nId < 0 || nNum <= 0 || nNum > 9999 || dwItemId < 0 ) {
               Error("CDPSrvr::OnBuyItem : Crash Try -> [Player ID: %07d], [Player Name:%s], [Packet used: %d,%d,%d,%d]",
                                              pUser->m_idPlayer,pUser->GetName(), cTab, nId, nNum, dwItemId );
               return;

) H- Q5 s2 {' z# P
    }
并第一个评论
0 F, |  f3 k& _; L2 g+ v7 T邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
* o) Z& T; Y9 Q& F! d% P0 j) }) w
你看在我的代码。
掌上崩溃:9 g: Y! O: Q7 y' I

) s, r2 O, c/ d7 E& G1 l扰流板:
9 ]% E0 O+ @' w5 q) v+ q4 m1 S6 S% A
搜索:. h, T+ p4 h0 d7 ~4 q- f
: @% w" i- e4 `! e* ]9 A
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

% i/ {! c. q/ Y5 y1 M; V
           return;
后添加:
/ c+ p7 @. B/ s+ D1 }
7 X! V& x+ z; C* G- N8 c2 E. v邮编:
               //DUPE CODE               if( nNum <= 0 ) {                       Error( "CDPSrvr::OnMoveItemOnPocket : Dupe Try -> [Player ID: %07d], [Player Name: %s], [Packet used: %d,%d,%d,%d]",                                              pUser->m_idPlayer, pUser->GetName(), nPocket1, nItem, nNum, nPocket2 );                       return;               }                //CRASH               if( nItem < 0 || nPocket2 > 2 || nPocket1 < -1 || nPocket1 > 52 ) {                       Error( "CDPSrvr::OnMoveItemOnPocket : Crash Try -> [Player ID: %07d], [Player Name: %s], [Packet used: %d,%d,%d,%d]",                                              pUser->m_idPlayer, pUser->GetName(), nPocket1, nItem, nNum, nPocket2 );                       return;               }
4 D$ I- w7 C  ]6 W
对不起,英语错误,因为我brazillian。/ m4 `+ w2 q. ~# v+ ]$ }5 g2 I
哎呀,我喜欢,如果有人traslate德语。, e. U1 I5 C% t. G% {
kkthxbye。
& K. O5 N/ o/ N6 \





欢迎光临 飞飞世界论坛 (http://ffwold.com/) Powered by Discuz! X3.2