|
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
& ?0 _! e* X4 E7 v8 V' o$ h8 d
$ H* L; Z |# `& i- R+ [首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。) |6 v6 x9 @. h( _9 S$ w
" P0 C6 a% ~0 K4 d6 ]
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
$ t d! b2 E( K+ R) f- Q( q* H+ `; B8 x; g7 v1 P
Equipament崩溃:
c, s {5 b: A) x% L+ P2 i! i4 c4 @* S; _4 \
扰流板:1 }6 N( s6 q) M0 C# @) y Q! L
6 w" x& I# V1 C. V, }* G/ z
搜索:
( N# P" U4 W3 y* [) H* B
Z9 K9 H6 {& [9 \: Q3 ~7 x邮编: ar >> dwData >>objid >> nPart; if( nPart >=MAX_HUMAN_PARTS ) ' l! r4 W" R3 i+ `
return; 后添加:
$ O% }5 [0 [3 k. ^- b; A) l& v3 W$ G
邮编: 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;
; Q, U* N# u% F( t3 P } 并第一个评论- a& @ g6 Q% [
邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
5 i4 ?: d) K# c0 ]你看在我的代码。7 _1 ^5 u. ?+ p' M& x9 Z
7 q8 b* g3 c: z; p K
7 D4 j* w, s( v8 y& F2 x# V
" H. z9 |5 H. H7 ~
购买崩溃:
1 d2 n: d# m. @7 S f! K" n) e$ g3 s7 n" P+ s% F! s+ ^' A
扰流板:0 u) k6 ~ D6 b; ]: j9 [* K; _
5 \/ `( A. N% h+ Z7 c5 b+ {" \$ L你需要做两次,正常购买和红筹股另一个人购买 搜索:9 I8 b; c! I/ b9 C h8 ^, \ G
' X1 N+ j/ @# M9 I+ v* `% H邮编: ar >> cTab >> nId>> nNum >> dwItemId; if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 ) 0 z; u2 C \! V0 S2 s
return; 后添加:7 t/ M x/ `" p
6 {' v0 q n, @; u6 B
邮编: 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; % z! T: W. g4 _6 L4 r
} 并第一个评论9 }& e. ?. X- e9 ~. j6 u7 x6 d& W
邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );1 p7 D- z) T6 m$ S
你看在我的代码。 掌上崩溃:
6 D. K6 |9 W7 L" u
; P1 A4 {+ a7 p8 [& F扰流板:
8 L7 |) Y# I# n1 u# _$ X3 |3 b0 p$ }& g
搜索:$ h$ N$ [2 {7 W+ x4 ?9 W4 b3 ^
. d' X3 D, o. V5 }- d! {邮编: ar >> nPocket1>> nItem >> nNum >> nPocket2; if( nPocket1 ==nPocket2 ) ( _7 @& J% t2 y) G6 e9 ]
return; 后添加:
X% ~- l; `$ }' c0 Q8 O( e; X l5 }4 k) A
邮编: //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; }
2 @2 ~3 F/ D7 g% l- @7 h对不起,英语错误,因为我brazillian。; {( D- K: t( a' C
哎呀,我喜欢,如果有人traslate德语。
" d" A7 g$ Z' s- V! D/ f0 |kkthxbye。
' i2 { v% _+ | {7 V1 ] |