飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17037|回复: 0
打印 上一主题 下一主题

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
8 w& p! D/ r& N+ y* o- ^
7 w: l  f/ l1 c2 j5 I6 L  I+ s( E; [首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
+ `7 p3 ]+ u! m. X/ ?% J' A0 [$ H* i# V5 t5 b* r
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
0 D, V; _4 t! W- e9 n. ]; X: U5 I4 v% m2 c0 C8 `# H; r. F
Equipament崩溃:0 u, d! _! y  S  p; ?/ ^
* p& L# x2 a, f7 f
扰流板:
' _: ]+ }" I7 I. y& s
5 t9 `, ?5 w' S# V; T1 H* H搜索:
% v8 R1 F0 c( f% Q% b( d% W  i1 z. L4 @& \& W+ F( t
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

! X+ e; @  p% X* m! C
       return;
后添加:
( z0 E8 Z* D$ d  W( p
+ X% Q5 t: ]4 [9 p6 x邮编:
        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;

& \6 }; w6 @6 M( u+ }+ B8 V" R$ {( W( s
    }
并第一个评论
# q/ c3 @4 v5 W( B& E+ E邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );6 A: L( H9 L* u2 B3 T2 X
你看在我的代码。" v$ t# y' p7 e, P9 k  h. [6 Z9 \
( u: O7 J& d# k7 `( P& |) D
' {( S1 g( S# H7 K+ ~

" `0 E2 [! I! A9 S' [购买崩溃:
1 \" l4 X4 \# Q6 o& S' `; [  q8 j; E" m+ ?, M  ~2 Q+ O
扰流板:
6 j9 R8 J& _# {# A' F7 f: N5 y; u, J, G# t
你需要做两次,正常购买和红筹股另一个人购买
搜索:& \6 L' O. n: E8 }! S+ @
& ?% E' x' \& ~0 H. H1 E6 X  N. \
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

" F- p) N& ?1 k) c. K6 y7 S
       return;
后添加:
* p( F7 g; b% q' a. W; f4 E* ?- 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;

* d9 A# W1 }- q
    }
并第一个评论
7 u3 Z+ R. {$ m! T( d邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
2 k" d+ s2 @9 V) }( `5 T
你看在我的代码。
掌上崩溃:0 B1 @- R8 L" k+ z8 _1 v
/ K! g7 }3 N3 N: ]9 j9 Z
扰流板:
; \$ X7 M  I* ^5 S! f1 O% u- H6 e7 K2 V9 ^# \" ?. f' ?
搜索:
6 z! L! v# a! C3 B" f# w
: w/ d# U/ _2 K2 C0 l4 h, q邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
3 i. A, a# x1 S) M% z
           return;
后添加:
5 _7 X1 i3 L0 v! V% e8 i( t, ^% Q) h  H% ^" e
邮编:
               //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;               }
; |$ t. ^* F2 J. ~! X  @& `
对不起,英语错误,因为我brazillian。
3 F2 G8 D7 T' ?  \$ `' o1 Z; S1 Q哎呀,我喜欢,如果有人traslate德语。
0 R4 h% Q- U( J. e. g) Rkkthxbye。

( c1 d% C0 e  E% R2 H4 J# }  M6 t
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2026-1-13 08:48 , Processed in 0.059510 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表