飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

986

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
986
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
4 N6 A. M4 E8 f& V( `6 c, z
- b3 Y( m/ L7 y4 }6 U. M* r6 J3 @首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
0 L0 P0 W' ^1 t9 V; I; n6 T, C% p8 Q
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
) x. `. S4 Z) T- c! O
; d" j' I. h, C/ g0 gEquipament崩溃:/ ~  p- K( ?5 Y5 ~( b5 a
" F4 Y" L6 b+ F2 k+ o
扰流板:
  [3 @  M. q3 m; }! F% J$ [+ E4 n  l+ {
2 q4 m. o0 v4 h- b搜索:
2 o4 S+ u7 R4 w  v: {' q. y/ t6 m  k
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
# H. k1 G- `5 u, }7 y
       return;
后添加:
: s1 {! ^8 m/ t& J2 D: p4 r3 _1 a9 n# F  ^
邮编:
        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;
0 s1 ^5 e: n. o4 x- Z" j8 s5 L
    }
并第一个评论. Z' U* t& K8 k9 |, \
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );4 r( y' a& p' A" c
你看在我的代码。9 L7 X# [& P! q& Z7 D$ c
* v8 d( l& B  l( Z* }

! R5 f& X, _3 B4 r" G' I5 R9 Z* A: s9 H- W
购买崩溃:
1 ?: \+ v4 |) W, R2 [# C3 k1 N4 O7 {' ~3 \9 K
扰流板:8 X/ O" W- l/ [" h5 m3 g& J' ~
$ Q9 U  k: e9 Z0 ^, y8 J! k$ T) F
你需要做两次,正常购买和红筹股另一个人购买
搜索:
& p: ]( `) a4 K6 K7 ^2 `7 o9 W* X6 D" R
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
' T$ ]1 y) V& W% G. f) C
       return;
后添加:9 L& a9 V5 F9 v, W( q/ h
3 N/ _2 g: h& b0 Z3 t
邮编:
        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;

; g8 ?" i$ E6 P8 U
    }
并第一个评论
- o0 V4 _7 T5 }1 w) Y邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
3 O5 d4 O+ v4 ?2 v; m  p0 M& S
你看在我的代码。
掌上崩溃:. f# e7 P: T3 i' e
# j; w' b; T% P, K
扰流板:
7 ^& k- x/ Y; }; L
" a" i' c& K% X; Y5 }; Z$ N搜索:! Z) ?, J2 U6 _/ b

. c9 e2 ^/ s+ ~6 y邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

' \7 U' D5 t/ ?6 f
           return;
后添加:( }7 H( y$ A. z5 j6 v) M2 }

+ w& W, y0 T0 Z: d. }6 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;               }
, u6 k- c% e5 I. W+ W
对不起,英语错误,因为我brazillian。  [  R9 h* u* r1 b
哎呀,我喜欢,如果有人traslate德语。; K2 n, |& _) a. t" M# N
kkthxbye。

% y9 g  r: ]1 f2 D
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-15 17:49 , Processed in 0.086046 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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