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

用1700颗不停转的CPU,对抗挂哔

绝地求生的外挂问题,从游戏开始火以来,就不曾停息过,蓝洞日常更新反外挂机制,然而每次更新不到几小时,外挂就随之更新上线,富贵更是每天看着以前打半职业CS的小伙伴们垂头丧气:「我这么强,为什么还要被外挂制裁啊!」(当然是因为你还不够强啊!哼哼!)

游戏开发者大会(GDC 2018)已经在上周接近尾声时顺利结束,今年的关键词是「光线追踪」,然而,V社(Valve)关于反作弊方面的信息也很值得我们关注:将深度学习领域技术运用到反作弊领域,让系统根据时间慢慢适应越来越复杂的作弊形式。虽然对于 V 社来说还是第一次,但这项系统已经在 V 社手中运转一年,被命名为VACnet

54核刀片服务器,各拥有128G的RAM

4个支架,每个支架上都有16个服务器

VACnet 采用深度学习的策略分析玩家的作弊行为,然后将他们的行为深度识别后分类,在这之后还有很多复杂的判断和算法,并且整套 VACnet 系统运转在非常昂贵成本的硬件平台上。虽然 V 社运营的其他热门游戏受欢迎程度不及《绝地求生》,但这些热门作品每天的玩家和战斗依旧非常多,为了支撑起这套系统,V 社共购置 64 套刀片式服务器(Blade Servers),每套服务器拥有 54 颗处理器,也就是共有 3456 颗处理器,同时每套还拥有 128GB 内存,才支撑起了每天浩如烟海般的玩家和战局信息,并且支持 VACnet 需要的大数据训练。

CS:GO 作为基于 Source 引擎开发的第 10 款游戏,早已经有一堆关于如何篡改 V 社引擎的资料。一些给诸如半条命 2 的老游戏开发的外挂,只需要经过几分钟修改,也许就能在 CS:GO 里面使用。作为一款与角度和准确度相关的熟练性游戏,从设计上看,这一点也让外挂更加有效率。游戏中的位置信息非常重要,对手的位置信息对比赛来说价值连城,这使得透视挂在游戏里面如鱼得水。

按照V社的说法,反外挂斗争是「很重要,很有价值的工作」。如果你玩过 FPS 游戏,你可能已经注意到游戏环境在慢慢变好,不仅表现在 Reddit 上的投诉和外挂视频出现频率变低了,而且作弊行为似乎在慢慢消失了。那么 V 社是如何清理出这些作弊的混蛋的呢?

作弊者不知道我们要这么做,

游戏玩家对此反应很开心,

我们重拳打击了作弊者,这感觉太棒了。

——McDonald

在旧金山举行 GDC 上,在这唯一深入探讨反外挂的机会上,V 社的程序设计师 Jhon McDonald 讲述了他和 V 社如何利用深度学习技术来解决 CS:GO 的作弊问题,并且这一方法非常有效,因此 V 社正尝试使用深度学习技术来解决一系列的问题,例如从反作弊到 DOTA2 的方方面面。并且 V 社正在积极寻找其他工作室一起合作,想要在 Steam 平台的其他游戏上也部署他们的这一基于深度学习的反作弊方案(蓝洞,你表现的机会来了!)。

解决 CS:GO 的外挂问题

McDonald 有一个专门用来接收 CS:GO 玩家电子邮件的私人电子邮箱。在 2016 年项目之间的某个时候,基于在线讨论和那个私人电子邮箱里的信息,McDonald 注意到「整个社区在讨论的唯一的一件事情就是作弊」。他说,那些关于作弊的讨论无处不在,VAC 系统的禁用数量大大增加,这也佐证了 V 社所收到的作弊泛滥信息。

为了解决作弊问题,V 社和 McDonlad 把目光转向了深度学习深度学习有很大的潜力,它能够随着时间来变化和调整,能更好的应对新出现的作弊技术,这一点对V社很有吸引力。比起来雇佣成百上千的员工来处理作弊,深度学习能够自动应付 Steam 上的多个方面的问题,选用深度学习方案更是历史的选择。经过一年时间的开发,V 社推出了一个全新的反作弊系统 VACnet 。

Overwatch 是面向 CS:GO 玩家的重播工具,可以用来评估那些因不良行为而被举报的玩家。VACnet 可以和 Overwatch 协同工作,老 VAC 是 V 社使用多年的客户端和服务器端技术,当有玩家在游戏中运行不良程序时,VAC 用来识别这一行为。但是 VACnet 是一个新的附加系统,使用了深度学习技术来检测玩家在游戏中的行为,它熟悉作弊的行为方式,然后根据动态标准来发现并禁用作弊者。

