FPS 游戏外挂现状和泛滥原因
在线多人的 FPS 游戏是实时性要求最高的游戏类型之一。在这种游戏中,玩家的一瞬间判断和反应能力会直接决定胜负。然而,网络延迟和实时加载的问题经常会导致游戏卡顿,这会极大地影响玩家的游戏体验。为了解决这个问题,FPS 游戏通常会采用预加载技术。预加载技术是指在敌人离玩家较近的时候,已经把敌人的数据从服务器下载到本地,并加载到游戏内存里。这样,在玩家和敌人真正碰面时,游戏客户端就无需再做大量的工作,从而避免实时加载受网络或设备性能影响导致卡顿。
外挂制作者利用 FPS 游戏中资源预加载在客户端本地的特性,通过修改游戏数据或注入外部程序来获得非法优势,如自瞄和透视,可以让使用者轻松击杀对手,从而获得不公平的竞争优势。这些外挂功能提供了快速且准确的瞄准能力,让使用者能够在游戏中享受虐杀快感。外挂的高收益是吸引大量玩家使用外挂的原因之一。
外挂制作者通过一些隐蔽的外挂入侵手段,以避免被反作弊系统检测到。例如使用虚拟机、内存注入、HOOK 等技术,使外挂难以被检测到。这是 FPS 游戏外挂屡禁不止的根本原因之一。
「外挂制作者->外挂销售代理->网络渠道->外挂使用者」的链条式传播和易于使用也是 FPS 游戏外挂泛滥的一个重要原因。外挂可以在模拟器运行手游的同时使用,甚至传播带有外挂功能的破解版游戏,这些方式使得外挂的使用者和影响范围变得更加广泛。
从网易易盾对外发布的内容来看,在 FPS 射击类游戏中外挂类型使用最多的是透视挂,占比达到 58.33%;自瞄虽然只占了 8.33%,却是最影响游戏体验的外挂。
透视
FPS 游戏为了保证低延迟的效果而将大量资源预加载在玩家客户端内存中,使得外挂制作者可以从内存中获取到各种资源的信息,并将其可视化渲染出来,这就是透视外挂的基本原理。根据透视形态的不同,可以划分为方框&血条类、面板类、自瞄圈、射线类、骨骼类、染色类等等。相较于其他类型的 FPS 外挂,透视外挂更加难以感知,只要使用者刻意伪装,即使人工审核也很难发现。
自瞄
如下图,在 FPS 类游戏中自瞄外挂最多的类型是模拟鼠标行为,占比达到 81.83%。外挂在获取敌人坐标后,发送模型鼠标信号,使游戏程序执行后直接将准心移动到目标位置,在驱动层面很难检测到这样的外挂。但毋庸置疑,在正常玩家与自瞄玩家的行为上,会有很大区别,即行为数据层面才是解决外挂问题的关键。
本文将以透视、自瞄外挂检测为重点进行阐述。此类外挂因为其隐蔽性高、检测难度大,缺乏实锤证据等原因使得其成为了业界的一大难题。我们从玩家行为数据的角度直接入手,深入到透视和自瞄作弊行为的本质进行检测。
传统解决方案及局限性
当前主流的检测外挂方法包括签名检测、特征检测、内存扫描等,举报审核查验以人工进行的方式为主。
-
签名检测可以快速辨识已知外挂程序,但无法有效应对新型或修改后的外挂。
-
特征检测监测游戏行为和操作,虽然能识别异常模式,但由于游戏的多样性和玩家行为的复杂性,依靠单一的阈值等数值进行决断,很容易产生误报,并且会有一定的遗漏。
-
内存扫描虽然能够通过检测内存中的外挂代码或数据结构来发现外挂,但外挂制作者可以采取一些对抗措施来规避此方法,例如使用加密算法、随机化内存地址等手段。因此,内存扫描并非完全可靠的外挂检测方法,需要结合其他检测手段来提高检测的准确性和可靠性。
人工举报审核可及时发现外挂行为,但由于举报者的主观性和游戏玩法的复杂性,可能存在误报和恶意举报的情况。
传统解决方案的优点是效果明显,但缺陷在于对抗程度高且存在严重的滞后性,外挂更新频繁且善于隐藏进程,传统方案很容易失效,迭代升级后才能扫描到外挂进程,如此一来便容易陷入到无止境的对抗中,消耗大量的人力和物力,最终失效。因此,对于游戏开发者来说,需要根据具体情况选择合适的方法进行检测,并不断提高反作弊系统的能力,开发更加高效、准确的检测手段,从而保证游戏的公正性和平衡性。
网易智企游戏 AI 反作弊解决方案
我们提出使用在游戏中广泛存在的回放日志数据,重构出玩家当局的表现。在回放日志数据中,我们构建了玩家的时序行为数据,并基于该时序行为数据,分别搭建了透视和自瞄外挂检测系统,该方法和系统可广泛应用于各种在线游戏平台,提高游戏平台的公平性和客户满意度。
玩家时序行为数据包括每一个时刻的位置坐标、摄像机/枪口朝向、武器类型、是否击杀、是否命中等信息,在此基础之上我们进行二次设计加工,构造每个时刻的准心移动的速度、加速度和目标相对移动轨迹、相对偏向角、目标是否在视野内等特征,再往上一层,构造以“开火、命中、击杀、回合、对局、玩家历史对局”渐进地多层次维度的特征。
透视和自瞄是 FPS 游戏里不同类型的作弊问题,我们从同一个时序行为数据中提取多个特征,其中我们发现部分特征非常明显且富于表达,呈现出正常玩家与作弊玩家的巨大差异性。我们将多个特征构成的序列喂入模型进行预训练,得到表征之后再进行分类监督学习,最后对玩家是否作弊进行预测。该方案采用自监督时序模型对玩家行为数据进行建模,过程分为三个阶段:
-
在第一阶段,通过对历史玩家对局数据进行对比构造样本,将上述信息输入到模型中进行学习,该模型能够自主学习游戏玩家的行为模式和数据特征。
-
在第二阶段,使用少量有标签的历史玩家数据进行监督学习,从而更好的学习到数据的潜在表示。
-
在第三阶段,模型对游戏玩家每场行为数据进行处理,以检测其是否存在透视或自瞄外挂行为。
基于时序行为数据的透视外挂检测方案
作弊玩家使用透视外挂,获取了正常玩家不具备的视野和整体宏观信息优势,也正因为如此,他们的行为表现的与正常玩家有所不同,例如能在视野信息未知的情况下进行走位和瞄准,从而获取对枪时的优势,在目标掩体后暴露瞬间会有超出正常水平的瞄准击杀表现,落在数据上有诸多特征维度可以进行区分,本文我们选取 2 个最为明显的维度进行展示:关键时刻目标相对偏向角的变化,以及综合多个击杀/多回合的瞄准击杀表现。
1. 关键时刻目标相对偏向角的变化
作弊玩家使用透视后,一般会有很多有意识或无意识的“预瞄准”现象,使得目标相对偏向角的变化曲线与正常玩家不同。
可以看到,在关键时刻例如击杀前目标在墙后移动的时候,透视作弊玩家的目标相对偏向角比正常玩家总体偏低,且变化较为稳定。
2. 综合多个击杀、多回合的瞄准击杀表现
作弊玩家在目标遮挡到“视野暴露”的瞬间,能够在很短的时间内完成瞄准与击杀,与普通玩家的正常反应时间呈现出较大的差距,该差距在综合多次击杀、多回合表现的情况下尤为明显。
如上图所示,尽管作弊玩家偶尔会“演”,正常玩家也会有偶尔“超神”表现,但是放大到单回合多次击杀,以及多回合、多场次的瞄准击杀表现来看,透视作弊玩家的平均反应时间(命中时间差)要比正常玩家低,且稳定,而平均击杀率(对枪 KD)则比正常高。
基于时序行为数据的自瞄外挂检测方案
我们分析发现,使用自瞄外挂的作弊玩家在准星移动速度、加速度、准星落点等多维度特征上与正常玩家表现有明显差异。这是因为自瞄外挂能够快速锁定敌人,使得玩家的瞄准更加精准和迅速,而正常玩家则需要花费更多的时间和精力进行瞄准。具体来说,自瞄外挂使用者的准星移动速度和加速度更快,准星在敌人球面的落点更加集中。这些特征的显著差异导致了自瞄外挂使用者的表现与正常玩家不同。
1. 准心移动速度与其加速
通过下图,蓝色曲线为准心移动速度红色曲线为其加速度,红色坐标点为玩家开枪时刻,自瞄程序通常会使准心的移动速度和加速度变得非常平滑,因为它们会获取目标的位置并自动调整准心的移动速度和加速度。左图为自瞄玩家,右图为正常玩家,相比之下,正常玩家的准心移动速度和加速度可能更加杂乱和不规则。我们可以看出自瞄玩家在开枪后依然可以保持较小的速度与加速度变化(丝滑压枪效果)。
2. 准心在敌人球面的落点
因为自瞄提前获取了玩家的某个部位坐标,再模拟鼠标信号发送信号,以下是准心在敌人球面的落点图,左图为自瞄玩家,右图为正常玩家,可以看到准心落在敌人所在球面时,自瞄玩家的准心轨迹会更加平滑,不会出现正常玩家那样准心的大规模角度变化。
时序模型网络架构
如上,将我们通过业务经验、专家经验构造的透视和自瞄的时序特征进行提取之后,结合原始特征,按照“命中、击杀”的时间顺序组合形成序列,喂入到自监督时序模型进行预训练,再经过 LSTM 序列分类网络进行监督学习。
应用效果
我们在某知名 FPS 游戏上部署了该系统,系统将模型推理服务部署在服务器上,客户端通过埋点日志和实时推流的方式上传解析后的回放数据,服务端实时接收玩家每个回合、每局的时序行为数据(视网络条件而定),并进行特征处理和结果推理,同时会结合玩家历史对局信息做出综合决策,决策结果存盘并经过复核之后,游戏对作弊玩家进行处理。
我们从国内外网站上收集了 10w 场的回放数据,解析出 67w 玩家总共 1000w 次击杀样本,在业务方线上 3 千场比赛数据中,高召回方案可覆盖自瞄玩家总数的 82.94%,高精度方案可获得 95.38% 的准确度。
总结与未来工作展望
通过对 FPS 游戏主流外挂以及传统解决方案的分析,我们不难看出这是矛与盾对决的巅峰之战,利用人工智能等先进技术才能够更准确地检测外挂行为。
在面对复杂的外挂形势,网易智企游戏 AI 经过多年的技术沉淀积累,以足够多的游戏大数据做基础支持,打磨出完善的 FPS 游戏反作弊数据解决方案。
方案仅通过使用在游戏中广泛存在的回放日志数据,重构出玩家当局的表现,构建玩家的时序行为数据,并基于该时序行为数据,分别搭建透视和自瞄外挂检测系统。该方法和系统可广泛应用于各种在线游戏平台,提高游戏平台的公平性和客户满意度。
未来,游戏开发者和平台运营商需要不断更新和完善反外挂系统。在反外挂技术方面,需要继续研究和开发更加高效、准确的算法和模型,以应对不断变化的外挂形式和攻击手段。同时,需要加强对游戏平台的监管和管理,建立健全的监管机制,加强对玩家行为的监测和识别,及时发现和处理违规行为,维护游戏的公平性和品牌形象。此外,游戏开发者和平台运营商还需要与玩家建立更紧密的联系,了解玩家的需求和反馈,及时解决玩家的问题和困惑,提高玩家的满意度和忠诚度。最终,通过不断更新和完善反外挂系统,加强对游戏平台的监管和管理,以及与玩家的密切联系,可以有效地保护游戏的公平性和品牌形象,提高游戏平台的用户体验和市场竞争力。