对ACE 扫盘、玩家电脑硬盘损坏、掉盘或是系统损坏的详细看法和可能解释
BecomeRoles
编辑于 2025年11月06日 01:48
数码研究所

本文共有三大部分。

第一和第二部分将简单解释ACE扫盘反作弊的原理以及游玩腾讯系游戏时电脑硬盘损坏、掉盘或是系统损坏的可能原因,第三部分将给出缓解ACE对电脑的影响的措施。

一、ACE扫盘反作弊的原理

ACE在游戏进行时会在后台进行扫盘、读盘的操作,主要有检测外挂软件、进行对硬件设备及其驱动的检测、保护游戏数据和文件完整性、判断玩家输入的指令和游戏内产生的行为是否对应一致等的作用。读盘便是读取硬盘中的各类文件,包括系统文件、应用程序、游戏数据文件、设备驱动与配置文件等文件,判断其有无异常与篡改,从而实现上述的反作弊功能。

二、游玩腾讯系游戏时玩家硬盘损坏、掉盘或是系统损坏的可能原因

收集的数据:所用设备的硬盘为金士顿1TB固态硬盘(可用370GB),更详细的设备参数信息见图3。游戏画面设置见图4。在测试时,前台只有《三角洲行动》和Wegame启动器,后台保持刚开机时的情况,尽可能减少了自启动项和后台进程。无Steam等游戏更新进程、网盘浏览器下载进程、软件自动更新进程。几乎只有游戏进程和系统进程。

我使用AppReadWriteCounter对《三角洲行动》运行时的各个相关进程进行了监视,期中读写量最大的是名为“DeltaForceClient-Win64-Shipping.exe”的程序,其读写情况如图1。在Diskinfo中,第二次测试游戏运行前和运行结束后的磁盘总计读写量如图2。以第二次测试的四项结果为例,在此处需要说明(见示意图),游戏会先将需要用到的地图、模型等资源从硬盘加载到内存中,之后,加载到内存中的数据会不断反复地被游戏进程读取,所以实际上是游戏本体和ACE一起对硬盘进行了总量为29GB的文件读取,这29GB的文件包括了游戏本体需要的地图、模型等资源和硬盘各目录的一些文件。AppReadWriteCounter相较Diskinfo总读取量多出来的400多GB便是因为Diskinfo只记录了硬盘的物理被读取数据量,而AppReadCounter在此基础上,还记录了游戏进程对内存中的地图、模型资源的反复读取的累计数据量。所以,第二次测试进行游戏时的硬盘实际物理读取量就是29GB,写入量为8GB,这样的读写量自然是在合理范围内的,对现代的固态硬盘的寿命几乎不会有太大的影响。(附:第一次测试编号为1的结果,写入量明显高于其他几项,因为这是完成游戏更新后第一次打开游戏,进行了游戏文件的更新和着色器编译、预着色。同时可以看到,启动游戏后的第一局的写入量会明显比后面不重启游戏、连续玩下去时的几局更多一些,也属于正常情况)

↑图1

↑图2

↑示意图(实际硬盘读取只有'1+2'=29GB,AppWriteReadCounter则记录了'1+2+3'=400+GB)

总结的结论:所以,玩家们出现硬盘损坏、掉盘或是系统损坏等问题的原因可能并不是在ACE扫盘上,而更可能是在硬盘本身的问题和ACE软件的不完善上。硬盘本身的问题包括硬盘使用过久,寿命即将到达上限;硬盘的质量可能不够好,承受持续读写负载的能力较弱;硬盘本身出现概率性的物理损坏等。这些问题的出现与玩家游玩腾讯系游戏恰好重合在了一起,所以让人感觉起来就像是ACE扫盘才导致了这些故障和损坏。而ACE软件的不完善,则是它本身的判断逻辑存在缺陷,在运行时可能会出现错误。比如它可能在某些情况下错误地将硬盘设备和系统行为判定为可疑的设备或是可能的作弊行为,并断开了硬盘与系统的连接或是进行、诱发了系统级的操作,从而导致了硬盘掉盘、系统内核损坏等的情况。

三、缓解ACE对电脑的影响的措施

ACE有两个特性,一是自动安装启动,二是后台常驻。前者是说ACE会随腾讯系游戏的安装自动地安装到用户的电脑,并且可能会在用户无意识的操作下成为开机自启动程序;后者是说ACE在游戏运行时会一直留驻在后台,持续运行。我们可以通过设置,不让它开机自启动,来避免未进行游戏时它对系统的影响。当在打开游戏,看到ACE的弹窗时,点击关闭窗口,不予理会即可。设置ACE不进行自启动后,在刚开机、未运行游戏以及运行完游戏将游戏关闭后,ACE都不会在后台继续运行,它只会在进行游戏时运行,是完全可以放心的。至于ACE导致的系统错误和内核损坏,可以尝试重启电脑、使用windows自动修复、重新安装系统等方式来解决。只要没有出现硬盘等硬件的物理损坏,那系统软件便都可以进行修复或是重新安装。

最后进行总结,ACE通过扫盘来实现反作弊,但其实际的对硬盘的读写量都在正常范围内,在硬盘健康度良好、质量没有问题且被正常使用的情况下,其对硬盘寿命的影响几乎可以忽略不计。硬盘损坏、掉盘以及系统损坏更可能是因为硬盘本身存在故障问题以及ACE软件存在缺陷、不够完善。我们通过关闭ACE的开机自启动(也即预启动模式)便可以让它只在进行游戏时运行,从而避免在不进行游戏时它对电脑产生影响。

结束前文时想到的额外补充:进行游戏时的瞬时卡顿掉帧更可能是游戏进程与内存进行快速、大量的数据交换,这一过程给CPU和内存带来了较高的负载,且游戏进程和ACE互相争抢CPU和内存资源,当二者导致CPU和内存负载过高或游戏进程分配到的资源不足时,便会出现瞬时卡顿掉帧。

(本文仅代表我个人的观点,收集的数据有限,如有不准确、不当之处,敬请谅解!欢迎大家对我的文章进行修正和补充。也欢迎大家对ACE及其他涉及电脑使用的问题进行热情友好的询问、交流和讨论!)

↑图3

↑图4(全面战场画面设置)

↑图4(烽火地带画面设置)

补充1:任务管理器与AppReadWriteCounter记录数据的差异。有的朋友在游玩过程中任务管理器的瞬时读写速度一直很高,这可能是后台问题。只存在游戏进程和系统的非下载安装类进程(如windows更新)时,理论上游戏运行也还是符合从硬盘上读取较少量的数据到内存,再在内存上进行反复大量读取的这一机制的。我的监视结果(图5)也对应如此,在AppReadWriteCounter记录了大量读写时,任务管理器显示各磁盘的读写量并不多。所以只是记录量是记“硬盘+内存”还是只记“硬盘”的区别。

补充2:SGuard的相关进程被记录到的读写量明显远远少于上述测试时被记录的程序的读写量,这可以进一步说明扫盘读写量确实并不多,是在合理范围内的。

↑图5