飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。3 v: {& m' U; i  d- Y" W
0 q# e" n, r+ I5 Y  k8 l
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。( A+ {4 W* X6 Q8 T, Q/ p, ~

7 @( u3 T  e, Q为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。5 u6 g  F6 |% v! C  M
( O! [( |/ d/ b9 H: R/ X3 O- @
Equipament崩溃:3 S; X' I& J+ \+ L$ i1 M- Q
; [1 K: O7 P/ E# a, E
扰流板:
: A, _4 D  r, X2 G2 g7 U0 C) `; k1 E7 q( ~- Z5 j. K
搜索:# M) R: y* y! J* o8 u

' o8 C2 V" }: |4 M3 @6 `( S邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

( J- t" F( {8 w- r- D: M5 }
       return;
后添加:
" [# w; j. @* h8 L/ T) r  Y
8 b0 Q* I- _0 F, D" q邮编:
        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 L) ~8 ?4 p) a# {  x
    }
并第一个评论
, ]9 u  U3 `5 N. d$ `邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
2 I3 o; q, [, q4 \+ u% O
你看在我的代码。) t3 ^# d9 @, Q0 O1 B# G
+ Y: G6 g' Y  U( ~

9 m. f, o# d# f0 @9 S6 V# N6 Y2 ~6 z3 ~/ }
购买崩溃:1 ?; g! w! Y- f! H5 C( d

: }! {# v; b: D' H- T5 X' o扰流板:  N+ Z; T' d, [5 J
* d  ~. B) a: V3 X* [: f
你需要做两次,正常购买和红筹股另一个人购买
搜索:5 W( E* A3 k+ y6 C& [" Y

1 I1 v! C% T2 [9 c, N邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
$ Z) U. o# J9 \; H% X/ l
       return;
后添加:9 i! ?: E5 I( A  I
* H; g) z, ?  _# s: ^
邮编:
        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;

9 p2 h& ?& P* M+ P
    }
并第一个评论$ p' s/ ]1 m2 h% f: l' n9 R
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );, ]; z5 K" q  d  {
你看在我的代码。
掌上崩溃:8 R4 E1 z5 |* u: N3 i  P
; w5 A% {& n6 E% H" Y! G
扰流板:! F" i7 X4 i0 g+ o/ u

. K6 d# H6 J0 G8 S搜索:$ I3 _* {* w" B

$ _# q  W: \% o$ C, k邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
- j( \( P# m5 V7 |* J  e; \" g
           return;
后添加:
3 ^0 X9 u6 q; ~$ r# n
# t6 w, J3 N% B" i邮编:
               //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;               }
+ ?4 ~3 L, S; o3 z+ U2 k# ^
对不起,英语错误,因为我brazillian。  K0 w( L; R; S. r
哎呀,我喜欢,如果有人traslate德语。
* l7 F$ m' f, G! A( M# u* Xkkthxbye。
8 x: q1 J# |# T: B
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 20:22 , Processed in 0.056629 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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