飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。9 O+ I2 z" C. w( s

; c: k6 }8 P3 ~+ T% N首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
0 W: z5 d* Q2 T
5 S  o, W& v% e, h. R0 H为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。! J& O6 a5 I5 t) j4 b5 V- l0 @

/ v# Y" C6 W! T+ o# P/ }$ O8 W: lEquipament崩溃:
" J( b5 W, _+ S# g$ u9 ?! V3 v, b; |3 Q' d
扰流板:& d/ v( ?; B6 g! x5 g) T
0 q3 a. @4 Y7 @* ?" y
搜索:: A! a+ W$ K7 _/ w& ?) f
) S( j4 ?9 ?$ X. U! |: G7 }
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
4 x/ l& m! n# p  Q
       return;
后添加:5 r- f; M/ N3 g  Y: r; l5 e
( S6 b2 t& `4 `3 J8 D
邮编:
        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 I  w# w# N- r5 R
    }
并第一个评论2 F  v) y( p: b$ c
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );- i1 d$ \3 f4 _: h
你看在我的代码。
) S8 o* U! @7 i4 a$ G! j
  t+ _. U4 ?7 T$ @. H9 n& x1 W
' b0 ^. q2 J5 U$ X; `
! k) J, Z, G8 z3 M购买崩溃:6 R. x9 z1 U* t" F4 ]8 e4 D9 f  ^
( ~! ~$ h% S6 l7 _* Y# C$ L$ `
扰流板:
* K$ f" }4 m' L5 @8 V1 I$ k, M8 w3 y8 g- M# R! W3 G
你需要做两次,正常购买和红筹股另一个人购买
搜索:+ H7 m/ J9 O! g' I& w* S) u# k

' v  Y6 r8 ^3 |4 H+ D邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
( {: ^% [9 b0 w
       return;
后添加:! `' o' ?/ N$ a
8 K, V2 z" x% |; c8 `
邮编:
        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;
3 k3 a& d" T. f5 @# X( G, j7 J
    }
并第一个评论7 i4 P1 \5 @5 }/ `" V& i
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
0 j  z1 X" M  z  `: i! O
你看在我的代码。
掌上崩溃:, q5 x$ l9 D' _$ j1 E2 ]

& e7 b3 i: {$ }6 t) {" b4 [扰流板:! F2 B6 n5 x3 f4 ]* |$ M' l

' `3 J5 Y- b9 c$ I* D搜索:5 r) x4 `/ M. a1 @5 |% l; X" N5 u
7 g/ i% ?( ?0 E7 h" a4 W" j. M% F" u7 k
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
# U; g% U7 m# h9 D! ^" S" U. r5 I
           return;
后添加:! i0 Z5 k- _4 Q9 p; u2 _
0 A+ y  g. C  d7 e' \: 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;               }
0 u$ s) q. C+ _- U
对不起,英语错误,因为我brazillian。
5 g0 Q' H/ b8 e哎呀,我喜欢,如果有人traslate德语。- f' g& a+ f* q( @
kkthxbye。
: A2 k, p2 L. y9 E3 i
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 11:48 , Processed in 0.057057 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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