PrismProtect

PrismProtect

为服务器添加保护功能(类似coreprotect)。 具有回滚、查询+查询客户端高亮等功能。

管理

PrismProtect — 保护你的模组化 Minecraft 服务器

需要 Architectury API

PrismProtect 是一个面向 Minecraft 1.20.1–1.20.4 的服务端(以及用于高亮的客户端)Architectury 模组,为模组化服务器带来类似 CoreProtect 的日志记录与回滚功能 —— 无需插件,专为性能而构建。


特性

  • 记录方块破坏/放置/替换,完整支持 BlockEntity NBT
  • 追踪爆炸(TNT、苦力怕、原版爆炸管线) 注意: 某些使用完全自定义爆炸逻辑的模组可能绕过原版钩子而不会被记录
  • 记录实体死亡,并保存完整 NBT 快照以便精确恢复
  • 记录容器和物品栏变更,通过菜单打开/关闭时的差异对比进行追踪
  • 记录方块破坏产生的物品掉落以及合成产物,以支持物品回滚
  • 支持任意模组的方块/实体(命名空间 ID 按原样存储)
  • 使用优化的 SQLite 存储,启用 WAL 日志模式并支持线程安全写入
  • 内置检查模式,可在游戏内查看方块历史记录

命令

/pp inspect

切换检查模式,点击方块即可查看历史记录。

/pp lookup [u:<name>] [t:<time>] [r:<radius>] [a:block|entity|container]

使用过滤器搜索已记录的操作(默认 a:block)。

/pp rollback [u:<name>] [t:<time>] [r:<radius>] [a:entity]

回滚所选范围内的变更。 不带 a:entity 时,回滚方块/容器/物品变更。

/pp highlight [off] [u:<name>] [t:<time>] [r:<radius>] [w:<world>] [d:<sec>] [l:<limit>] [p:<page>]

以世界内彩色轮廓高亮匹配的方块变更,便于可视化调查。 使用 off 立即清除当前高亮。 再次运行 /pp highlight ... 会替换该玩家之前的高亮集合。

/pp restore [u:<name>] [t:<time>] [r:<radius>]

恢复此前已回滚的方块/容器/物品变更。

/pp purge t:<time>

删除旧日志数据(需要 OP 等级 4)。

/pp status

显示数据库计数和运行时状态。


时间格式

支持 s、m、h、d、w 示例:30m、1h30m、2d、1w


高亮模式

使用 /pp highlight 在世界内为匹配的方块变更渲染轮廓标记。 颜色表示操作类型,/pp highlight off 会立即清除当前高亮。

实体回滚

实体回滚是独立范围:在回滚命令中加上 a:entity。 PrismProtect 使用死亡时捕获的完整 NBT 快照,在原始坐标处重新生成实体。


物品回滚

PrismProtect 会记录:

  • 方块破坏产生的物品掉落
  • 从结果槽取出的合成产物

在 /pp rollback 期间,它会恢复受影响的方块,并尝试从原始玩家物品栏中移除已记录的物品。 如果物品栏中找不到,它还会检查原始位置附近的地面掉落物。


存储

PrismProtect 使用内置的 SQLite(无需外部数据库)。 数据库路径:config/prismprotect/prismprotect.db WAL 日志模式可在服务器高负载下提供安全的并发访问。


版本支持

Minecraft 加载器 状态
1.20.1–1.20.4 Forge 47.2.0+ ✅ 支持
1.20.1–1.20.4 Fabric Loader 0.14.25+ + Fabric API 0.92.2+1.20.1 ✅ 支持
1.20.5+ / 1.21.x 其他构建 ⚠️ 不可用(即将添加)

服务端必需,客户端可选。客户端无需安装 PrismProtect 即可加入。