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

飞飞世界论坛

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

阻止崩溃包。

[复制链接]

200

主题

203

帖子

982

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
982
QQ
发表于 2016-1-10 03:47:08 | 显示全部楼层 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。" [4 b& e: Q; S9 q: T7 D+ x% d
$ r, d7 l0 ]- W% {/ s  k4 A
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。& Z2 R% a* ]; W! o

7 x# O# F  k8 r% H/ O为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
% p& y: b$ p2 R/ u* W
8 k- G# [7 ?- R- E; M3 lEquipament崩溃:
7 X2 Z4 Q2 ^3 A( y# Z5 j6 d1 n; {# }( q0 `
扰流板:
( k' [" ?" V7 W% t3 s
4 Q- q8 j1 k; w" r) j, D, G7 {搜索:- f1 s4 y7 q  {* j
' i2 f/ h* F/ g& k$ V# r+ w
邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

+ P) H0 N. _9 v: P
       return;
后添加:
7 m( N% Z# a: B
' X* Z+ L  L: n; V' Q* X" @$ A邮编:
        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;
9 b" H& z( u! o
    }
并第一个评论) e6 l1 w! N9 C% \/ t0 Z
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );9 l( b- O# T  `6 c) z4 l+ ]
你看在我的代码。
5 C# L: p3 u) y6 A* i4 H5 Z( f) z$ |3 o% J4 W* y
9 a3 N# x" Q# j
2 n* f/ ^7 {6 D' J  K
购买崩溃:. Q0 @8 P; f) ]7 f9 p' Y

3 H  D$ o+ E+ z, d! M  J扰流板:
- m- x5 {+ m6 s6 C3 B' \
' O* e* N3 x6 y9 Z7 _7 v8 M7 I7 t你需要做两次,正常购买和红筹股另一个人购买
搜索:* H& }$ K* j8 ?1 A
) O: q9 F3 I* b$ [- m
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
" P: X) \! o+ i3 n& Q* S
       return;
后添加:- c; `; ?( y2 v9 V( x
) V4 W6 x$ o9 y; e  ~' Q! \
邮编:
        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;

  X9 U& l9 `+ V, I
    }
并第一个评论1 ~/ J7 K! U; x: T' z/ j/ S% Y
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
9 c- n2 k0 W4 E1 o2 a
你看在我的代码。
掌上崩溃:0 ]$ }: i4 `! Z
( J3 y1 W5 F3 w' M
扰流板:
# n; P9 r: e' r1 Q
1 W- H7 x" }4 n* [: T4 n搜索:5 l8 Q' l5 G3 L8 {3 ]9 W+ _/ u$ c
$ Z, P% I+ _/ ^; S/ a
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
" L9 v4 [* I( u7 A) e
           return;
后添加:. X2 W. V  y1 E2 n: ?- i( I7 H
/ B, e! `$ `# B5 q; t! \
邮编:
               //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;               }
& n% Q8 N$ Y, r1 M% j
对不起,英语错误,因为我brazillian。
* K9 a$ w1 r2 @! D哎呀,我喜欢,如果有人traslate德语。9 p2 ^& q+ S& Y
kkthxbye。
1 D, l8 T9 i. ]/ K# U' a. K" \
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 15:17 , Processed in 0.060170 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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