CoreProtect 指南:命令、回滚与设置
CoreProtect 几乎会记录 Minecraft 服务器上发生的一切:放置和破坏的方块、打开的箱子、取走的物品、爆炸、聊天和命令。当有人破坏了建筑,你可以查到是谁干的,并用一条命令撤销,无需恢复备份,也不会让其他玩家丢失进度。
本指南介绍 CoreProtect 的安装、检查器、日志查询、回滚与恢复、清理旧数据以及数据库的选择。
安装 CoreProtect
CoreProtect 是适用于 Paper、Spigot 和 Folia 的插件。当前版本 CoreProtect 24.1 支持 Minecraft 1.14 至 26.2。
- 从 Modrinth 或 Hangar 免费下载。Patreon 赞助者的版本会更早获得部分功能。
- 把 jar 文件放进
plugins文件夹并重启服务器。上传插件的方法见 如何安装 Minecraft 插件。 - CoreProtect 会立即开始记录,数据写入
plugins/CoreProtect/database.db这个 SQLite 文件。无需任何设置。
更新 Minecraft 之前请先查看版本列表:新的 Minecraft 版本发布后,请等待支持该版本的 CoreProtect 发布。
检查器:谁动过这个方块?
输入 /co i 开启检查器。开启期间:
- 左键点击方块,查看是谁放置或破坏了它,以及时间。
- 右键点击方块,或方块旁边的空气,查看该位置的历史记录。
- 右键点击箱子或其他容器,查看放入和取出了什么。
再次输入 /co i 即可关闭。/co near 会显示你周围 5 格内的最新变化。
日志查询:搜索历史记录
/co lookup(或 /co l)使用可自由组合的参数搜索日志:
| 参数 | 含义 | 示例 |
|---|---|---|
u: | 用户,多个用逗号分隔,或原因,例如 #tnt、#creeper、#fire | u:Steve,Alex |
t: | 向前追溯的时间:w、d、h、m、s,可组合使用,也可指定范围 | t:2d, t:5d2h, t:1h-2h |
r: | 以你为中心的半径(格数)、某个世界或全部范围 | r:20, r:#world_nether, r:#global |
a: | 行为:block、+block、-block、container、chat、command、kill、session 等 | a:-block |
i: / e: | 包含或排除方块、物品或实体 | i:diamond_block |
示例:
/co l u:Steve t:2d a:-block /co l t:1h r:30 a:container /co l u:Steve t:7d a:chat
第一条显示 Steve 在过去两天内破坏的方块,第二条显示过去一小时内 30 格范围内从容器中取出或放入的物品。结果分页显示;/co l 2 显示下一页。
回滚破坏,以及恢复
/co rollback(/co rb)撤销更改,参数与日志查询相同。/co restore(/co rs)则把它们恢复回来。
/co rollback u:Griefer t:1d r:#global #preview /co rollback u:Griefer t:1d r:#global /co rollback t:30m r:15 u:#tnt /co restore u:Griefer t:1d r:#global
- 先预览。
#preview只向你显示结果;在你去掉它再执行命令之前,什么都不会改变。 - 注意半径。不带
r:的回滚只覆盖你周围 10 格。如果破坏者到处移动过,请加上r:#global。 - 始终指定用户或较短的时间。对所有人进行长时间回滚,也会撤销守规矩玩家的建筑。
- 操作失误?
/co undo会撤销你上一次回滚或恢复。
在自带 MySQL 的服务器上运行 CoreProtect:HytHost Minecraft 主机 €2.59/月起。
查看 Minecraft 套餐清理旧数据
CoreProtect 会保留所有记录直到你删除,所以只要服务器在运行,数据库就会不断增长。请定期清理旧数据:
/co purge t:30d
这会删除 30 天之前的所有数据。在游戏内只能清理 30 天以前的数据;在控制台中最短为 24 小时。加上 r:#world_name 可只清理一个世界。使用 MySQL 时,加上 #optimize 可释放磁盘空间。选择的时长应覆盖玩家通常发现破坏所需的时间。
SQLite 还是 MySQL
CoreProtect 默认使用 SQLite,即其文件夹中的单个文件。这对大多数服务器来说足够,且无需设置。如果你希望数据存放在服务器文件夹之外,或者网络中的多台服务器需要记录到同一个数据库,请使用 MySQL。
要切换,先创建数据库,然后编辑 plugins/CoreProtect/config.yml:
use-mysql: true table-prefix: co_ mysql-host: DB_HOST mysql-port: 3306 mysql-database: DB_NAME mysql-username: DB_USER mysql-password: DB_PASSWORD
重启服务器并用 /co status 检查。请尽早决定:切换不会迁移已经记录的数据,而迁移命令需要 Patreon 版本。每个 HytHost Minecraft 套餐都包含 MySQL 数据库,可在面板的 Databases 选项卡中创建。
为管理团队设置权限
OP 通过 coreprotect.* 拥有所有 CoreProtect 命令。对于不是 OP 的管理员,用 LuckPerms 等权限插件只授予他们需要的权限:
coreprotect.inspect和coreprotect.lookup用于调查;coreprotect.rollback和coreprotect.restore仅给值得信任的成员;coreprotect.purge和coreprotect.reload给管理员。
CoreProtect 与 EssentialsX 搭配使用效果很好,后者提供团队日常使用的命令。
常见问题
运行 /co rollback u:PlayerName t:1d r:#global #preview 查看结果,然后执行去掉 #preview 的同一条命令。调整时间,使其覆盖破坏发生的时段。
不带 r: 的回滚只覆盖你周围 10 格。加上 r:#global 或更大的半径,并确认时间覆盖了整个时段。
CoreProtect 在独立队列中写入日志,因此正常游戏不会变慢。长时间范围的大型查询和回滚耗时更长,而且数据库会随时间增长,所以请定期清理旧数据。
该插件适用于 Paper、Spigot 和 Folia。CoreProtect 还另外发布了 Fabric 版本;请在其下载页面查看支持的 Minecraft 版本。
可以。/co undo 会撤销你上一次回滚或恢复,而使用相同参数的 /co restore 可以恢复回滚删除的内容。
保护你的建筑
HytHost Minecraft 主机运行 Paper,支持 CoreProtect 等插件,每个套餐都包含 MySQL 数据库,€2.59/月起。
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours这篇指南对你有帮助吗?