McDonald 表示一些「微妙」的作弊还是难以发现,在开发 VACnet 时,V 社决定首先解决射击模式。因为在游戏里面进行射击时,所表现出的射击模式很特别,很容易定义。可以用角度来衡量玩家在瞄准时的俯仰(Y轴)和偏移(X轴)变化。V 社可以建立一套系统,这套系统可以捕捉射击前 0.5 秒,射击后 0.25 秒这期间的瞄准角度变化。这些数据和其他的信息,例如玩家持有的武器,敌我之间的距离,射击结果(打中了,没打中,爆头?),都是独立的「数据粒子」,他们一起构成V社所称的「数据原子」,其中包含了描述每次射击的数据包。

与过去相比,玩家遇到的外挂更少了,

与作弊相关的讨论也大大减少。

——McDonald

但是 VACnet 不能只基于一个数据原子就识别出作弊者。「我们需要一系列数据原子,实际上我们需要 140 个,或者说目前我们的模型里面需要这么多…随机从八个回合抽取 140 个数据原子,把数据导入模型中,然后我们会想,如果你在人类陪审员面前展示这 140 次射击,你有可能被定罪么?」。

事实证明,这效果很好。游戏玩家和 VACnet 都会举报需要在 Overwatch 中进行裁决的疑似作弊者。但是 VACnet 举报的疑似作弊者,他们几乎都作弊了。

「当有人向 Overwatch 提交一个举报时,被举报玩家开挂的可能性只有 15% 到 30%,这一概率随着一系列因素变化,例如不同的时间,游戏的发售情况,当前是不是在春假期间等等。虽然有很多情况,但重点是:人举报的准确率很低。」,McDonald 这么说。「VACnet 的准确率很高。当 VACnet 提交一个举报案例时,被举报玩家开挂的几率是 80% 到 90%」。

VACnet的人机良性循环

但这并不意味着 V 社会淘汰 Overwatch,毕竟 VACnet 需要从 Overwatch 中学习检测技术。McDonald 说,「我们正在使用 Overwatch,而且事实上我们没能取代所有的玩家举报,我们只是做了补充。这意味着 VACnet 有机会和人类审判员一起发展。所以当人类审判员发现新的作弊行为时,VACnet 有机会做到同样的事情」。

Overwatch 和 VACnet 协同合作

McDonald 补充说,为了使 VACnet 发现新型作弊,使用玩家数据对其再训练,刚训练完成那段时间,在作弊者没有作出相应应对前,检测准确率可能能接近 100%。V 社在本月早先时候悄悄在 CS:GO 的 2V2 模式加入了 VACnet,McDonald 说「这一模式下的检测准确率一度高达 99%,这很漂亮。作弊者不知道我们要这么做,玩家们对此反应很开心,我们重拳打击了作弊者,这感觉太棒了」。

大型的反作弊系统

为了使 VACnet 能充分发挥,必须建立一个服务器集群,用来处理 CS:GO 数百万的玩家,海量的数据,并且这个服务器集群要随着 CS:GO 的增长而拓展。现在每天大约有 600000 场 5V5 的 CS:GO 比赛,每场比赛 V 社需要大约 4 分钟来运算,为了评估所有这些比赛中的所有玩家,每天的 CPU 工作量加起来有 240 万分钟,需要大约 1700 个 CPU 来完成这项日常工作。

所以 V 社买了 1700 个 CPU,后来又额外买了 1700 个。

「所以我们有拓展的空间」,McDonald 这么说,暗示 V 社有意把 VACnet 引入其他游戏。保守的说,V 社在这些硬件上必须花费至少几百万美元,但在 2017 年,CS:GO 预估的销售额就有 1.2 亿美元,服务器的花费相比较之下,微不足道。但是这可能是为单个游戏构建的最强大,最好的反作弊系统。

这项工作仍在继续进行中,但在 McDonald 看来,VACnet 很强大,有潜在的应用价值,不仅能在非 V 社游戏上应用部署,也能在 Steam 上的其他游戏上部署。「深度学习对行为进化而言是变革性的技术」,McDonald这么说。「我们认为深度学习的确帮助开发者从单调的重复性工作中解放出来,同时不会对玩家产生任何负面影响。与过去相比,我们的玩家现在遇到作弊者的次数更少。比起来刚开始进行反作弊工作那会,现在关于作弊的讨论也大大减少」。

2017 年 12 月初,这套反作弊系统迎来新的里程碑:在 Overwatch 中,VACnet 的判定准确率更高了。McDonald 说,「这套系统工作的非常好」,并且还提到 VACnet 正在非常完美地运作,将来可能将为 Steam 上的非 Valve 游戏和其他内容提供保护。既然如此,现在深受外挂困扰的绝地求生,能否靠 VACnet 压制住层出不穷的外挂呢?

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

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券