机械动力:蓝图校验

机械动力:蓝图校验

一个用于修复机械动力(Create)及其附属模组中所有蓝图问题的模组!

创建

Create: Schematic Checker (CSC)

Create: Schematic Checker 是一个用于 Create 模组原理图的服务端保护模组。它会扫描上传的原理图,并在其被打印到世界之前,阻止或清理已知的恶意 NBT 模式。

CSC 专为允许上传原理图的公共服务器和生存服务器设计。它可以防御已知的 Create 原理图漏洞,例如物品复制、获取创造模式物品、服务器卡顿、崩溃、畸形机械装置以及危险的附属模组 NBT。

Discord 服务器 GitHub 仓库

CSC 预览图

支持

功能特性

  • 异步扫描原理图,不会阻塞 Minecraft 服务器主线程。
  • 检测并阻止已知的恶意 Create 原理图漏洞。
  • 清理可配置的 NBT 字段、标签、方块、物品和实体。
  • 校验 Create 的传送带、链式传动、机械臂、过滤器、流体储罐、剪贴板以及其他高风险方块实体。
  • 支持通过 config/CSC/user_rule.json 自定义本地规则。
  • 可选择在服务器所有者启用时同步在线规则更新。
  • 保留日志和可选的原理图备份,用于审计和后续调查。

支持的版本

请选择与你使用的 Minecraft 版本和 Create 版本都匹配的构建。

加载器 Minecraft Create 目标版本
Forge 1.14.4 0.2.3
Forge 1.15.2 0.3.1
Forge 1.16.5 0.3.2g
Forge 1.17.1 0.4
Forge 1.18.2 0.5.1i
Forge 1.19.2 0.5.1i
Forge 1.20.1 0.5.1j
Forge 1.20.1 6.0.x
Fabric 1.18.2 0.5.1i
Fabric 1.19.2 0.5.1i
Fabric 1.20.1 6.0.x
Fabric 1.21.1 6.0.x
NeoForge 1.21.1 6.0.x

依赖项

  • Minecraft
  • Create

某些构建可能需要依赖特定加载器的 Create 相关库,例如 Flywheel、Ponder 或 Registrate,具体取决于目标 Minecraft/Create 版本。

安装方法

  1. 为你的加载器、Minecraft 版本和 Create 版本下载对应的 CSC jar 文件。
  2. 将 jar 文件放入服务器的 mods 文件夹中。
  3. 启动服务器一次,以生成 config/CSC/config.toml 文件。
  4. 在向玩家开放原理图上传功能之前,请检查生成的配置文件。
  5. 编辑配置后,使用 /csc reload 命令重新加载。

配置说明

主配置文件:

config/CSC/config.toml

重要选项:

选项 用途
core.Enable 启用或禁用 CSC 检查。
core.BanBlock 阻止或清理高风险方块和物品。
core.BanTag 移除或阻止危险的 NBT 标签。
core.KillEntity 从原理图中移除实体,以防止基于实体的漏洞。
core.WhiteListModEnable 仅允许列表中的模组 ID 保留 NBT。建议公共服务器启用。
debug.EnableBackup 保存上传的原理图以供后续审计。建议启用。
online.enableAutoUpdate 允许 CSC 获取云端规则更新。默认禁用。
online.enableManualConfig 启用来自 config/CSC/user_rule.json 的自定义规则。

手动自定义规则文件:

config/CSC/user_rule.json

在线缓存规则:

config/CSC/online/

命令

命令 描述
/csc 显示基本状态。
/csc help 显示帮助和反馈链接。
/csc reload 重新加载 CSC 配置和规则。
/csc list 显示规则列表帮助。
/csc list IdMatchRuleAll 列出所有 ID 匹配规则。
/csc list OperateMatchRuleAll 列出所有 NBT 操作规则。
/csc DisableTemp 暂时禁用检查 5 分钟。
/csc Enable 在暂时禁用后恢复 CSC 功能。
/csc notice whitelistid on|off 切换白名单模式扫描通知。
/csc mode whitelistid on|off 切换模组 ID 白名单模式。

已知漏洞覆盖范围

CSC 涵盖了众多已报告的 Create 原理图漏洞以及附属模组特定的 NBT 漏洞。

# 状态 问题描述
1 已修复 通过讲台或剪贴板打印创造模式物品。
2 已修复 阀门数据篡改导致缓存溢出和内存泄漏。
3 已修复 剪贴板复制以及带创造属性的剪贴板。
4 已修复 传送带长度被篡改至超过 1000 格。
5 已修复 长度为 -1 的传送带导致旧版 Forge 服务器崩溃。
6 已修复 大规模恶意传送带链导致卡顿、崩溃或世界损坏。
7 已修复 Kintsugi Decor Urn 无限游戏刻漏洞。
8 已修复 弹射器发射力度被篡改。
9 已修复 超大的过滤器 NBT 导致严重的刻卡顿。
10 已修复 过长的链式传动配对导致服务器卡顿。
11 已修复 using_converts_to 标签导致创造模式物品漏洞。
12 已修复 机械臂距离被篡改。
13 已修复 链式传动指向无效位置。
14 已修复 变形的传送带导致传送带或传动轴复制。
15 已修复 具有数千个目标的链式传动导致卡顿和复制。
16 已修复 通过篡改的安全 NBT 数据导致机械臂无限输出。
17 已修复 与伪装板模组结合导致机械臂物品复制。
18 已修复 通过安山岩漏斗取回过滤器。
19 已修复 通过燃烧标签获取创造模式物品。
20 已修复 基于实体的复制和创造模式物品漏洞,包括盔甲架。
21 已修复 特定版本中与压路机相关的创造模式物品漏洞。
22 已修复 Create: Enchantment Industry 创造性标签打印漏洞。
23 已修复 Create Crafts & Additions 无限能量单元打印漏洞。
24 已修复 Integrated Farming 鸡舍 GT 卡顿漏洞。
25 已修复 命令执行 NBT 漏洞。
26 已修复 Create 6.0+ 流体储罐容量被篡改。
27 已修复 Quark Wire Mesh 无限熔岩漏洞。
28 已修复 通过修改的机械合成器/序列合成器将物品传送至虚空。
29 已修复 额外的虚空物品传送漏洞变体。
30 已修复 超级胶水粘性检查滥用导致严重卡顿或崩溃。
31 已修复 底盘和斜角底盘粘性检查滥用导致严重卡顿或崩溃。
32 已检测 Create: Big Cannons 引信数据篡改以获取创造模式物品。
33 已修复 暮色森林巨型方块打印绕过地形并破坏基岩。

致谢

特别感谢:

  • crackun24 提供的 Mixin 参考代码。
  • 玫瑰的七飞、空宇、air、crackun24、runner、CTR 服务器服主以及其他 Create 公共服务器服主提供的测试样本和修复后的支持。
  • 一些 CMS 蓝图网站的合作创作者。他们在看到原理图漏洞修复后决定屏蔽作者,这也成为了持续更新此项目的动力之一。
  • Bilibili 创作者 一只不屑的屑蜘蛛。反复出现的公共服务器原理图攻击和漏洞样本的传播直接推动了本项目,并帮助加速修复了 Create 原理图漏洞。

许可证

本项目基于 GNU LGPL 3.0 许可证开源。