飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:47
标题: 阻止崩溃包。
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。* b5 @" v7 D8 f
2 l$ Y; N: k& {% d' P3 t
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。5 G3 o6 X# d  W; `2 F; ~& L) \
/ h. |! M" ~/ o5 d3 N
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。+ i+ a7 E& S! b

$ C4 d6 C1 K. s9 I3 D9 cEquipament崩溃:) c: V4 L9 o: U& p: G+ U# m; P

# G2 I, k2 Q* F3 L: Y扰流板:$ R0 C/ d* d4 l$ x. X# o0 V

) [8 B! M) ^( }, F5 q搜索:
: u8 u7 s1 N7 [7 j4 T1 H4 I
' G+ W( r+ x" j) u6 L9 U. C邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
4 ]% }  B/ V1 T
       return;
后添加:/ i5 P) ^1 |; y0 w$ c2 A

8 Y2 P  A4 T7 }+ `2 l# h3 N邮编:
        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;

7 l( U! P0 v- Y' B* e8 I
    }
并第一个评论# Y3 b7 @  b. D! L% N/ k
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );. f% |3 P- e! n) J- b
你看在我的代码。
6 g& D1 a: }# H) i" ^$ p# Q, S+ a" n* d
% U" b; s# b  d6 @3 c9 j4 P7 ?

: H6 i9 r4 t7 Q% b0 l, T/ l0 {购买崩溃:
: L' a& o8 P! B# s& b. ]) b: j0 F8 w( X# l. n  ^
扰流板:" y4 S/ X0 N+ i! D) y1 O

, q8 L2 q& m" o- r* U2 B  \+ s你需要做两次,正常购买和红筹股另一个人购买
搜索:9 L% T% G! B# Y; U7 t

. ?/ N! `) w2 a6 U! O7 ?4 w! u邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

% M% w  x2 ?  ^
       return;
后添加:( a  o$ K. O4 E0 f
7 T# Y" k% ]( [) b6 r# h: k+ F& Y" p
邮编:
        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;
  w( l( j; b; k' Z; H( T6 [( v
    }
并第一个评论' Q! h4 R5 o+ E: l+ x
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
( ^2 c7 d! F4 t* r! V3 c/ P% s0 Q
你看在我的代码。
掌上崩溃:
1 ?5 J5 p3 H5 z$ L; a
( \* m  U1 c4 v扰流板:9 X' `1 ~% v" G. N

& e3 M' {! j. m" p+ L5 |搜索:: V2 Y  O6 u  l# q% [/ n
& `' S* N/ e# o8 X% j4 ]9 G/ Y6 c
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

0 b. f6 D2 w# r# X: d' v
           return;
后添加:
' k0 D2 s; _3 G' p* s/ q. O
' x/ ?4 _3 ]) @" S* Q邮编:
               //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 |$ b. j' L1 l2 q; R
对不起,英语错误,因为我brazillian。* I& R( \# Q& m, I9 {- C$ o
哎呀,我喜欢,如果有人traslate德语。
) T" d4 a  e$ E% N1 N* ekkthxbye。

8 y, f9 r- L, |' U




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