飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:47
标题: 阻止崩溃包。
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
# [# |  l1 |2 y: \" u% w5 \$ x
+ W# y5 w+ E1 q' }3 v6 B" b首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
# h9 L+ V4 T$ l, _: ?1 |, p1 f/ y+ v5 L0 {
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。. U7 U; N1 S2 l3 J0 R, X. V

6 h3 d8 x. w" JEquipament崩溃:
' H: Z+ ?6 I6 N/ v1 r$ M" s
/ O. f4 ^: p2 B2 X扰流板:: J9 v! L% M" p) \  O. d, M1 g' G

1 q$ t$ D) `/ `8 E$ ]. a搜索:0 J+ q( S! E% m! k& R" U9 ]

3 h2 k' _7 V# @# g( ^邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
1 D" q/ x, s; T
       return;
后添加:. W9 F  S. i: V& T/ R

& O$ N& p3 u9 X, M/ R0 @邮编:
        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;
; k/ S! B. R6 ?% {( {
    }
并第一个评论
, Y! R$ |+ j! N5 x/ V5 a邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
: u- d+ c* ^- T4 z3 ^- d0 j9 ]+ S( b4 H
你看在我的代码。% i. u8 w( N: a, F6 z0 K6 B
2 ]: w% ?& r: v& s, K5 \3 B
. ]  E8 L2 e& H# A7 @

7 f' X% j  L. Y. l  X8 K) k/ ?购买崩溃:1 {3 C/ H3 r% V: V0 G+ n

8 E' K8 U- S6 u! Y% O扰流板:8 ~& i. e$ l: T3 y( a8 a" P9 _
  Z" ]& D( y* w! z
你需要做两次,正常购买和红筹股另一个人购买
搜索:, o) [& l3 z6 o: }, ~7 j: S- e1 i0 N

& J6 }, A* w0 [5 V: i邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

/ e1 h3 H$ u+ j: v4 w
       return;
后添加:4 `  b9 j, q$ V) S

  P+ B7 V  e5 b. X- }" T( `2 M- E邮编:
        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;

- X% E: m6 t# U; X/ L- s
    }
并第一个评论
/ Q0 A+ C3 _* o% C邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );3 W' N# f. X- s) Q+ E$ X
你看在我的代码。
掌上崩溃:( Z; i. _7 p& e  X1 c
& J- a5 D! F$ Y/ ]7 E
扰流板:
4 V# R  u' P# C
( M, ]# ~' Y# a8 M/ u1 D) D搜索:; y* |3 K' e/ a# D1 B/ D  k

0 Y6 d0 S8 F6 O& b3 z8 L8 l6 U邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

+ G% N5 P$ G% l0 |
           return;
后添加:9 F$ j& y& X. R6 M# w$ U

& I* P% e$ j. e2 O& O- j4 q! ]! Z邮编:
               //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;               }
1 \6 O! N/ ]# v( ?  {  t  r3 r
对不起,英语错误,因为我brazillian。
7 l) q3 t, t" Y! D0 e5 Z3 h/ W2 D, r哎呀,我喜欢,如果有人traslate德语。. _+ A+ G5 C: y, O1 Q6 [
kkthxbye。

* y0 j. ]! U1 @$ H




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