飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
% j; s7 Q) _: \! q( ?/ N8 B/ s9 {# E) P2 r* _
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。
# r' W2 p, }  n. Z+ {& z  T- S9 E
: \' {0 m' _* f0 q* E  N. y9 m% Z# q为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。" t0 w4 t: \/ p7 L& [' ]% x& S: J+ A
5 T5 m6 i0 y" z5 y2 A
Equipament崩溃:
5 @& w" T6 I6 Z5 p7 }) ~9 ]
5 Q3 J7 |9 f6 N: a# }) h9 u8 s9 d扰流板:
; f1 k3 y) _; g5 }
5 H  t- |' }8 N  Y' I" C搜索:
1 Z6 ^% k( ~. ]: i3 g
* V  G( S9 d( v4 o3 i; [0 w! M邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )
& t4 h- |$ b& v" J3 ^6 C9 e2 y
       return;
后添加:
6 I3 O; E6 @% X" i; a* {* Z. P7 z8 t8 }& r7 B
邮编:
        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;
( z# a: w8 A8 N# k; k( t* ^
    }
并第一个评论
3 S/ U* p& H  Q+ A2 @邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
* E2 e# T3 R4 y% `. N. l: v7 y) n1 b
你看在我的代码。4 U0 D: ?7 O2 E; ^6 f) F* W3 l/ b1 k
' ~2 Q+ x# Q6 P0 @1 l% {/ q/ W
8 u& Z% a/ a2 u  q" a
3 }$ {7 V+ G1 j; O0 T. m# t" H
购买崩溃:
6 E% Y, x5 \1 g# Y* b5 [
* N4 {7 U4 \3 V* N* `! e. h扰流板:) u# E% L9 t3 ~2 N+ t
+ q" c4 r* R" R0 z- I7 P
你需要做两次,正常购买和红筹股另一个人购买
搜索:$ m5 z+ `; G% s- o8 s; I$ N3 T% e
/ R$ g, o8 O& B- E+ s
邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )
  b2 _/ n/ s2 l6 u0 E* d" T
       return;
后添加:1 F/ l" X; C9 y$ u. F. a% j
+ q; y7 b% Q" |! p3 Z
邮编:
        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;
% T  F) ^2 k" p9 k" p. `
    }
并第一个评论
! A: B1 C, S& I6 D$ i, p- q邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );! N4 s- u1 ]+ V4 z* \  x
你看在我的代码。
掌上崩溃:
6 g8 N1 G$ X; ^) D" C, v2 B/ ~9 i  a" ^  R' U
扰流板:+ `7 n, E: j2 u* h& o' j

6 d5 c* A5 B4 ~4 l& ~$ J搜索:# p3 B' g+ i, Y

& `& U4 M9 K7 Q4 `0 ]6 n, c邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
/ i; F* o( Q/ d! [- K' w4 `
           return;
后添加:5 `) C3 T# V' q/ y2 m+ I: J2 U( h
% `: c% P( H1 x3 F5 x) }
邮编:
               //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;               }
, M: j" \( |7 v
对不起,英语错误,因为我brazillian。* U1 P, I& Y8 f" C: }
哎呀,我喜欢,如果有人traslate德语。
' H- D5 `1 b1 |- ikkthxbye。
! d1 w9 i% P  Z$ `
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 13:56 , Processed in 0.062308 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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