WarCraftChat 板


LINE

先前 Warcraft 板聚,很感谢大家愿意看我玩很多人可能没兴趣的东西, 但我相信忽视事实永远不会比了解事实让我们更能妥善地去面对这些。 不论你是支持也好,反对也好,或者是觉得根本无所谓,了解後才能选择自己的立场。 首先,谈到操控连线状态,也许在心头浮现的是,这是个什麽东西? 相对於游戏当中遇到开图或者是传送金钱的玩家,操控连线的作弊方式, 显然更不容易被察觉,也几乎没有反制之道。然而使用得当的话, 对於游戏造成的不公平程度,恐怕也不亚与妥善使用开图程式的使用者。 但是,不能察觉的作弊方式,不代表不存在,也不代表没有人使用。 所谓的连线操控,我自己给的广义定义,就是藉由各种手段, 改变主机与其它玩家之间的连线状态,从而影响玩家对於游戏中角色的操作, 以达到干扰或破坏对方战略、战术及战斗的作弊方式。 通常可以在应用程式层或者是系统层达到特定操控目的的效果。 连线可以有各式各样不同的方式,而在 Warcraft III 当中主要造成的影响有三类。 断线、延迟或者是读秒。以下将先简介 Warcraft III 的连线方式, 再接着介绍不同的操控连线方式如何造成上述三种不同的效果。 在 Warcraft III 的游戏进行当中,每一个使用者都会有自己一份游戏状态。 所有使用者的操作动作都会传送到主机,再由主机配发给每一个使用者。 再接收到配发回来的动作後,每个使用者的 Warcraft III 会依据先前的游戏状态, 搭配新收到的操作动作,计算出下一时间的游戏状态。由於所有的使用者, 初始的游戏状态相同,且收到每一步的操作也都相同,因此可计算出相同的状态。 一旦任何一个使用者或者主机,发现某一个动作是无法被操作的, 那就代表这个使用者跟主机之间游戏状态不一致, Warcraft III 将无法继续运算, 因此使用者与主机之间的连线就会断开,进而造成断线。 因此若是用游戏修改大师之类的软体直接修改本机游戏状态, 例如锁定血量之类,事实上并没有效果。因为当这个角色因为锁血而活在本机, 在其它人的游戏状态里面,它早已因为被攻击而死,一旦该角色再进行动作, 其它的 Warcraft III 将会发现这个角色已经死亡,不应再进行动作,而造成断线。 因此,同步化游戏状态的工作,有赖於主机定时将所有玩家的动作, 转传给所有玩家,唯有每一个人都能收到一样的游戏指令,才能确保游戏正确进行。 也因此,每一个 Warcraft III 上面的游戏状态,完全取决於收到的动作指令。 因此,只要操作主机送出动作指令的封包,就可以直接操纵玩家游戏状态的进行。 第一、若是主机直接对特定玩家的连线,关闭其网路端口(socket), 即会直接造成该玩家断线,这也就是俗称的踢人程式。要达成这个目标, 方法其实有很多种。即使不使用专为 Warcraft III 设计的外挂, 也可以透过防毒软体或防火墙,关闭特定的连线而达到相同的效果。 只是不为 Warcraft III 设计的外挂,通常没有玩家 ID 与连线的对应, 除了乱猜以外,使用者只能够自行想办法判断哪一个连线是哪一个玩家。 第二、若是主机不中断连线,但是也不把应该要送给玩家的封包送出, 那麽玩家将会收不到游戏中的动作。因此,游戏的状态就无法继续, 在这样的情况下, Warcraft III 会暂停游戏的进行,以等待必须收到的封包。 而对玩家而言,显示出来的行为就是开始读秒。若是 45 秒内未收到封包, 则玩家可自行决定中止游戏的进行。 第三、若是主机仍送出封包,但是故意延迟送出。玩家的游戏状态的同步就会较晚。 简言之,玩家若是总是收到三秒前的封包,那麽就只能计算出三秒前的游戏状态, 自己送出的动作,也会在三秒後才收到,产生的效果就是让使用者感到延迟。 值得注意的是,若是采用此法,由於原本的玩家和主机之间的游戏状态是同步的, 如果突然将所有封包都延迟三秒送出,会让玩家的游戏有三秒的停顿, 且在三秒停顿後所有的动作都会延迟三秒,可能成为可供辨识的特徵。 因此在实作时,应该将延迟送出的时间慢慢增加,以减少突然停顿的状况, 避免其它玩家怀疑主机使用外挂造成额外的延迟。 在实作方面,最简单的实作方式,就是透过勾载(hook) Warcraft III 的 send 函式, 在里面进行关闭连线、阻档连线或延迟连线的动作。首先,关闭连线是最容易实作的, 直接将该 socket 关闭即可。阻档连线与延迟连线,都有可能之後恢复正常的连线, 因此仍必须保持玩家与主机间游戏状态的一致性。因此,只要是尚未送出的封包, 都应该先另行储存,之後再依序送出,以确保依序正确地传送指令。 在这个原则下,阻档连线就是简单地停止传送封包,而延迟连线则是每个封包, 都延迟一段时间再送出,即可达到先前所提的改变连线状态的效果。 剩下的问题只有,我们如何分辨哪一个连线是对应到哪一个使用者。 最简单的作法是用特定的字串辨别连线。当 Warcraft III 在游戏中送出讯息时, 主机只会把讯息送给有需要收到的人,因此直接送出特定字串, 就可以在 send 时找到对应的连线,从而改变连线的状态, 优点是实作相当容易,缺点会在 replay 当中留下痕迹。 使用键入 bye 来中断的程式即是故意采用这样的方式,以避免作弊程式的滥用。 而其它真正以操作连线为手段,为达成改变战局目的的操控连线, 都是直接在本机端进行连线的操作。可能透过其它的图型介面来选择连线。 此时就必须要把使用者的 ID 和连线进行对应。这个对应可以透过观察连线, 在使用者加入游戏时传送的使用者 ID 和新增的连线来进行对应。 由於 Warcraft III 内部会给每一个连入的使用者一个编号, 在有新使用者加入时,主机会将该使用者的编号和 ID 一起传给其它玩家, 因此只要记住编号和新产生的连线的对应,即可对应 ID 与连线。 此一编号的编码原则,可以想像成总共有一排坐位, 先进来的玩家就依续从前面坐起,然而若有人离开,原本已经有坐位的不会移动。 而再有新进玩家时,会优先填补前面的空缺,而不是从有人的坐位後一个开始坐起。 掌握这个原则,即可简单地找到连线、编号与 ID 之间的对应。 有了对应以後,只要让使用者透过图型介面选取 ID ,再对相应的连线作处理, 即可达成针对特定使用者改变其连线状态的效果。 实际应用方面,可以针对对方强势的後期英雄,采取延迟连线的攻击, 导致对方无法精确控制英雄而居於劣势。或者是针对不喜欢的玩家, 不时阻档其连线造成读秒,使得其它玩家希望他退出游戏。 或者是在玩家角色死亡後踢除,造成因为被杀而中离的假象。 只要搭配适当的游戏情境,确保多数人的连线畅通,即可避免被怀疑使用外挂。 在现阶段而言,仍然可以算是相当强势的作弊方式,唯一的限制是只有主机能用, 但优势在於,几乎没有任何可能的阻止方法。因为同样的现象也可能因网路品质不良, 而产生断线、读秒与延迟的後果,无法准确地判断是否由外挂造成。 然而使用外挂者却能精确控制所需的效果,伪装成网路或游戏平台的问题。 唯一的自保之道,恐怕就是不要加入别人的房间,由自己或朋友开房最好。 -- 我实实在在的告诉你们,一粒麦子不落在地里死了, 仍旧是一粒,若是死了,就结出许多子粒来。 约翰福音 12:24 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.24.61
1F:推 cancerho: 11/07 01:24
2F:推 fish7973: 11/07 01:27
3F:推 nobrain5566: 11/07 01:29
4F:推 kkk520:加入LOL 11/07 01:41
5F:推 conbanwa:推 11/07 01:55
6F:推 gene6803: 11/07 01:57
7F:推 nick5032:大推!!! 11/07 02:10
8F:推 e2167471: 11/07 03:52
9F:推 LCV: 11/07 04:02
10F:推 white1003: 麦子大 不愧是台大资工的 好厉害! 11/07 13:50
11F:推 s605152002:跟我以前猜的一样 .... 11/07 14:44
12F:推 teddy78924:跟我以前梦的一样 .... 11/07 14:51
13F:推 QuentinHu:推!! 11/07 15:41
14F:推 xyzbug:快推 不然别人会以为我看懂 11/07 16:22
15F:推 kloer:太神了, 膜拜 m_O_m 11/07 16:24
16F:推 jjkk119: 快推 不然别人以为楼下看不懂 11/07 17:05
17F:推 octopus1991:屋挖 置底了 11/07 17:43
18F:推 Luber:快推 不然别人以为我看不懂 11/07 18:29
19F:推 Sashimii:我以为我在看paper...XD 11/07 18:41
20F:推 ilove305mmm:麦~神~ 11/07 18:55
21F:推 sherwinc:140.112 !! 11/07 21:29
22F:→ oldbear:关键字:只有主机能用,所以跟主机一队就对了 11/07 23:58
23F:推 lomit:麦~神~ 11/08 00:29
24F:→ handsome616:来PK五子棋 11/08 01:39
25F:推 shoray:快推 不然别人会发现我看不懂XD 11/08 01:53
26F:推 FrostMaiden:kloer:太神了, 膜拜 m_O_m 11/08 04:17
27F:推 lucky0509:小资工推 膜拜 根本就神 囧 11/08 05:37
28F:推 Gemani:有老熊推 11/08 09:08
29F:→ Gemani:其实我当三国主机时经常会想踢队友 踢了反而容易赢 11/08 09:08
30F:→ Gemani:同样的, os ai少一只, 胜率就高了不只20% 11/08 09:09
31F:推 zseineo:推 11/08 09:29
32F:推 Lazyyou:推 11/08 11:22
33F:推 ddos:其实已经有了 杀中前先让他lag 对面怎麽死的都不知道XD 11/08 15:29
34F:推 donkey5566:快推 不然别人以为我看不懂 11/08 15:38
35F:→ tattyHATE:这种文好像之前有被拿出来讨论过了,结论我是主机我超强 11/08 19:41
36F:推 albertviking:可以请问一下 如果我想了解这方面的知识 有没有推荐 11/08 20:20
37F:→ albertviking:甚麽书或网站?(好像有点笼统@@) 11/08 20:20
38F:推 kloer:回楼上, 首先要有紮实的程式基本功, 没有的话学不起来 11/09 13:10
39F:推 albertviking:阿!?假如我说我有,那你肯告诉我吗? 11/09 15:48
我个人的话,是没有特别看什麽书,网站的话就一般 google 搜得到的那些。 你想要查什麽,就丢进去查,通常资讯也不会有什麽系统,得慢慢拼凑。 很多时候拼凑出来的资讯也不怎麽对,剩下的就是苦工了。
40F:推 sen1008:推一个!! 11/09 19:12
※ 编辑: sitos 来自: 122.116.24.61 (11/09 22:38)
41F:推 ddos:不想写程式的话 可以建议先从Cheat Engine开始练起 11/09 23:44
42F:推 albertviking:谢谢sitos大 11/10 00:45
43F:推 jumbotest:标题好像某堂课名 11/20 21:44
44F:推 windnumen:有看有推 11/22 23:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP