https://www.pcgamer.com/vacnet-csgo/
https://goo.gl/h7idP9
原文自PCgamer 5EPlay.Lisp翻译整理
所有的多媒体游戏都在与作弊者进行无止境的斗争。CS:GO在2014年快速发展,成为世界
上最受欢迎的FPS游戏,同时某些原因让它更容易被黑。
CS:GO作为基于Source引擎开发的第10款游戏(CS主系列的第三款),早已经有一堆关于
如何篡改V社引擎的资料。一些给诸如半条命2一样的老游戏所开发的外挂,只需要经过几
分钟的修改,也许就能在CS:GO里面使用(虽然V社声称外挂会被检测到)。作为一款与角
度和准确度相关的熟练性游戏,从设计上看,这一点也让外挂更加有效率。游戏中的武器
伤害很高,所以它们在外挂玩家手里更具有破坏性。CS:GO中的信息和隐藏非常重要,知
晓对手的位置信息价值连城,这使得透视挂在游戏里面如鱼得水。
按照V社的说法,反外挂斗争是“很重要的,很有价值的工作”。如果你玩过FPS游戏,你
可能已经注意到从几年前开始,游戏环境变得更好了。不仅表现在Reddit上的投诉和外挂
视频出现频率变低了,而且作弊行为(这种行为与其他损害竞技游戏健康的行为一样有危
害性)似乎消失了。伴随着一次大规模封禁作弊者的新闻浪潮,我们也高调发布了关于禁
用帐号的一些故事。这些被禁用掉的,是作弊者中的一大部分,那么V社是如何清理出这
些混蛋的呢?
作弊者不知道我们要这么做,游戏玩家对此反应很开心,我们重拳打击了作弊者,这感觉
太棒了。——McDonald
上周在旧金山举行了游戏开发者大会,深入探讨反外挂这一话题的机会不多,在这唯一机
会上,V社的程序设计师Jhon McDonald讲述了他和V社如何利用深度学习技术来解决CS:GO
的作弊问题。这一方法非常有效,因此V社正尝试使用深度学习技术来解决一系列的问题
,例如从反作弊到DOTA2的方方面面。并且V社正在积极寻找其他工作室一起合作,想要在
Steam平台的其他游戏上也部署他们的这一基于深度学习的反作弊方案。
解决CS:GO的外挂问题
McDonald有一个专门用来接收CS:GO玩家电子邮件的私人电子邮箱。在2016年项目之间的
某个时候,基于在线讨论和那个私人电子邮箱里的信息,McDonald注意到“整个社区在讨
论的唯一的一件事情就是作弊”。他说,那些关于作弊的讨论无处不在,VAC系统的禁用
数量大大增加,这也佐证了V社所收到的作弊泛滥信息。
为了解决作弊问题,V社和McDonlad把目光转向了深度学习。深度学习有很大的潜力,它
能够随着时间来变化和调整,能更好的应对新出现的作弊技术,这一点对V社很有吸引力
。比起来雇佣成百上千的员工来处理作弊,深度学习能够自动应付Stream上的多个方面的
问题,选用深度学习方案更是历史的选择。经过一年时间的开发,V社推出了被大家所熟
知的VACnet。
Overwatch是面向CS:GO玩家的重播工具,可以用来评估那些因不良行为而被举报的玩家。
VACnet可以和Overwatch协同工作。老VAC是V社使用多年的客户端和服务器端技术,当有
玩家在游戏中运行不良程序时,VAC用来识别这一行为。但是VACnet不是老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%。”
但这并不意味着V社打算逐步淘汰它的作弊者剧院——Overwatch。二者协同工作:VACnet
从Overwatch中学习检测技术。McDonald说,“我们正在使用Overwatch,而且事实上我们
没能取代所有的玩家举报,我们只是做了补充。这意味着VACnet有机会和人类审判员一起
发展。所以当人类审判员发现新的作弊行为时,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社在这些硬件上必须花费至少
几百万美元:64个刀片式服务器,每个有54个CPU,128GB内存。仅在2017年,CS:GO预估
的销售额就有1.2亿美元,服务器的花费相比较之下,微不足道。但是这可能是为单个游
戏构建的最强大,最好的反作弊系统。
这项工作仍在继续进行中,但在McDonald看来,VACnet很强大,有潜在的应用价值,不仅
能在非V社游戏上应用部署,也能在Stream上的其他游戏上部署。“深度学习对行为进化
而言是变革性的技术”,McDonald这么说。“我们认为深度学习的确帮助开发者从单调的
重复性工作中解放出来,同时不会对玩家产生任何负面影响。与过去相比,我们的玩家现
在遇到作弊者的次数更少。比起来刚开始进行反作弊工作那会,现在关于作弊的讨论也大
大减少。
2017年12月初,这套反作弊系统迎来新的里程碑:在Overwatch中,VACnet的判定准确率
更高了。McDonald说,“这套系统工作的非常好”。