查看原文
其他

《绝地求生》外挂源代码被公布,或迎神仙大战时代?

2018-01-12 OSC - 局长 开源中国


内容参考自吃鸡总指挥和网易科技,感谢蓝桥杯的整理


绝地求生大逃杀(PlayerUnknown’s Battlegrounds)》从去年开始就爆红,还引发了全世界玩家的“吃鸡”热潮。但之后很多外挂制作者也开始瞄准吃鸡这个市场,逆天外挂频频出现,比如之前我们已经见过的“路飞挂”、“黄金甲挂”、“隔空取物挂”等等,吃鸡出神仙早已不是什么新鲜事。



对此,腾讯宣布代理《绝地求生》国服后,不仅成立反外挂专项小组,还联手警方线上线下严打外挂团伙,一度让不少外挂制作者胆颤心惊……



但是这几日,某知名博主爆出一个消息——国内某个外挂作者于前两日已经将某外挂开源发布在论坛上,换句话说这游戏接下来可能会迎来外挂的免费时代。



关于这次事件,有博主表示是腾讯打击外挂惹恼了一批得利者,这些人索性开源外挂,让游戏环境变得更加恶劣!我们都知道,一个月的外挂销售额是十分惊人的,甚至达到了上百万人民币!但随着腾讯代理国服,这些外挂制作者也不敢明目张胆的销售外挂了,未来还有可能受到法律的制裁,所以就做出这鱼死网破的事。


开源的外挂具体可以实现什么操作?



开源的代码可以实现透视、去草等功能,最恐怖的是,竟然可以通过安全监测!


想想吧,你美滋滋的舔了空投找到了吉利服,欢欢喜喜的在草地里当个LYB,神仙3000米之外一枪爆头,你咋想?



毕竟,开了除草外挂的神仙们,看到的视角是,一个人傻傻趴在那里,还绿油油的,简直一个固定靶,枪法再臭也爆你头。



那么为什么开发者没法禁止外挂呢,下面小蓝就给大家科普一下《绝地求生》外挂的一些原理和为何不能根除的原因吧~


网络游戏的结构原理



客户端与服务器联接示意图


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


《绝地求生》的特殊性


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



绝地求生-SKS


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



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


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



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



外挂的原理


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



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



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


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


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




推荐阅读

2017 开源中国新增开源项目排行榜 TOP 100

Intel 芯片曝重大缺陷:主流 OS 全中招,紧急采取补救措施

TIOBE 年度榜单揭晓!C 语言成功逆袭摘得桂冠

2018 年 Linux 八大发展预测,Ubuntu 将主宰物联网

可能是史上最全面的学习资源 — VUE 开源库篇

点击“阅读原文”查看更多精彩内容

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存