|
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
4 g6 E) Z% Q- r* f" ] W- ^+ y3 h1 z7 V4 k
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
5 C% m" g- [' Z
) h( N) c; V" F8 ?为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。! k* l5 J+ k7 J6 J; A
0 h, G1 |, s% p$ KEquipament崩溃:
& B- u& F+ a, T6 z( Z' ~8 }4 x
, n! P' o& m* [* d0 Z7 l0 f9 ?! y扰流板:4 s2 y/ z; f% b3 C5 v7 D
% k7 z+ C/ p' I/ J/ I- g) H% j8 K( a3 A9 X
搜索:
. E+ G( J4 m! K& S8 k* @- a6 n/ e# f& L- O" h* {1 C( O* b$ C
邮编: ar >> dwData >>objid >> nPart; if( nPart >=MAX_HUMAN_PARTS )
8 f" X2 j* v9 S* C; V return; 后添加:- z) G( h6 r6 R4 x+ Z" l; g
# p- H* \; B9 U8 M% s; n邮编: 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; 9 R$ A6 }2 G2 y& v) }, F, H$ h
} 并第一个评论6 L$ U6 v7 }. U0 g$ I' r- H. b
邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );. e P& ?' }5 L' p0 T# z0 P
你看在我的代码。: w" ]9 k3 n$ ^9 H0 u, l
1 L; [8 F- A1 R0 k& J7 c8 ^- N
* L( [% u9 {" A, u+ j
$ V7 J# N" d4 _+ C- W; |
购买崩溃:
4 H8 U6 m& s* r; q
6 f4 Z2 z0 W& w' l& {; u扰流板:
$ b$ `9 b9 w1 F
1 i2 y& c" _, Y+ @5 O$ @你需要做两次,正常购买和红筹股另一个人购买 搜索:+ [4 J/ n, P5 O. Z0 i; R6 C
# o/ @" e5 F/ O7 X. Z- J5 c邮编: ar >> cTab >> nId>> nNum >> dwItemId; if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 ) . e1 V; k# x2 `
return; 后添加:
% N6 ]7 V! D# _2 W. y! ?! I& @
) r' e h# ^5 ]0 D- ]+ U邮编: 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;
0 p2 _) q( w. U3 a } 并第一个评论9 I0 j+ E' {3 ], L7 B# C6 X7 x
邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
" }; s+ D) K& R0 c, o' t v& k5 [" N你看在我的代码。 掌上崩溃:
+ o0 {0 r; e% r n L! J+ S. Q* E, C; C
扰流板:+ D T, U8 ?0 K6 u! i1 k
3 H6 O( K5 J$ c+ T搜索:% S: D6 W. `2 z4 Q, p* G) x
9 Y- n. }- Y! _7 X
邮编: ar >> nPocket1>> nItem >> nNum >> nPocket2; if( nPocket1 ==nPocket2 )
9 h% M7 V- p# c4 C. v return; 后添加:; L, g6 c) i9 R$ U, P4 }
/ ^" e9 `1 ?$ I( ~9 d g9 \2 |邮编: //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; }) k$ W" [+ ?% f8 _7 t1 `
对不起,英语错误,因为我brazillian。
: k u, O; [' Q4 V) m哎呀,我喜欢,如果有人traslate德语。- W% T# N' J- W# G) g
kkthxbye。 + ^5 e9 x3 n8 P- j* H3 c' @
|