|
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
" R- Y4 ~/ U% h% d; _/ y& p, g- S2 U d" B8 \; U1 F* A9 X1 N
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。3 w7 P6 I6 K, U- j. ]- G) T' }
: b1 i K6 n( ]" z
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
7 A' [; K. {. y: O. p+ w" _
9 X8 l2 r1 r6 f) s+ k- [Equipament崩溃:) R) }" D9 |5 K) E e8 n
8 [9 ~5 R$ R; w) s9 }7 o
扰流板:- R! x- L6 ^* J$ t5 _% D# D: T/ I
6 b3 s" P0 k$ W+ E% i5 l
搜索:3 y3 K( q5 J+ g6 S+ E# E
! w- }: s9 ?0 n( F% V& }邮编: ar >> dwData >>objid >> nPart; if( nPart >=MAX_HUMAN_PARTS ) Y5 a9 b( @, N1 a( r# ~6 T
return; 后添加:$ J, [# d" y, L4 s! A7 v" ^- P& T
0 k& B# | C$ D& {+ u% I6 h) X
邮编: 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; $ K" Q5 R9 g0 \, U) ^3 H
} 并第一个评论
/ J, v' Z! I+ t1 u, z邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );9 P8 y% {1 U/ j* f0 \9 V: h9 X h( A
你看在我的代码。
! |% X! i$ i* r, U1 j3 C- N, n2 Z1 E- G' ]! K' T0 _; M
8 M7 O1 h+ B( u" G' L* k$ T
: x; o5 w+ h: \购买崩溃:: }& l/ d9 ^& s$ ~$ v/ M) I
# F3 ^1 ^8 f9 ]! _) [扰流板:
' `. a" \8 ]9 i" L/ H1 ?/ `& Y8 O, v6 l1 }
你需要做两次,正常购买和红筹股另一个人购买 搜索:4 {& a" n; [2 @( ]1 W
6 x; | T0 P6 N+ x6 _. o! {* t
邮编: ar >> cTab >> nId>> nNum >> dwItemId; if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 ) $ ?1 n6 M$ `2 ?) h# R
return; 后添加:1 d9 g! ^0 z! ]) M
% c% m: j9 b9 b4 y, m
邮编: 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; * ?" R$ Q% g! A4 m( ?, X
} 并第一个评论
3 I& z' g+ n, _" J6 G邮编: CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );- V8 T) T& q) T9 x& d) k
你看在我的代码。 掌上崩溃:
8 H0 {0 t* S3 B) A2 w0 A, r. J- }" ~) W2 D) C4 \
扰流板:
+ _$ h. o! r( |. ]% n- M5 T: P2 X! R1 w
搜索:
% K6 L7 k0 h8 i+ m7 A. x2 E) A9 {' A" x0 W
邮编: ar >> nPocket1>> nItem >> nNum >> nPocket2; if( nPocket1 ==nPocket2 )
{# G% F9 F" f5 t0 S! A' ~: ? return; 后添加:
5 I& W, }& X" c3 @2 F
' T# @$ [! w1 ~邮编: //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; }, w3 S6 E/ a" v8 D& @
对不起,英语错误,因为我brazillian。
4 {6 [3 O. T1 X1 F哎呀,我喜欢,如果有人traslate德语。: F9 }$ D2 J' e) p+ }9 t
kkthxbye。 3 u, U. P9 w" |" a9 @
|