飞飞世界论坛

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

阻止崩溃包。

[复制链接]

197

主题

203

帖子

1054

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1054
QQ
跳转到指定楼层
#
发表于 2016-1-10 03:47:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
确定的家伙,因为我没有做,我会释放如何阻止每一个崩溃/欺骗包,并保存的ID/绰号的家伙试图您的服务器崩溃。
8 M/ w3 R; D) g& x# h) P) |! S9 z: Y4 a- j7 H
首先,你需要有VS.NET2003ServicePack 1安装和飞飞来源。, N% j- p# U: W. O
1 f, m- _0 x$ `) Y  {
为了阻止这些数据包,你需要打开上的worldserver文件夹位于DPServer.cpp。
) n" H& _  {  C8 e7 C" s. p6 @0 k5 ^8 F# n0 W. p- t3 C1 A% U
Equipament崩溃:" ^+ ^: ~9 [  ]. L2 _. D

& I8 U2 `8 y5 j1 w+ r1 u扰流板:
8 h2 p! _1 K" m6 [8 M8 O5 O7 l3 W; K* ~6 ^8 z
搜索:
3 K* A7 }5 F, Q( M
) G# `4 c- q2 ~邮编:
        ar >> dwData >>objid >> nPart;
        if( nPart >=MAX_HUMAN_PARTS )

6 Q9 Y7 J+ }1 _% b. P& V$ n
       return;
后添加:
1 e( u7 }: K! J0 C% ?& @9 q3 W6 f* H
2 {+ l1 Q  p4 u2 k邮编:
        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;

' ?/ p3 T( v8 o: X( X2 Q" r/ L4 B; ~
    }
并第一个评论
0 N# k8 K! k, m+ M6 u# N0 ~邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
* e8 Y0 |0 q7 N9 h8 |9 [
你看在我的代码。7 Y2 D$ G2 R- T9 }* M, {" |
9 L. b  s5 t/ ?5 B* s

, y. q2 f2 `# q
. \2 f7 C2 }4 o7 e9 E% j购买崩溃:. r6 R# K' F9 C+ x# l
6 R8 G: I# s1 M
扰流板:
6 D" R2 ?% m# T3 J1 V0 g
* S/ M2 r& T4 Y( z- W$ Q你需要做两次,正常购买和红筹股另一个人购买
搜索:
2 y7 o  @8 V! `" C1 |
( O( `# c& I' {( X5 X3 Y: Z邮编:
        ar >> cTab >> nId>> nNum >> dwItemId;
        if( cTab >=MAX_VENDOR_INVENTORY_TAB || nNum < 1 )

% g: [- Y$ y/ r
       return;
后添加:7 Q  `- E6 ]/ l/ k. p

( M# W& ~: Z4 ?0 m邮编:
        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;
6 |% e$ H5 b, Q
    }
并第一个评论, T  T3 D: Y0 |" ~
邮编:
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
0 |. e" Z: G3 @  F/ ?5 h
你看在我的代码。
掌上崩溃:
" M8 Y) k% G: O; r% [0 |6 U) K+ ?6 Y& |( c3 O
扰流板:
' f9 x- v' ~( Q, d' x- a  B+ S. A8 O8 t4 }: C$ U) _
搜索:
/ D7 D- N, I" k  e% b4 ^2 o3 ?8 j3 m9 U; D3 g9 _$ a
邮编:
               ar >> nPocket1>> nItem >> nNum >> nPocket2;
               if( nPocket1 ==nPocket2 )
4 a8 {# z% t5 r& p- U* ?; W
           return;
后添加:
% q& I" t5 _- t2 ~% {' Y/ i
$ J2 m/ j$ K4 o) I0 O. M邮编:
               //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;               }
1 N0 S' |; j+ G* E0 ?2 Q6 W
对不起,英语错误,因为我brazillian。8 k$ |+ p1 N) i2 [  q0 y
哎呀,我喜欢,如果有人traslate德语。" T6 Y4 i+ R! Z2 u7 [0 D
kkthxbye。
) k5 ^+ O3 N; I# v4 E
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 20:55 , Processed in 0.069915 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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