确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。1 T1 f9 R# R( J3 \6 S
6 _6 ?9 g, b5 K* f( _
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
1 D+ Q O& h) u* _& o& n
2 q, l, f5 y }6 S! F& o为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
- F& M4 }' p' V2 i' E) A8 p3 b4 J
3 _# P2 ]3 o$ A2 ]$ UEquipament崩溃:* Z% S0 \* h8 X3 p1 h# x* i) l
C$ t$ a {- e扰流板:7 P( O% P: Z( d6 t: v% P
, y D' M8 `: X/ @$ C, w/ {; Z搜索:( g/ _* x0 C! p4 k
# M0 F& Y! r R$ s8 i邮编: ar >> dwData >>objid >> nPart; if( nPart >=MAX_HUMAN_PARTS ) : e2 y& M- l/ @# w& L0 R+ w
return; 后添加:
, {5 J2 _, O1 D, R( |. m
! u b& f4 ?6 M* k6 _7 J$ V邮编: 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 y/ i4 j) _+ D( ~ z; T } 并第一个评论% w ?9 D. `; {9 \$ l
邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );" V. C9 P8 ]. k; \7 A
你看在我的代码。; z3 Z6 {! `: |9 L
/ l, O. h8 u9 V U
p6 c: W9 h/ k; q0 u! q4 ?; S, D# Z
2 Q6 t; J6 l# M2 v购买崩溃:- v" a8 ~* k- r4 P( d! ]+ w
7 s8 J! t8 ?% x/ e
扰流板:( x7 j( H8 ^% ~
" P! V7 o" R4 x你需要做两次,正常购买和红筹股另一个人购买 搜索:
( j* ~% B3 N3 S, ]
- W9 y! g- S1 {% ? O+ c; q! S邮编: ar >> cTab >> nId>> nNum >> dwItemId; if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
, }3 P/ d6 B& G: ] return; 后添加:0 E- [- o- F1 p* [6 s0 D
: T5 h% z5 V8 i6 F0 r4 E Z邮编: 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; 2 }- r* q. t. I: k$ [6 G$ j
} 并第一个评论
- O3 C; j8 l+ g" i1 x邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
) l5 F* d( X5 l \2 i你看在我的代码。 掌上崩溃:3 U' g$ ~) z& H6 I( k# s
% s G2 Z1 \2 ?( p扰流板:! W% B% n0 }/ _# g, g( t
% S* J, y7 ?' A: |6 p搜索:
$ ^2 V4 [/ v: M$ ]9 R7 H8 s, |3 _% p; U) K' S9 N
邮编: ar >> nPocket1>> nItem >> nNum >> nPocket2; if( nPocket1 ==nPocket2 ) ; V d/ _! z$ {' j0 u& Q7 h
return; 后添加:
8 R$ ]. P6 t4 Q9 I( V& I' V
" `9 k1 k( I1 Y邮编: //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; }
" ]4 A; i2 D. ?4 k4 c- z1 r7 g9 D对不起,英语错误,因为我brazillian。+ L5 G% e! R9 o: p
哎呀,我喜欢,如果有人traslate德语。
" f1 A. p1 P3 m3 Z3 fkkthxbye。
: X- R5 P/ e4 Y9 r2 o" ~: u |