物品图

物品图

一个针对NeoForge 1.21.1的服务器端取证式管理模组。根据权威证据重建物品移动、堆叠拆分以及随时间发生的转化过程。

ItemGraph 横幅

ItemGraph

追踪物品随时间的流转。

ItemGraph 是一个面向 NeoForge 1.21.1 的服务器端 Minecraft 管理审核与取证分析模组。

现有的日志记录工具(如 GriefLogger 和 CoreProtect)非常擅长记录单一坐标处发生的事件。但当物品在玩家、地面掉落物和容器之间流转时,服务器管理员仍然需要手动重建这条链路。ItemGraph 填补了这一缺失的重建层。

ItemGraph 不会为每个 Minecraft 物品分配人为的、侵入性的 UUID,而是使用规范化组件指纹和显式的数量分配账本,将物品历史建模为有向时序多重图。

证据优先。推断其次。置信度明确。每个结论皆可追溯。


核心架构原则

  1. 不生成逐物品的合成 UUID。 兼容原版和模组物品,不会修改物品 NBT 或使世界存档膨胀。
  2. 严格的数量守恒。 引擎绝不会凭空生成数量。堆叠的拆分与合并通过显式的分配账本进行追踪。
  3. 明确的来源标注。 查询输出区分 OBSERVED(观察到的原始证据)与 INFERRED(推断的流转),并在推断边上打印置信度。
  4. 只读集成。 GriefLogger 的 SQLite 数据库以只读方式打开。ItemGraph 在 run/itemgraph/itemgraph.db 拥有自己独立的 SQLite 存储。
  5. 零服务器卡顿。 图遍历、历史扫描和不变量审计均在异步工作线程上执行。

主要功能

  • 地面桥接重建,用于追踪玩家之间通过地面丢弃和拾取完成的物品转移。
  • 基于权威的 Minecraft ItemEntity UUID 连续性,当同一实体在丢弃和拾取时被观察到时提升置信度。
  • 跨铁砧修复与重命名、合成和冶炼的转化追踪。
  • 盔甲架和容器集成,覆盖盔甲更换、箱子、木桶和漏斗。
  • 实时不变量审计,检查数量守恒、正值性、关系完整性和生命周期一致性。

命令与示例

所有命令均需要权限等级 2(管理员或 OP)。

物品追踪

物品追踪通过指纹 ID、注册 ID 或自定义名称重建完整的生命周期。它区分原始观察与推断的时序流转,并包含时间戳、数量和证据标识符。

示例:容器 → Alice,Alice → 地面,推断 Alice → Bob,然后 地面 → Bob。每条推断的转移都包含确定性的置信度、候选数量、空间与时间增量、支撑观察记录和证据 ID。

玩家、容器与审计追踪

玩家追踪重建物品的流入、流出、容器交互、地面交换和盔甲架活动。容器追踪显示特定方块坐标处物品的添加与移除。审计命令异步运行,报告数量守恒违规、非正数量、孤立分配、缺失端点和生命周期不一致。

安装与要求

  • 平台: NeoForge 1.21.1,已在 21.1.248 及更新版本上测试。
  • Java: Java 21 或更新版本。
  • 环境: 仅服务器端。玩家无需在其客户端上安装 ItemGraph。
  • 必需运行时依赖: GriefLogger,适用于 Minecraft 1.21.1 的 1.2.10 或更新版本。
  • GriefLogger 的运行时依赖: Architectury API 和 SuperMartijn642 的 Config Lib。

项目链接

证据优先。推断其次。置信度明确。每个结论皆可追溯。