飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:47
标题: 阻止崩溃包。
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。0 `9 t9 B9 m6 p: {; E
4 {6 {" h8 B: e- F; p
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
9 J$ v7 u$ c0 F
, D  _8 G) P; m  f# v为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。. N, N7 p; W; s% u+ c5 T, y: q

- W$ F9 r6 D$ zEquipament崩溃:
$ `' G! a* Q9 e. ?/ t
5 w5 P) {% D/ _- {8 G# ?扰流板:* y- r- w- [. ~2 P* U" _; ^

5 i7 @7 T8 l# t/ w2 m$ k7 z1 P, y8 r4 o+ l搜索:
  b5 G& g  U; O2 x
3 F3 Y6 k) V, V$ o: M! f6 V邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
% B( e. p5 a+ ]
       return;
后添加:
5 H) G7 E0 z( g. W; w% A
( F( k  _$ g! c  k3 r邮编:
        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;
1 T/ ~; d' y( F7 h2 L5 d. a
    }
并第一个评论
- w- Y& u4 H, R+ d9 p' t4 E6 K邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );/ w% P, J- p9 U+ ~) o6 D6 l& y7 |7 v
你看在我的代码。
; ]1 v% C) G3 w2 y9 Y
4 E1 q0 k) }( F3 M9 |* ^  P# b2 Z" E) G. ^' x6 o# X

( r3 F1 L  r6 e8 Y购买崩溃:" \" ^+ f0 b6 j" `: z0 H

+ V9 s8 c* R2 r) z' C' V扰流板:' N  `/ Y4 A* j$ Y# v/ \% h3 Z" E- ]

# [7 e- c& ~1 S你需要做两次,正常购买和红筹股另一个人购买
搜索:
8 p% b  i" v& S
# q: V; b' F; O9 C& @( k邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

( R/ T" Z/ d) p
       return;
后添加:, h, J7 ]1 h  |7 E3 y
5 L1 z4 a9 h+ e3 H+ J, y; v
邮编:
        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;
2 X' k2 ~- ^) C8 g. ^- Y
    }
并第一个评论
! |# G4 {4 r9 n% U7 v  @邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );0 Z$ h1 w2 A' C# g) C3 }
你看在我的代码。
掌上崩溃:
/ J$ _  H" q3 O' |! g& H( A  r. [; a0 d
扰流板:
% D" o8 T$ I4 L+ v( X- u( m5 l
4 ]& {; Z5 J) C) H, {  x, o搜索:- Z8 p4 q: K0 @5 t+ q, T
, x$ w; w1 J6 U% V( o! N, l6 T0 B3 @
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
! ?  V" K; Y" F" _
           return;
后添加:) _9 \! v9 i' f# g' A% ~
, e7 U$ T; O) v; {( u; r
邮编:
               //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;               }; x# Z' w4 c' g  d# a( u
对不起,英语错误,因为我brazillian。
3 B6 D% c) y/ G+ L( w哎呀,我喜欢,如果有人traslate德语。
/ ?6 u1 b5 m& x) a9 ikkthxbye。
- c: R& u% U; Y/ D( p9 B) E+ p





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