飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
( b+ V/ I$ [! C( \
0 X8 H; @4 L, ~+ _首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
3 z% ?: e+ H3 b) |' s8 j" Q4 W6 c1 S
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。) G# M1 o' n, t. d$ {

7 z- n3 a! i3 ]0 K! m) b- X! sEquipament崩溃:
2 s# B. J& d/ w& m# o+ M( u* U, Y9 Q! F) W
扰流板:$ @  U1 O1 |; a* C
( r  Y4 g/ z6 S4 k
搜索:# _) x7 X  t' b2 \+ [3 P

" T5 ]% _; G) }邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
4 P: t3 k( M3 R% J
       return;
后添加:
5 h$ o! S, h0 B" a( y2 i; M3 S; t; A
3 l2 w" {9 _' W# J1 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;

' Z0 Y/ }  N: x# C& W) @8 s
    }
并第一个评论/ D1 i4 i7 l$ I& p
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
+ M; h! @. I: h" S0 o8 Q) X
你看在我的代码。7 `$ _/ @6 F8 a- b; z. z1 C2 b

) e6 [5 ?$ D9 l5 \; k: U. h; c
1 Q' Y- G0 L, K  x. f! b4 R
5 }  v$ E- y  D0 w1 B购买崩溃:  c9 k2 s0 F1 Y" e

5 u2 Y2 A- S; c6 n% T  r扰流板:# F" x; h2 ~; R% d" _
6 r- X% D) O& Y7 A& I7 h
你需要做两次,正常购买和红筹股另一个人购买
搜索:
' }2 q0 J& r( G5 n2 c5 k, Y9 B8 t
7 K) j% ^6 t: x0 g9 @& m/ M邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

1 T! O; |5 l: l! @4 _" D
       return;
后添加:
! v$ A, w& T/ s. l- ~+ {
8 K  k0 F* |+ h5 ?3 W邮编:
        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;

% R  r( i/ O" Z9 A) D1 A2 W" Q
    }
并第一个评论
  z8 `! j4 v& \" @邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
% m' X) z+ t5 i- _/ A  b
你看在我的代码。
掌上崩溃:
  g' e0 @/ z7 b9 [" ]# U4 J9 I, a" K/ B3 R) U- V8 |
扰流板:
' {3 Z) @( H9 o) S1 {: ~1 v9 k' @! {. F, j
搜索:
) W0 I% }7 I5 Y4 p
5 D* e9 l, N3 D( z5 u7 Q) X邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

) p: P" n- A9 Y: O
           return;
后添加:
% I- u) p  S/ A- ^7 w# X, B. @4 Y# s: @% s" ^' X, H- O6 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;               }% R# k5 G* b" j: v# r7 ~
对不起,英语错误,因为我brazillian。! q3 O2 x3 }$ {. V; J5 F  ?
哎呀,我喜欢,如果有人traslate德语。  Y2 t: O7 b9 L$ M
kkthxbye。
$ w0 S! q# z, ?, t/ C3 |7 B) V4 S. C
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-28 20:21 , Processed in 0.061318 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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