飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
/ `7 B' B% ?1 p9 G4 |  b. z! F9 A; _; l$ L- H: D
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
1 ?9 H" r) N% k( h$ P
( N6 r. F4 T0 H; K+ K+ q9 A为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。6 y2 V0 {6 Y9 N/ h

$ x7 I- N2 X. k3 s1 G* \7 z" EEquipament崩溃:
' e5 o. [) }4 E8 M' Z
8 Y+ b* S9 S* D% G, p  m' V扰流板:3 r4 Y9 |( Z7 y3 y' e+ G6 z

# t5 X4 S# I7 I/ \9 ]搜索:
( Q  ~9 X" H1 O# B2 Y1 y
, o3 K/ x. x  c! d邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
7 w% \' {" \& P* _* t# \# Q+ W4 p
       return;
后添加:% r) I# W; U7 |; S" |1 S

* a& H  |. d- m* O9 L: 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;

3 Z! g: F: \" E7 _5 K$ c$ E
    }
并第一个评论
) W  l2 ]$ e% `: @6 K邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );" r# I6 }" D. Y2 ]7 F# e8 A; d5 j
你看在我的代码。
$ F) M- Q( @9 }8 |3 z8 Y1 t" G2 ?4 h0 D; K1 Q( z, E+ J
" J9 a; U; U" L* |! E7 Q

2 i' {9 c  `, g! F购买崩溃:
: ^/ Q  W. _  p& A' z1 o  q2 U
3 b* N' V& n* e6 Z8 V" u扰流板:, Q+ l6 v" `5 l/ f
0 u  S$ F9 i2 y% d( s
你需要做两次,正常购买和红筹股另一个人购买
搜索:
" h2 R; z9 ~9 L( c6 S% G% T: J# e4 N. B0 o
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
' S" S6 u& g: A/ b. z; D
       return;
后添加:
0 f3 j# N4 r3 T7 Y; _, |
4 c/ U$ n- j: J5 m- w8 A0 j1 N邮编:
        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;
& h* W$ T$ ]+ w) P! _! c
    }
并第一个评论
/ Z( T4 J4 Z- {% ~邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );: s8 h$ T( ~* {/ O" \( }
你看在我的代码。
掌上崩溃:7 r, ~" K" F8 L2 ^4 L1 R, Y
  r1 k! Z" u. K5 o( b( x! W
扰流板:
3 {: l: l" A$ O7 j/ s4 M4 u( \6 u/ I$ d0 J  d
搜索:
8 D" h9 e3 K) Z# h* a2 K' d1 n* Z
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )

* i( V1 g. T# _3 h7 T* @3 R; B1 {
           return;
后添加:0 h4 ^+ V; P9 ?* l2 W
% w; O/ v* o3 u  t' 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;               }0 m! W! }  X0 B0 j$ C- n4 j
对不起,英语错误,因为我brazillian。
! X3 d$ Y2 N3 k$ B+ `哎呀,我喜欢,如果有人traslate德语。
* N: N6 B+ k( |+ K* {kkthxbye。
6 t# V5 |5 [  r8 y# o* W" k' a. d1 y
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-13 01:24 , Processed in 0.062898 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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