|
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
$ P' Y/ n+ J' N. {# i4 y! ^! @: {# C, n& a
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。: t8 l& J& r- M& A3 V" X% q% L
4 c |7 Z4 R z1 G+ x2 ?& e
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。! N9 d: q! [+ N
* o; t1 \+ ^6 D
Equipament崩溃:. D0 U" B2 u$ p7 \! C
& O; R' v: |! B+ N$ [: \
扰流板:
1 t8 V' V& B7 j) A/ Y2 x% j( k+ j' _% n. x+ [$ P& _
搜索:
' E" u% P# u3 \( l8 W; x- ]- A/ g- E, c
邮编: ar >> dwData >>objid >> nPart; if( nPart >=MAX_HUMAN_PARTS )
+ N, w; w& i2 X3 u2 T return; 后添加:0 t0 N$ F* [5 R* K) H {
. r1 q4 I5 }- t+ A( A: Q2 j7 M" 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; , ^2 N6 f% B; F$ \* A# ], N
} 并第一个评论
, r& Z/ n+ W8 W邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );& z, R( o9 f+ {$ Q T4 y
你看在我的代码。
+ H; }0 [0 l4 u" r
+ y/ W% o: v7 R9 [6 \; p
: k; ^& C7 ~- c9 X, u
" _6 ]+ }4 a3 n购买崩溃:
8 W2 T1 k$ }; Y4 K) @0 {
* p# o$ E$ |' U: z9 Q% v扰流板:
- o; Q( X' e4 s! |+ _3 D! v2 @: z/ C
你需要做两次,正常购买和红筹股另一个人购买 搜索:" M. ]/ v% k( T1 Y
; q$ F, t* T5 {
邮编: ar >> cTab >> nId>> nNum >> dwItemId; if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
; d9 @" e2 @* c; p- O+ \: n$ v8 C return; 后添加:, w( h9 G5 f- \
" {- v. K L% S3 S4 _
邮编: 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; 5 ?' {6 _$ R) u
} 并第一个评论6 @; i+ i1 \; V
邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );2 @/ Q% u/ X3 b( D \" X0 r* M4 J. H
你看在我的代码。 掌上崩溃:
5 a0 J6 Y! t) z$ e- G( c
! B" k& ?0 k U$ o扰流板:8 @- `8 W2 T1 b" I. S, o7 I% D- u
0 D5 T" ^1 k( |) Q6 i, D- q2 P
搜索:* L, U) `+ M8 m y8 u3 W9 K
. K" s2 x: y8 o, }2 k+ H. i6 j
邮编: ar >> nPocket1>> nItem >> nNum >> nPocket2; if( nPocket1 ==nPocket2 ) 2 `. F6 c$ r& F6 \
return; 后添加:
, ^1 t/ i$ }0 M6 Z8 d$ s9 {6 p
; k! O6 f+ J3 ^$ E" a+ H5 N; P邮编: //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; }
: M. c. P% ^2 h7 o) l对不起,英语错误,因为我brazillian。
9 t5 L0 \9 G' k! J: _! W哎呀,我喜欢,如果有人traslate德语。7 t2 Z6 T, X# Y7 r* B2 l+ t; x4 I
kkthxbye。
) s* R/ ]! \, A N+ W# n7 @ |