飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:47
标题: 阻止崩溃包。
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
  H! C, P6 z2 s7 j& X2 t9 Y9 {: M& i3 _" J
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。; e+ |& k" i' I. O! F% N2 [
/ [- Q* S" A9 V2 O
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。9 R# D- l; s3 f- j* X5 v1 r% _

/ c4 x5 @) `3 aEquipament崩溃:
- b1 d5 v6 s; h7 c6 J; i. p0 w% A. y2 t# \! Z
扰流板:
+ Q2 D: Y1 L8 h2 K% S6 c1 I6 V6 _% w  p
搜索:
5 b0 `# Y- D# n5 `; S
) k. z$ ]: N% \5 S; h  E邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

, F  Q$ h9 I/ i! {4 x9 [  ]( I
       return;
后添加:
/ v7 P0 p  ?* q: z
! e% x1 c! N# E+ `0 W) E邮编:
        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;
: r" H. \$ V; }5 E4 n1 N: j/ U# p
    }
并第一个评论
6 u: E! a% `5 Q& X0 y% ~邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
1 q( a& K8 S. K& o
你看在我的代码。
  |9 r( Y3 r8 _6 n
5 @7 J7 b# g* w1 t) D/ E
7 k' S2 ^8 w$ t7 }- |. v! V6 r4 [8 {: w( @
购买崩溃:: n9 q1 P; j4 {$ J+ r: L
, ]1 E8 ^8 E- _* {) r3 X6 U$ X" r
扰流板:0 ]* }0 x1 I; G+ b* B
. I: q+ v% M; [" D# c; l
你需要做两次,正常购买和红筹股另一个人购买
搜索:
: S$ [: e5 m& z/ O# ^5 x$ \
' c1 y" N. f" V3 A1 r6 b* ^; L5 x邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

# v" O1 X7 }' c; f% N$ P
       return;
后添加:
/ I/ `+ h/ h) I4 }* F/ M! k# C2 d; o/ A: O8 t
邮编:
        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;

1 C; H# x5 f9 c' l! O; r
    }
并第一个评论
, U7 ~  B, D" O0 I  h4 Q' h. g邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );, O  i. i* H* m9 F& |
你看在我的代码。
掌上崩溃:
3 z; ?7 f8 s9 Q7 E/ D( r
  A4 E3 S) r9 v0 k; d! V' K9 V扰流板:" b  \- V: z/ P* c( o% I' f

# C+ Q& G% Y/ ~; L' O9 D2 g搜索:; [. \9 N0 _/ u+ P! \" x& }

; {# O( i5 G1 s7 `, r邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
9 r6 F& n7 Q3 O. q6 ~
           return;
后添加:: r; k  F2 y6 @8 l$ C
. z: K! z) f8 U
邮编:
               //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;               }
, U, Z5 B$ |+ U2 `) w' x0 w* C# c
对不起,英语错误,因为我brazillian。6 l' n( I; v; }  ]2 K% f
哎呀,我喜欢,如果有人traslate德语。
6 d3 f. U. a! v! t* V9 u: vkkthxbye。

# j; L2 b& R0 s% k7 L, w$ ~




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