确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。2 y" [: j! |( G2 w( S
4 D; G! s$ q" M8 x4 x
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。3 \7 R0 G$ I: T+ i3 P$ ?
+ P0 o0 u! Q$ p* A为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。. x/ }9 X' y1 p; C" z% w& c
( X: t8 J Q# a+ {3 T2 fEquipament崩溃:
5 E; w: D1 Q/ z, o* M
% }5 S3 R/ j+ O9 O7 V6 E2 N7 K扰流板:
& d& p) Y/ [; C! a9 s K$ q
' g- t, {& ^5 j$ l; L! @# Z- ?搜索:
p( e1 d' s' N0 v2 }* a% X9 s o; j/ h* g$ p4 j
邮编: ar >> dwData >>objid >> nPart; if( nPart >=MAX_HUMAN_PARTS ) ) _- F' V3 v% q; m3 n# p
return; 后添加:( a# \5 S# t9 A+ v
5 n( z5 j% r* K邮编: 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;
2 \+ w( l% [' O } 并第一个评论
7 B5 W6 H' `8 G$ O, l邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );; b% a- ?2 h3 t- k* q
你看在我的代码。3 _: Q; F; Y' W( K+ b
/ `) [; r& w( J7 o
4 ` d4 x; a/ R2 j( M5 P" t7 g/ G
3 l# w- g8 U4 J# N/ t购买崩溃:& @( p1 a. O( q
" V8 a) ]( H% a0 R& q, ]. m' ]& K# G
扰流板:+ T7 b; m' u/ L5 `
: C. |1 J; }3 p
你需要做两次,正常购买和红筹股另一个人购买 搜索:3 X- m, K6 j" ^4 s3 v
8 A+ r2 [% c$ O; Q. F9 w邮编: ar >> cTab >> nId>> nNum >> dwItemId; if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
+ S" h$ G+ J& Z g, o1 a return; 后添加:
' s5 l0 ]& z' o8 _" K; r l9 S8 D+ U0 s3 I( r5 s- l
邮编: 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; 3 f9 z0 Q% w# u1 ?2 s! y
} 并第一个评论
! V' c! r' U; Q" B3 Z% f邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
% P0 y4 ^ q3 P) X# g5 r) b. {你看在我的代码。 掌上崩溃:6 |7 Z3 \( W& I) `, _7 n, Z9 _% e9 A
6 ^0 |" ^4 Z; ~, {3 W3 ], o扰流板:* |. ]8 Z4 z) z. g
3 u: x* ]/ H4 M7 V5 ~
搜索:
7 Q' a6 A; Q5 P, T
& T: K' y& R$ O9 a1 g/ g# {8 ^9 s邮编: ar >> nPocket1>> nItem >> nNum >> nPocket2; if( nPocket1 ==nPocket2 ) 7 S }& T: ^+ J
return; 后添加:3 y' R! j' a+ v# q }" j. C
7 g1 C/ P) n3 J5 v3 M; G邮编: //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; }+ }8 ^8 A. O. @) m
对不起,英语错误,因为我brazillian。
$ L6 L3 R; Q/ A3 F6 I1 O/ q哎呀,我喜欢,如果有人traslate德语。( i0 ] x: Z. `; N% x& |0 R
kkthxbye。 % b+ Y0 X Y9 {7 s q
|