飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1054

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1054
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
9 ?. a0 {# t5 L
. }! l  U  q* v% m0 }% @/ u$ `首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。$ n/ c; o, y/ O# {: V0 I: B' o8 v
+ k1 m# o$ o4 ?- \- ?. X
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
' H' g3 R. s* r- N8 t8 z+ B( \8 H# Z5 F5 E8 S
Equipament崩溃:4 q+ ?+ P$ l& V5 H+ Q& q- n  Y! O
$ y, E5 d$ c. h( d( X% x
扰流板:$ \: I" [, i; [/ y" |1 x& m
: P/ `6 ^# k+ P( I+ O' U
搜索:/ ~3 o& x8 d& D7 c6 M
7 f- w- F* H4 v% I
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
$ H8 x6 }* `. s: O1 x! B
       return;
后添加:
$ R. r$ d( T2 K! T& T- M+ P+ X' N5 F# i6 ~2 _# s; y! 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;
. L/ H: G+ A/ E- Q* ?+ b. S
    }
并第一个评论& B! w+ f9 E% p: s
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );. H/ L8 i+ {8 L" a. Q3 ?3 H
你看在我的代码。
1 f$ P6 m" O) q4 z: C
  y) j- ~9 u: z0 ]( g0 Q9 f  b; W, @' f+ |1 `* b

# n% P9 k; h* ?- a2 B% w9 s5 a* ?3 a购买崩溃:# a# L+ p: ~! q+ p; w

2 a/ C" y9 @  L$ J% }5 I扰流板:
+ b6 Q) z2 i* ~0 z( V
/ P+ {4 x! J- @; s4 R9 w/ ~1 V你需要做两次,正常购买和红筹股另一个人购买
搜索:
7 C! z7 X$ R% w* d- v$ Z  j
4 c7 r/ A) ~0 e! q* m邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
$ `* a' C* t- [; Q. c% W
       return;
后添加:# H$ C# K6 G; F) W

  i% ~" r/ r  ~, D邮编:
        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 c4 j- s3 A* b8 ~, @
    }
并第一个评论
8 g6 D# |% a8 V1 [4 R8 z" I邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );/ e3 }  f- e) l& S& x; M) d
你看在我的代码。
掌上崩溃:
% U% h% Z: @. r: }9 E  ]' @/ ^; @7 w& k5 j: I
扰流板:
8 v  O) V5 S2 q/ T6 D/ A0 o% e) `( B+ l0 Z6 P) m0 t
搜索:& m2 M" c0 V3 @/ i; s4 J
/ g( g3 k2 H( a0 S
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

' ~$ @' H* i4 j3 e
           return;
后添加:
+ K. i  Z; J; X" k5 X- M; A
, B9 j. ?1 n% `1 L2 F( }/ Z邮编:
               //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;               }3 w: j& d% u1 O: z3 M
对不起,英语错误,因为我brazillian。
0 |( ]+ A" \7 r$ q/ e哎呀,我喜欢,如果有人traslate德语。" q; N5 @+ l, R# z$ b. J$ y; I
kkthxbye。
' l* N# H6 A+ J
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 02:22 , Processed in 0.081213 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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