确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
7 n: L L& ^9 p& t3 [$ P9 p
0 A( x1 T: F# S首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。* q+ p0 Y/ w2 W1 L4 T
: D2 E3 [; R4 n8 t为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。9 l' f0 X+ a8 `9 g |
! M! ^* e/ S; J d0 Q) k* `Equipament崩溃:8 Q7 l$ o) v8 X9 G
$ x/ n0 G7 b( G. z( j0 t0 w' p
扰流板:
- t; Q0 l/ K6 d" u* [$ r0 o# f) j$ S0 C( U9 h1 t5 N g$ Z, r: @
搜索:4 \$ @1 {' i; g9 Q/ |4 U- d
' U" W J# O$ ^$ A* I7 x! q邮编: ar >> dwData >>objid >> nPart; if( nPart >=MAX_HUMAN_PARTS )
4 E, ~; L4 i: P8 w: A& F return; 后添加:
/ S2 ]0 |; g! c" d) `( X' M" b+ g. K! Z
邮编: 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;
8 M/ E9 F8 t( x4 p0 W( y0 i } 并第一个评论
5 w6 g$ e( o% V; H# C2 y3 A邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
% }, O; h3 K! Z/ \0 R你看在我的代码。
( c3 J* [# G! S, _8 i# n a% w% B8 z. \0 ~. ~1 S h
, X- B$ C; y0 N. H6 t5 d
1 S2 U {. ^- z. C0 t+ h. r8 L
购买崩溃:0 S" s- T& f$ k- ]/ _+ k
9 w4 U7 n7 u3 f扰流板:
; O U, u" E( D1 Y/ t7 |2 w- N3 Y q/ f5 \2 H# E2 l( Z: ]
你需要做两次,正常购买和红筹股另一个人购买 搜索:! L/ x( B* L) G5 C" e% y! g) U0 S
7 U. A1 U7 x; f- f, F1 g( ? r
邮编: ar >> cTab >> nId>> nNum >> dwItemId; if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
7 [' _1 g- ?* Y# {/ a7 a return; 后添加:
. F9 ^/ y0 `. {! l% t3 J V* [" i! c
邮编: 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;
9 K3 z; |9 | p Q D! L } 并第一个评论
0 u& A5 ~! O, m2 B" Q" Q/ L' g邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );2 X% C- {1 q9 j) w3 K- S# y* ^; R+ C
你看在我的代码。 掌上崩溃:. B3 n- ~- \# I2 ~/ s4 [- g6 m" {% O
5 C# N' X- O& S: Z- d扰流板:& l1 f* Q4 V3 G5 Q" I+ y& O
: _2 d; P, w7 e搜索:
: u1 r* Z. d, s' H& o/ B4 k% _5 i0 c3 |- B
邮编: ar >> nPocket1>> nItem >> nNum >> nPocket2; if( nPocket1 ==nPocket2 ) # X1 G0 T, a; J* f, u e
return; 后添加:/ p& d1 J( q: a N, {! h$ q
7 ~, I9 V+ K- D* f
邮编: //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; }9 X6 H; W7 a6 G# ]& W4 d$ N, i8 D! I% e
对不起,英语错误,因为我brazillian。: x3 l, c, d) P$ b: \* y+ p
哎呀,我喜欢,如果有人traslate德语。
4 j9 }- ^" X. d8 b2 m' s- _kkthxbye。 7 Z: o5 F. ]; _/ L$ w8 w" |
|