确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。, {2 o$ X; ~2 F! ] q6 p
! L. ]$ c: Y5 o9 ^
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。' r' J& W4 i6 j( G
3 q4 o# C; }; C
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
- [0 J+ G) i7 d3 l
4 N& x A! n5 B0 d/ m1 z& vEquipament崩溃:
" P5 d; I' S2 X0 z' _2 J( B' Y Z& F& F
扰流板:
5 b! W: ]# C3 s4 v
+ f3 ?6 k/ g% f3 M2 V* }% n/ O6 H搜索:
4 Q M" z! R; K7 P7 {& A" R- P5 e. S) q
邮编: ar >> dwData >>objid >> nPart; if( nPart >=MAX_HUMAN_PARTS ) % i' M0 O3 r% Q/ J
return; 后添加:! r) \8 ?5 ~0 @
- Z! b, C; Z' |! Q# ^
邮编: 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; & A5 [( m7 ]1 t; x7 d
} 并第一个评论
( c# o* S# t, C7 {' k) i- l4 E8 ^; g邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );# ^3 F+ ]5 D9 F# i
你看在我的代码。; n' Y1 H$ r* I* j; R2 C
! A3 e4 C& o$ Q$ ~/ E4 R
- s9 [7 U2 ]1 Z0 \0 J
9 t1 B# P1 I- |7 y+ R6 S) \购买崩溃:
2 O1 o0 E: n3 \, e( b7 j$ g0 @, u: i( y1 X
扰流板:# J H8 r: a. w7 z
( \( s3 d( n# y- p: x( ?: ^1 s
你需要做两次,正常购买和红筹股另一个人购买 搜索:; H& h5 }" N8 a! V3 ^
2 k) r; ]' V+ ]( v
邮编: ar >> cTab >> nId>> nNum >> dwItemId; if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
" r7 S2 J/ }! k4 g2 x* e- c4 { return; 后添加:
4 ~/ l7 t5 W- M. w; u R3 M. o, X+ U A' a
邮编: 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; ; Y8 N# {# X, m+ A( Q
} 并第一个评论
5 G0 Q- I; F3 U, D/ Z" w7 J, m+ Z, F邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );! }+ |. H4 F( ]; S
你看在我的代码。 掌上崩溃:' w" p# d# w/ `' ^& D( a3 e
2 G) L; J* r8 p1 P6 X9 Q& l8 u+ a6 t1 }
扰流板:" |9 Z" w+ }% c( R/ M) ~) z
& }/ z3 R2 Z8 A" k
搜索:5 F* m! P5 M4 q" b" w
) [: o. i/ E& t: E- m1 A邮编: ar >> nPocket1>> nItem >> nNum >> nPocket2; if( nPocket1 ==nPocket2 ) 9 J0 p2 y7 j5 R% A' ^+ V
return; 后添加:
/ }1 O# @9 L: i( C4 I
2 _7 b# h( A% t- t: B. k邮编: //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; }
, @( t7 h% T) `8 f7 I对不起,英语错误,因为我brazillian。
3 r' n$ Q1 d% F/ T9 c8 P1 B哎呀,我喜欢,如果有人traslate德语。0 D5 ~6 Q7 @4 G" C, T' J8 i
kkthxbye。 % P6 U* n* R+ ~) { v9 a& v, I5 ~
|