BetterGrim

BetterGrim

Grim反作弊的分支,添加了新的检测项,优化并改进了现有的检测项。

更好的残酷(BetterGrim)

工作流    模组    下载量    Discord

更好的残酷(BetterGrim) 是一个开源的 GrimAC 分支,旨在修复上游的误判和绕过问题。 目前支持 Minecraft 版本从 1.8 到 1.21.11。Geyser 玩家完全豁免于反作弊系统,以防止误判。 该项目被认为是 2.0(开源)分支的功能完备版本。如果您希望修复 Bug 或增强功能,但无法赞助该工作,欢迎提交拉取请求。 建议使用最新的 alpha(开发)构建版本,以获得最新的修复、变更和检查 (注意:Modrinth 上的变更日志可能不完整,完整变更日志请前往 GitHub 提交记录)

BetterGrim 目前拥有而上游没有的变化

  • NoWeb 检查 - 修复 NoWeb 绕过
  • AutoClicker 检查(重做中)
  • 无效检查
  • 背包检查
  • 修复基于刻的 NoSlow 绕过
  • 将 NoSlow 缓解改为重置物品使用,而不是回退(更安全)

下载

要求与安装

  • Java 17 或更高版本。更多详情请参阅 更新至 Java 17。
  • Spigot、Paper、Folia 或 Fabric 服务端环境。更多详情请参阅 支持的环境。

如果您使用 Velocity 或 Bungeecord 等代理:

  • 如果您使用 Geyser,必须在后端服务器(Grim 所在处)安装 Floodgate,以便 Grim 能访问 Floodgate API。
  • 如果您使用 ViaVersion,它只能安装在后端服务器(Grim 所在处)上。 Grim 不支持在代理上安装 ViaVersion,即使后端也安装了它也不行。

资源

  • 文档和示例请访问 Wiki。
  • 常见问题解答请访问 FAQ。
  • 社区支持和项目讨论请加入我们的 Discord。

拉取请求

请参阅 贡献指南 了解如何贡献以及我们的指导原则。

开发者插件 API

Grim 的插件 API 允许您将 Grim 集成到您自己的插件中。请访问插件 API 仓库 获取源代码和更多信息。

从源码编译

  1. git clone https://github.com/DieInCalamity/BetterGrim
  2. cd Grim
  3. ./gradlew build
  4. 最终 jar 文件将编译到 <platform>/build/libs 文件夹中

Grim 优势

是什么让 Grim 在众多反作弊中脱颖而出?

移动模拟引擎

  • 我们对玩家可能的移动进行了 1:1 重建
    • 涵盖从基本行走、游泳、击退、蜘蛛网到气泡柱的所有内容
    • 甚至涵盖骑乘实体,从船到猪和炽足兽
  • 基于边缘情况覆盖以确认准确性
  • 1.13+ 客户端在 1.13+ 服务器上、1.12- 客户端在 1.13+ 服务器上、1.13+ 客户端在 1.12- 服务器上, 以及 1.12- 客户端在 1.12- 服务器上均得到支持,尽管这些版本之间存在巨大的技术变化。
  • 碰撞顺序取决于客户端版本且是准确的
  • 考虑到版本之间微小的边界箱差异,例如:
    • 单个玻璃板对 1.7-1.8 玩家将是 + 形状,对 1.9+ 玩家将是 * 形状
    • 1.13+ 客户端在 1.8 服务器上会看到 + 玻璃板命中箱,这是因为 ViaVersion
    • 许多其他方块都具有这种极致的细节关注。
    • 对 1.12 或更低版本玩家而言,含水方块不存在
    • 客户端版本中不存在的方法使用 ViaVersion 的替换方块
    • 无法翻译到先前版本的方块数据会被正确替换
    • 所有原版碰撞箱均已实现

完全异步和多线程设计

  • 所有移动检查和绝大多数监听器都在 netty 线程上运行
  • 反作弊可扩展到数百名玩家,甚至更多
  • 线程安全经过深思熟虑
  • 核心架构支持这种设计

完整的世界复制

  • 反作弊为每个玩家保留一个世界副本
  • 该副本通过监听区块数据包、方块放置和方块变化来创建
  • 在所有版本上,区块使用调色板压缩到每区块 16-64 kb
  • 利用此缓存,反作弊可以安全访问世界状态
  • 每个玩家的缓存允许多线程设计
  • 通过数据包向玩家发送假方块是安全的,不会导致误判
  • 为每个玩家重新创建世界以进行延迟补偿
  • 客户端侧面方块不会对基于数据包的方块造成问题。方块闪烁不会导致反作弊误判。

延迟补偿

  • 世界变化会排队,直到到达玩家端
  • 这意味着在玩家脚下破坏方块不会导致反作弊误判
  • 从飞行状态到移动速度的一切都会进行延迟补偿

背包补偿

  • 玩家的背包会被追踪,以防止在高延迟下的幽灵方块和其他错误

设计上安全,而非隐蔽

  • 所有系统都设计为高度安全且数学上不可能绕过
  • 例如,预测引擎知道所有可能的移动且无法被绕过