飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15866|回复: 0
打印 上一主题 下一主题

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。2 @* W% S6 Y- _) l( [

1 G1 k# [& V/ x' H首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。. \) D1 |& S; d+ j2 I+ ?9 ^
' _7 Q! H' H8 {- z4 Q& h% F
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
) [* c$ Q' ?( X0 F/ h2 ^. J' P: A- t0 V3 ?( U0 K  n
Equipament崩溃:9 l; E+ t2 S" |7 S' r) v# ?

" H2 Y% v6 ^+ c' X; P# y1 v+ O扰流板:
/ ^0 q1 b6 V! F( S, M- S! J+ p" M6 r; Z) v& V
搜索:) X& I5 e+ k. X, [( f
. n8 y  c* z# \
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
9 O( i; d& U- m
       return;
后添加:, S. K- M  Z9 o- i! z

; M  e, ?2 c% c, A5 {( W/ p邮编:
        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;

. G! z7 h7 T9 p  y
    }
并第一个评论
, Y- O) I# l- \* r邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );8 c: ]( Z* B2 s9 X: b
你看在我的代码。
3 X1 s8 ]  G: \* ^. }1 ~* p6 V* P3 l* D3 W

, i1 w3 R2 S  z& M- j
% P( Z* y0 y( n5 e购买崩溃:
$ N& s+ M0 a3 s1 W* S* V" C
. g$ N9 \/ [6 F  U- i+ P& I扰流板:: F% \) f9 {. s1 }+ U- h  B. O; e
- C7 I7 t9 V; u7 ^* l( `: i
你需要做两次,正常购买和红筹股另一个人购买
搜索:
& b2 m# H: }" ^* q& H( z+ Q
/ a- m. ^* v  {6 i4 h! E+ V( `邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
2 Q& A0 a0 l! ^
       return;
后添加:
$ i* P. s+ C7 t" b8 _  o7 l* k1 Q* }( u9 I4 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;
, y/ m# b* J! R  n" s. g
    }
并第一个评论! ^% E- [/ G" M6 a$ h& ?
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
+ t) W% t$ m+ q0 s6 n) ^! d; z+ p
你看在我的代码。
掌上崩溃:8 P8 b; _/ e) t5 M# O8 _" F& y
. ^6 G8 U- ]& M8 {
扰流板:( [- a2 {* G; s7 i8 f
9 K2 b2 R" X) X2 O. j- l6 A
搜索:; Z4 T1 h3 [- o' x  N3 @+ Y; W
0 T  r& F4 m# [' Q. ?. \* D! z
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
- e8 e, Q- T( H5 ]: _0 P2 B- g0 O. d- L
           return;
后添加:
" E, e& p+ F. \( K5 R0 n: p
- p% A" [8 a- i- e$ t: `& n邮编:
               //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# b& }$ C2 C& t" [
对不起,英语错误,因为我brazillian。' f% ], a" U4 I& N* ~; x7 [. k
哎呀,我喜欢,如果有人traslate德语。* L5 Z8 h; u, H3 U% p; d7 K
kkthxbye。
+ U" G/ P% _# }) X+ g
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2025-7-3 14:57 , Processed in 0.082334 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表