飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1074

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1074
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。, y- n, c7 u# f* e& L3 Q
4 i. M  ~$ o& N5 Z" g4 j) \: c* N
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。# a, C6 l  Z- Y, c( w; \8 A2 F

3 R7 q) \# l- W8 O6 A* M% n为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
6 h! k( P$ ?! Y1 ?0 W
5 }1 C: v5 z( Y% h) b$ _$ x. tEquipament崩溃:( k. L( Z" ?% }# a: T8 U
4 \- t! ^; {2 l9 i: z- m
扰流板:- N; [/ D$ V& n& s. X

; K8 A9 h( O1 Z6 k/ g/ f- n搜索:
2 x+ h! l) M9 T: [% n4 e) k: U: Y; A- F3 N1 I2 d. r+ x
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

1 N! c+ c* x( p0 [% J% ]- s
       return;
后添加:! V; s( O; W# T( e

9 Y2 c& {& R! T; I邮编:
        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;
. R9 Q. \& u. Q1 w- V" v/ \$ ]# R
    }
并第一个评论" r8 F6 P8 A0 x' {
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
% Y9 {/ Z$ P. e! v$ H& M! ~2 P4 n
你看在我的代码。
) F: u* Q/ j. Y4 Q- L) I; f0 l1 U1 n7 P

* T" t" t5 i' K1 T9 G7 [: N8 Y  f: @: d0 T
购买崩溃:
3 w7 e1 z3 X( M+ a& o' c3 S0 S) B5 \4 U, {
扰流板:
* p7 r. f; ]- L% M% ?$ s# {
2 M1 f* w$ z6 V7 o  z& G你需要做两次,正常购买和红筹股另一个人购买
搜索:! L- Y1 W' m4 O- E& }
2 E( W8 _/ R% Y
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
1 }! s* r8 B1 R- O) \7 J* t
       return;
后添加:
; \. }  h! B3 O* P0 U3 c9 g: F! B2 a2 x8 c9 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;

8 O3 z8 p0 k: z* S' ~
    }
并第一个评论
6 F# H6 _/ o; |$ t9 W4 @% |9 Q邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );+ ]0 ^2 y' n0 A: P' z5 i
你看在我的代码。
掌上崩溃:
5 o( a4 x* Q6 X9 w9 _
. c9 h+ H! r4 I* B扰流板:& }: B3 }: Y' |9 p. ~
+ x1 W. v& f' ~1 q) M% D  w
搜索:
% f) ~6 @& b2 D- K. A# R- h! [9 q2 B  K/ \1 w) x0 n
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

* v( T" V! S7 e! ?
           return;
后添加:
6 o- s, }; y8 ~" _  U* V* f5 M. j: F( d& [
邮编:
               //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;               }
9 `2 N# e1 `, d$ E& ^
对不起,英语错误,因为我brazillian。* W' ]. R/ H6 F6 }9 ^
哎呀,我喜欢,如果有人traslate德语。) z* d/ K/ r7 G6 q( ~: _7 W& ^
kkthxbye。
* f1 w8 R/ |/ G
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-14 08:48 , Processed in 0.063566 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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