首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序员道出《绝地求生》外挂为何屡禁不止,游戏官方都给跪了

“大吉大利,晚上吃鸡”

听到这句话很多人都应该很熟悉

这句话最早来源于电影《决胜21点》中赌场的一段词

“Winner winner, chicken dinner!”

几十年前,赌钱赢一把最低能赚2美元,一份包含三块鸡肉和土豆蔬菜的饭是1.75美元,当你赢一次的时候就有足够的金钱去买一份鸡肉饭了,因此该词常常成为当时求好运的一个说法。随后因在游戏《绝地求生:大逃杀》中出现而火遍网络。当你获得第一名的时候就会出现该句。

蓝洞公司自推出《绝地求生》这款FPS游戏以来,不仅征服了中国游戏玩家,还征服了世界各地的网游爱好者。为什么有些人总是能吃上鸡“因为用了外挂呀”太无赖的手段,正是因为外挂让他们取得胜利而外挂也是让游戏开发公司,蓝洞公司最头疼的问题为何外挂屡禁不止,特别是Made In China的外挂,太特么闹心!

(闪电侠外挂——人物速度超越汽车)

(遁地术外挂——你看不见我)

(水上漂外挂——我可以跑得很快)

(金钟罩铁布衫外挂——无敌是多么的寂

(乾坤大挪移外挂——吸星大法吸出来)

(巨人模式——你的突击步枪有这么牛逼

(橡胶火箭炮——路飞的绝地求生版)

随着《绝地求生》人气的不断提升,来自国内的外挂也越来越多,特别是超出边际的中国外挂,蓝洞官方不断更新游戏中的反外挂系统,希望可以控制一下。但是在与外挂制作团队进行了长达半年的“交战”后蓝洞官方终于认怂了!

主创伦丹.格林近日公开表示:

中国的外挂制作团队太厉害了,利用游戏内核来攻破防线,甚至许多蓝洞自己的程序员都没发现的Bug也被找了出来,你们为什么不选择来蓝洞上班呢。

相信很多玩家都很痛恨外挂选手

那么

外挂为什么根治不了呢

???

程序员来给你解释

游戏原理

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

《绝地求生》FPS游戏特殊性

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

《绝地求生》枪械的不同属性

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

举个通俗的例子,假如整场比赛的数据都交由服务器处理,你这边打了敌人一枪,然后客户端把一系列数据发送给服务器,服务器再计算结果,然后再将结果发给你和被打中的敌人,你想象一下,一台服务器上有很多场比赛,它需要同时处理每场比赛每个人千变万化的数据,这中间哪怕有半秒钟的处理时间,都会让你觉得游戏“好卡”啊!因为我们玩家要看到的是打中敌人,敌人要立刻飙“绿血”,容不得半秒钟等待。

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

外挂的原理

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

自瞄也很简单,服务器会将战局中其他玩家的位置发送到你的电脑上,这样你在游戏中才能在正确的位置看到其他玩家的人物模型,外挂就可以通过读取这些位置信息,从而实现自动瞄准锁头等操作。至于无限子弹,改变射速,提升子弹威力等,都是通过修改数据产生的。

目前市面上的FPS游戏处理数据的机制来看,更新游戏只能短暂的让外挂无法使用,想要彻底根除外挂,几乎是不可能的,唯一能做的就是封号,还有就是像腾讯那样配合执法部门,用法律手段打击制作外挂的团队,让想要通过外挂牟利的孤儿们不敢作恶。

最后小编想说:技术可以治好外挂,但治不好人心!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180112A04RTI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券