请选择 进入手机版 | 继续访问电脑版

飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 12130|回复: 0

阻止崩溃包。

[复制链接]

200

主题

203

帖子

982

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
982
QQ
发表于 2016-1-10 03:47:08 | 显示全部楼层 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
0 J$ y% a6 W8 H) `9 z* M' b% v# x9 j4 k, v- P
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
  J8 p, g& }. @0 t
5 G( v$ u) @& Z  J, g. g为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
( H$ l- r  `& [, E" Q+ ~) @6 t* o6 W8 [6 j6 e0 x7 A* V
Equipament崩溃:2 O5 K! c+ e8 x2 [* J  V1 z
+ X2 x0 m, j, m0 y7 N7 k5 x
扰流板:! G. M1 m* o5 y, W
9 e! I0 P2 R$ A" H9 W) P. {
搜索:# D* y/ R, e/ {

# k" w+ P3 j2 Z) O* Z( f邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
+ K# S7 D$ X$ k% M+ y  g8 O
       return;
后添加:" C6 _- I1 @1 }6 x& v0 S

" b+ D% c* k/ T( U$ j  Z* h邮编:
        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;

5 T' R" c4 I' V% {! a! s1 j
    }
并第一个评论# h+ O* r- ^9 H2 \' z  J/ ?
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
) R, g3 p! f$ I& J- H- n6 a
你看在我的代码。
7 |  G6 ]* [0 i+ e" g% x
) J$ D* K5 v% P& w- e  w: v0 Y7 a, b3 }3 G0 w8 i/ Q
- r  C/ q3 C3 ?& A' J2 t- V
购买崩溃:
, Y  I4 k$ A; N0 i6 W! O6 W* x8 _/ Q* c  X
扰流板:
- Z0 A$ p# X, }/ }! c8 B
! S1 g( j, f2 L  ~5 l你需要做两次,正常购买和红筹股另一个人购买
搜索:
$ M' M3 s# L3 r4 ?; Z, U- S4 Z' M7 \# b- _2 _* d
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
+ w7 l8 F; w+ k2 x. |
       return;
后添加:& B- ]& s+ m8 w$ }$ c' c

  I$ @) T* V( l$ q% M5 B+ ~邮编:
        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;

5 ?+ u' l. y6 r
    }
并第一个评论  T5 r# I( x' O
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );% [+ y' Y& M/ }
你看在我的代码。
掌上崩溃:
+ T7 Q5 ]' d+ i: u1 ]3 m# T3 u+ W% j& T9 Q* c; K& e
扰流板:
: _1 h  V3 m0 W% h$ G, ?) c* \. @! A8 w& J7 f/ R; V5 X
搜索:
  |6 p* f4 O2 a* h8 S- i  o* `# q9 o# F
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
) n: ?9 g  I  D* g3 C/ B( L
           return;
后添加:
6 V; a; [2 d8 h! d/ x: J2 K; H8 p) a
: d3 V& m! L* a! q! k" q* j邮编:
               //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;               }
) U: T" T( J# V
对不起,英语错误,因为我brazillian。
( r2 `6 y4 ]8 A哎呀,我喜欢,如果有人traslate德语。) A: g+ U1 H" {" k! ]/ a2 |1 }! a
kkthxbye。
+ I' d- X3 m" e2 i/ P6 Z
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 02:48 , Processed in 0.063331 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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