婆罗门
精华
|
战斗力 鹅
|
回帖 0
注册时间 2009-4-29
|
本帖最后由 charlygaol 于 2016-7-6 17:23 编辑
最简单的FPS游戏通信机制:
客户端:我击中了玩家A,对他造成10点伤害。
服务端:玩家A血量-10。
逻辑非常简单,服务端完全相信客户端的计算数据,作弊可以在“是否击中”和“造成伤害”这两处进行,很多低成本FPS游戏的穿墙秒杀挂就是这么来的。
守望先锋的通信机制:
客户端:我在时间点t,使用武器X对坐标[x,y,z]开火。
服务端:玩家A在时间点t所处的位置是[x,y,z],与你在时间点t的坐标之间没有障碍物,因此你用武器X击中了玩家A,玩家A血量-10,你的大招进度条增加5%。
伤害大招等计算都在服务端,因此守望先锋不可能出现秒杀挂,但是依然必须相信客户端“对哪里开火”的数据。
至于修改能否检测,是一个很大的话题,客户端反作弊的攻防对抗是无穷无尽的。但不能改变的一点是:客户端再怎么强大,也是运行在玩家的电脑上,玩家对电脑有最高控制权。因此没有万全手段确保客户端不被修改,任何反作弊理论上一定能被破解并且绕过检测。游戏厂商能做的只有不断的提高破解成本,上升到足够的高度之后外挂制作者就无利可图(比如大名鼎鼎的Denuvo)。但遗憾的是,目前还没有任何一家热门FPS游戏做到了这一点。
|
|