《绝地求生》外挂原理解密,只能封号,官方也无能为力!


昨天,极致哥发布了一篇腾讯终于出手,做《绝地求生》的外挂团队被抓了!的文章,没想到引起了众多读者的讨论,但在讨论中,也出现了一个很有意思的观点,那就是《绝地求生》的外挂到底能不能防?

好,既然说了要科普一下,那极致哥也就在自己知道的范围内尽量通俗易懂地给大家说明白《绝地求生》外挂的一些原理和为何不能根除的原因吧~

网络游戏的结构原理

首先,任何一款网络游戏都会有客户端与服务器端,通常情况下客户端负责实现我们玩游戏时的一切交互(操作)和展现交互(操作)结果,服务器端负责完成数据验证、处理、分发等工作。

《绝地求生》的特殊性

但是FPS类的射击游戏就比较特殊了,这类游戏对数据的实时性要求特别高,而作为主打真实的百人竞技《绝地求生》,需要处理的数据就更加复杂了。

绝地求生-SKS

例如不同枪械的不同弹道,你与不同敌人间的距离,击中不同的部位会有不同的伤害数值等等一堆数据,如果每个人的数据都交由服务器处理,不但对服务器性能是个重大考验,更重要的是会产生很高的“延迟”。

举个例子,假如数据交由服务器处理,你这边打了敌人一枪,然后客户端把一系列数据发送给服务器,服务器再计算结果,然后再将结果发给你和被打中的敌人,你想象一下,一台服务器上有很多场比赛,它需要同时处理每场比赛每个人千变万化的数据,这中间哪怕有半秒钟的处理时间,都会让你觉得游戏“好卡”啊!

因为我们玩家要看到的是打中敌人,敌人立刻飙血,容不得半秒钟等待。

所以FPS游戏为了保证游戏体验,只能让数据都在玩家本地(也就是你的计算机)进行计算,还是以你打了敌人一枪为例,放在本地计算以后,服务器只需接收到你对敌人造成伤害的这个结果,再将相应的结果转发给敌人,这中间的“延迟”就会非常低了,这样才能保证游戏的流畅进行。

外挂的原理

但就是因为数据本地化计算,才让外挂有了可乘之机,外挂可以通过修改数据来欺骗服务器,比如说闪电侠外挂,玩家没有载具的正常情况下,速度是会有个上限的,而外挂可以通过修改数据欺骗服务器,说你现在正骑着一辆摩托(实际上没有),能够让你拥有摩托车一样的速度,这样就实现了加速。

而自瞄也很简单,服务器会将战局中其他玩家的位置发送到你的电脑上,这样你在游戏中才能在正确的位置看到其他玩家的人物模型,外挂就可以通过读取这些位置信息,从而实现自动瞄准锁头等操作。

于无限子弹,改变射速,提升子弹威力等,也都是通过修改数据产生的,所以以目前FPS游戏处理数据的机制来看,更新游戏只能短暂的让外挂无法使用,想要彻底根除外挂,几乎是不可能的,唯一能做的就是封号,还有就是像腾讯那样配合执法部门,用法律手段打击制作外挂的团队,让想要通过外挂牟利的孤儿们不敢作恶。

技术可以治好外挂,却治不好人心

也许有一天,会有性能更强大的服务器和更先进的技术出现,让我们不再受到外挂的侵扰,但那些开挂才能玩游戏的人,你们的病怕是无药可救了。

来源:极致哥