X-SHIELD(反作弊)

X-SHIELD(反作弊)

整合包反作弊(需要客户端和服务端)。使用深层结构分析、哈希值和API查询来检测X-Ray材质包、作弊客户端和作弊模组。包含交互式Discord机器人、服务端矿石追踪器、自动封禁和实时警报。

最初为 Werewolves vs Vampires 整合包创建,X-SHIELD 是一款面向 NeoForge 1.21.1 的服务器管理工具。任何需要相对可靠的反作弊来帮助检测和监控未经授权的客户端修改和资源包的人,都可以将其包含在自己的整合包中。

检测基于文件是什么以及它做什么——而不是基于它的名称。将 xray.zip 重命名为 textures.zip 无法帮助他们绕过检查。

架构

X-SHIELD 反作弊系统架构图

检测

  • 文件哈希——每个模组、资源包和着色器包都会使用 SHA-256、SHA-1 和 CurseForge 指纹进行标识。我们从不单独信任所报告的文件名。
  • X 光包分析——资源包会根据真正的 X 光包实际使用的手段进行检查:方块状态重定向、空心外壳方块模型、强制全亮度、重定向的矿石模型、资源包内的核心着色器,以及透明填充纹理。这能捕获任何黑名单从未见过的包,无论它们被命名为什么。
  • 信誉查询——文件哈希会与 Modrinth 和 CurseForge 进行比对。已知的公开版本保持静默,因此当玩家安装标准模组时,你的服务器不会淹没在误报中。
  • 平台筛查——是已知版本并不等于被允许。平台所报告的项目标题也会被筛查,与本地文件名不同,玩家无法编辑该标题。
  • 哈希和项目黑名单——屏蔽确切的文件,或通过 Modrinth slug 或 CurseForge mod ID 屏蔽整个项目,以确保覆盖所有版本。
  • 未打包文件——未打包的资源包和着色器包也会被扫描,而不仅仅是 resourcepacks/ 中的 .zip 文件。
  • 完整性心跳——服务器会定期向客户端发起质询。如果玩家安装该模组只是为了通过登录,他们会被报告。

证据评分

发现结果会被加权,而不是被同等对待。哈希匹配是证据;文件名中的关键词几乎毫无价值。弱信号会被限制,永远不能单独触发自动操作——自动踢出还额外需要至少一个证据级别的信号。你可以配置每个阈值。

管理

  • 为管理员提供交互式游戏内警报,带有 [Spectate]、[Shame]、[Kick]、[ModList]、[Ores] 和 [Whitelist] 按钮。
  • Discord 机器人集成——每位玩家只会收到一条警报,它会就地更新,而不是刷屏频道,包含分页的发现结果以及 Kick、Ban、False Positive 和 Close Log 按钮。也可以使用简单的 webhook 模式作为替代。
  • 自动解除封禁——封禁会记住导致封禁的文件。玩家移除这些文件、重新加入,封禁就会自行解除。无需工单,无需管理员。也提供定时和永久模式。
  • 持久矿石记录——矿石开采会以 CSV 格式记录,包含时间戳、会话、维度和坐标。它在重启后仍然保留,并且默认追踪每位玩家,因此历史记录在任何玩家被标记之前就已存在。
  • 每位玩家的审计日志——位于 logs/X-Shield PlayerLogs/,包含每个会话的完整文件列表。
  • 小号关联(可选)——比较玩家文件集中不是共享整合包的部分,因此运行原版整合包的玩家不会产生信号。

配置

一切都可以在 config/xshield-server.toml 中切换:各个检测方法、证据阈值、自动操作、封禁行为、心跳间隔、API 速率限制、矿石追踪、Discord 设置以及所有消息。

要求

X-SHIELD 必须同时安装在客户端和服务器上。没有安装该模组的玩家无法加入。

数据披露

当启用信誉查询时,服务器会将文件哈希发送到 api.modrinth.com 和 api.curseforge.com 以识别公开版本。我们不会向这些服务发送玩家名称、UUID 或文件内容。结果会被缓存并限速,如果你愿意,也可以禁用这两项查询。

如果你配置了 Discord 机器人或 webhook,服务器会将包含玩家名称、UUID 和被标记文件名称的警报发送到你配置的频道。该模组只会在游戏目录内写入,并且绝不会将其配置传输给客户端。

注意

X-SHIELD 是一款一线检测和管理工具。像任何客户端审计一样,它依赖于客户端所报告的数据,这意味着只有在没有人具备 Java 知识并有意破解该模组以发送虚假数据时,它才能保持可靠。因此,它并不能 100% 替代服务端反作弊,而是旨在与其配合使用。最强的信号——哈希匹配、被屏蔽的项目以及资源包中可证明的 X 光行为——会被视为证据;其他一切都只是提示。我们鼓励管理员在采取行动前先审查被标记的玩家。