FPS 里为啥总有人做挂?
游戏作弊这事吧,不仅是个社会心理问题,还是个科学技术问题。FPS 游戏里为啥总有人做挂?因为外挂开发者不怎么费劲就能做出挂。这是多人 FPS 游戏基础架构所决定的。
现代 FPS 游戏大多采用帧同步技术 [1],把数据运算放在客户端本地,游戏公司的服务器只负责转发玩家间的数据包,几乎不做对比验证。
只有这样,才能在有限的服务器容量内,完成巨量数据交换,实现低延迟对战效果。然而这也留下了可趁之机。因为很多数据在本地,外挂就能很轻松读取、篡改数值,实现自瞄、透视、无后座各种神奇效果。而这些异常数据还会被服务器原样转发,呈现在其他玩家的客户端里,就成了打破规则的“魔法” [2]。
对此最最根本的解决方案,就是把数据运算全放到服务器端,把 FPS 做成云游戏。但这事目前看来还不怎么靠谱。单机 FPS《毁灭战士:永恒》在云游戏平台 Stadia 上,都有可能出现明显延迟,更提多人对抗游戏了。
那该怎么办呢?主动一点就是使用反作弊软件提前检测,一旦发现外挂程序的特征码,就强制关闭并封禁。拳头公司 FPS 新游《Valorant》所用的 Vanguard 就是这个路数,如果在对局开始前就检测到异常,游戏将提前终止对局,避免浪费玩家的时间与排位分,这思路还可以。