确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
% j) X3 F; F0 e5 ?0 z3 P$ W
: B) X! o( ~' ~; L M首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。1 D: d! h4 f. L" J# N
: K$ D# G) ?. y6 F/ g& n
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。4 o% b, C s0 W& M
1 L) q8 v/ z" b% p- V3 }: i
Equipament崩溃:0 \; ^7 j3 ~6 @- s8 e) j% T
- ?) @! i0 X/ p1 b) C# Z/ N扰流板:
8 B! o$ h9 E' t$ f
, `, ?; \! q0 g4 x2 C' t% H搜索:
; `0 y$ h; V, l/ C! j5 n2 R. o; a/ W' y
9 Y+ k8 t7 _# h, D. i# O! `邮编: ar >> dwData >>objid >> nPart; if( nPart >=MAX_HUMAN_PARTS ) 8 _% h! d4 B: x1 k, \, t% U
return; 后添加:
5 k6 w! p5 \2 R2 f8 G7 H O( ]- z/ ~4 d
邮编: 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; ) j7 ^! G9 ^, n! l
} 并第一个评论
1 q8 ]# F& h* F0 c+ O/ s邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
5 H u3 T! ~: Y! M4 Q' u3 A5 g你看在我的代码。
. l( Z3 i$ G3 m' x
6 o" W+ q6 v$ ]" V
% `$ p/ @, h# k& Y& Y
& k6 p$ h" v% n4 @6 c购买崩溃:
( t+ |- z7 v. Y& J* W' a7 r' d, R! @1 S6 I
扰流板:/ V% m K2 B V/ J5 L8 Z
7 X! r- E1 S5 }, B3 k/ d& _
你需要做两次,正常购买和红筹股另一个人购买 搜索:0 q- s. N* }! e: j- g l
2 _: d+ H' m) }" [, [
邮编: ar >> cTab >> nId>> nNum >> dwItemId; if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
% b3 _8 J& ^' x return; 后添加:
0 h7 J- N6 {- j: M P/ X% F
* k/ J w1 _' `邮编: 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; * k: v( n+ K3 m6 F6 |6 a
} 并第一个评论1 \, ]* `+ [& z* I' s# K, V
邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
* F6 p* i" [3 x0 L+ j% H; ^( p你看在我的代码。 掌上崩溃:
4 I4 ]% m1 b) d7 D) J" a( Y1 c- R% Q" ` j7 _( \
扰流板:' J) r6 K5 v0 k, h3 ?
% t5 ]4 t5 u) E% J6 H! J2 ] ^- v( x+ s9 T搜索:9 n: G' T; m( `. ~
- L3 Y O, K: E1 K- M ]邮编: ar >> nPocket1>> nItem >> nNum >> nPocket2; if( nPocket1 ==nPocket2 )
# [2 l5 E& I7 h8 Z return; 后添加:6 z5 `; {# {4 Q( k) o
! I K+ R7 o, j( `2 {! 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; }
- E6 }* z$ a4 F9 ?) v; |" t4 y. [对不起,英语错误,因为我brazillian。
: ? P, V! @- A4 u3 C% [0 K哎呀,我喜欢,如果有人traslate德语。. q. Y1 l. h5 e& F) K7 k* J
kkthxbye。 4 s( M9 s {) w1 z$ B7 [% ]) i+ R
|