• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

CoreProtect

来自Minecraft插件百科
Archi DreamZ留言 | 贡献2026年8月28日 (五) 13:09的版本 (完善“参数说明”,将参数的对象不只限于“回档”,而是还包含“查询”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索
CoreProtect
外文名CoreProtect
作者Intelli
插件类型Spigot / CraftBukkit
最新版本v21.2
兼容服务端1.8-1.18
源地址http://dev.bukkit.org/bukkit-plugins/CoreProtect

CoreProtect是一款快速高效的方块操作历史记录的Bukkit插件。

综述

CoreProtect - 快速,高效的方块记录,回滚和恢复

CoreProtect是一种快速,高效的数据记录和防止恶意破坏的工具。可以回滚和恢复破坏。为大型服务器设计,CoreProtect将记录和管理数据,而不会影响服务器性能。

CoreProtect是最常用的服务器保护的插件,并自2012年年初得到了大力发展。

特性简介

  • 快速高效的数据日志记录.
  • 快速回档 - 回档/恢复时没有延迟.
  • 多线程以确保服务器执行操作时没有延迟.
  • 无需配置配置文件.将插件放入服务器就可以运行.
  • 基于SQLite的数据储存.
  • 支持MySQL数据库.
  • 简单的命令.
  • 可以执行回档及恢复功能.随时撤销回档命令.
  • 使用(方块记录查询)操作简单.
  • 高效的搜索式查询工具.
  • 页面形式的日志记录查询.
  • 自动升级检测.
  • 支持多世界.
  • 支持在配置文件中自由开启/关闭任何一个记录类型.
  • 回档某个人的方块操作,或是全图恢复一定区域内的所有方块.
  • 支持回档/恢复时略过指定类型的方块.
  • 限定回档/恢复的特定方块类型.
  • 记录基本的玩家操作. (例如当玩家打开一扇门时,记录操作)
  • 液体追踪.记录放置水源/岩浆源的玩家.
  • 树木追踪.记录树苗的放置者.
  • 限定回档/恢复操作所作用的半径范围.
  • 支持水桶/岩浆桶的权限系统.
  • 支持查询从另一个方块掉落下来的方块记录.
  • 如果玩家破坏了放置有木牌的方块,回档时支持恢复方块与其上的木牌.
  • 支持删除旧有记录数据.
  • 安全的默认参数.
  • 支持同时对多个玩家进行回档/恢复操作.
  • 每个世界拥有独立的配置文件.
  • 限定执行回档、恢复时所作用的动作范围.
  • 执行操作时支持跳过多个玩家或方块.
  • 预览回档/恢复操作.
  • 支持使用WorldEdit选择.
  • 支持API.
  • 适用于Tekkit服务器
  • 还有更多特性.

日志事件

  • 记录被玩家破坏的方块.
  • 记录被玩家放置的方块.
  • 记录自然的方块破坏事件. (例如:木牌放置在一个泥土方块,泥土方块被破坏后,木牌会自然弹出变为掉落的物品形式.)
  • 记录桶的使用.
  • 记录液体的流动.
  • 记录树木的生长.
  • 记录蘑菇的生长.
  • 记录藤蔓的生长.
  • 记录爆炸事件. (包括TNT,苦力怕, 恶魂等)
  • 记录打火石和火焰弹的使用.
  • 记录被火点燃的方块.
  • 记录在火中烧掉的方块.
  • 记录实体对方块的变动. (末影人/末影龙)
  • 记录方块的移动行为. (掉落沙/沙砾)
  • 记录树叶的掉落行为.
  • 记录玩家的动作.
  • 记录地狱门的生成.
  • 记录被活塞移动的方块.
  • 记录被玩家收割的小麦.
  • 记录雪傀儡生成的雪.
  • 记录容器中物品的变更. (容器包括箱子,熔炉,发射器等.)
  • 记录画与展示框的变更. (支持回档命令.)
  • 记录被玩家杀死的实体. (动物/怪物)
  • 记录玩家发送的聊天信息与使用过的命令.
  • 记录玩家的登录、登出行为.
  • 记录WorldEdit插件所造成的地形变更.
  • 记录范围仍在不停的拓展...

使用说明

  • 当你开启查询模式时(输入"/core inspect"或是"/co i")
  • 你可以使用以下方式查询 :
  • 左键一个方块来查看放置信息.
  • 右键一个方块来查看临近的方块的移除信息.
  • 右键放置一个方块来查看该位置的方块的移除信息.
  • 右键放置一个方块取代原有方块来查看原有方块的放置信息.
  • (例如,将泥土放置在水中来查看水源的相关信息)
  • 右键门、按钮、拉杆、箱子等可交互的方块来查看其使用信息.

一些反馈

  • "使用回档命令既简单又快速."
  • "自从Bukkit开发以来,我就一直在运行服务器,所以我用过几乎所有的记录插件.CoreProtect是其中最好的,同时也是最快速的."
  • "使用CoreProtect吧.快速、更新快并且能够记录WorldEdit的操作."
  • "Overall it felt more natural, simpler, and much faster to use CoreProtect than Prism, which just doesn't compare."
  • "CoreProtect brings complex logging and rollbacks, whilst at the same time keeping a low profile."
  • 编写者注:以上内容主观性较强,故只翻译部分,与插件使用无关紧要。

命令

你可以通过输入 "/coreprotect", "/core", 或是 "/co"来调用指令.

命令概览
/co help 显示命令列表
/co inspect 开启/关闭查询模式,缩写"/co i"
/co near 查看半径五格内的方块记录
/co rollback <参数> 回档方块数据,缩写"/co rb"
/co restore <参数> 取消回档操作,缩写"/co rs"
/co undo 撤销回档/恢复操作,即进行相反的动作
/co lookup <参数> 高级方块数据查询,缩写"/co l"
/co purge <参数> 删除旧有数据
/co reload 重载配置文件
/co version 查看当前插件版本信息

参数说明

  • u:<user> - 指定一名用户进行查询/回档等操作。
 例子: u:Notch
  • t:<ti me> - 指定查询/回档的时间变量,你可以指定周、天、小时、分钟、秒数。
 例子 t:2w、t:5d、t:7h、t:2m、t:10s
 你可以指定更具体的时间变量.
 例子: t:5d2h
 你也可以使用小数
 例子: t:2.50h (两个半小时)
  • r:<radius> - 指定作用的半径范围。
 你可以利用这个变量只查询/回档你附近的方块.
 你可以直接指定一个数字(例如 r:5),一个世界(例如 r:#world_the_end), 全局(r:#global), 或是一个WorldEdit的选区(r:#worldedit 或者 r:#we)
 举个例子来说,下面这个变量意味着只查询/回档你周围半径为10格的方块: r:10
  • a:<action> - 限定当前命令的行为范围
 举个例子来说,如果你只想限定于“放置方块”行为,输入 a:+block
 以下是所有行为的参数代码:
 a:block (方块放置/破坏)
 a:+block (方块放置)
 a:-block (方块破坏)
 a:click (玩家交互)
 a:container (物品拿出或放入箱子等容器.)
 a:+container (物品放入箱子等容器.)
 a:-container (物品拿出箱子等容器.)
 a:kill (被杀死的怪物/动物)
 a:chat (聊天栏中的信息)
 a:command (用过的命令)
 a:session (玩家登入/登出)
 a:+session (玩家登入)
 a:-session (玩家登出)
  • b:<blocks> - 限定当前命令所作用的方块类型.
 举个例子来说,如果你只想限定于石头方块,你可以输入b:1
 你也可以指定多个物品,像这样b:1,5,7
 你可以在这里找到方块ID
 http://www.minecraftwiki.net/wiki/Data_values
  • e:<exclude> - 排除当前命令所作用的方块类型.
 可以将某种方块不受命令所作用。
 举个例子来说,如果你不想要TNT在回档时也被恢复,你可以输入e:46
  • #<hashtag> - 添加一个标签在你的指令末端来执行额外的操作.
 举个例子来说,如果需要执行预览“回档”操作,你可以输入#preview
 以下是可用的标签列表:
 #preview (预览回档/恢复操作)
 #count (返回一个查看记录的行数)
 #verbose (在执行回档/恢复操作时显示额外的调试信息)
 #silent (在执行回档/恢复操作时显示少量的调试信息)

命令详细介绍

  • /co rollback u:<玩家名> t:<时间> r:<半径> a:<行为> b:<方块ID> e:<方块ID>

几乎所有的参数都是可以设置的。 回档命令示例:

 >>默认情况下,如果指令中并未指定范围(radius)变量,插件将会自动代入10这个数据,限制操作的作用范围是你周围半径10格的区域.使用"r:#global"来执行全局回档.
 对玩家Notch一小时内的所有操作进行回档(默认范围10):
 /co rollback u:Notch t:1h
 预览“对玩家Notch一小时内的所有操作进行回档(默认范围10)”:
 /co rollback u:Notch t:1h #preview
 对玩家Notch23小时17分钟内的所有操作进行回档(默认范围10):
 /co rollback u:Notch t:23h17m
 对玩家Notch最近一小时内的石头放置/破坏操作进行回档(默认范围10):
 /co rollback u:Notch t:1h b:1
 对玩家Notch最近一小时内的石头破坏操作进行回档(默认范围10):
 /co rollback u:Notch t:1h b:1 a:-block
 对玩家Notch最近一小时内除了石头放置/破坏以外的所有操作进行回档(全局):
 /co rollback u:Notch t:1h r:#global e:1
 对玩家Notch最近一小时内的地形修改操作进行回档(半径20):
 /co rollback u:Notch t:1h r:20
 对玩家Notch最近一小时内的地形修改操作进行回档(限制在Nether世界):
 /co rollback u:Notch t:1h r:#nether
 对所有玩家最近15分钟内的所有操作进行回档(半径30):
 /co rollback t:15m r:30
 对在WorldEdit选区内最近15分钟内的所有操作进行回档:
 /co rollback t:15m r:#worldedit
  • /co lookup u:<玩家名> t:<时间> r:<半径> a:<行为> b:<方块ID> e:<方块ID>

本命令用于高级的数据查询,也可以用于搜索查看方块记录。 高级查询命令示例:

 >>查询命令与回档命令的使用基本一样.唯一的区别在于查询命令默认的范围是全局.
 查看最近一小时内所有钻石原矿的挖掘记录:
 /co lookup b:56 t:1h a:-block
 查看附近2格内所有容器的放入放出记录
 /co lookup r:2 a:container
 查看最近30分钟内玩家Notch发送的所有聊天信息:
 /co lookup u:Notch t:30m a:chat
 查看玩家Notch的所有登陆操作:
 /co lookup u:Notch a:login
  • /co restore u:<玩家名> t:<时间> r:<半径> a:<行为> b:<方块ID> e:<方块ID>
 与/rollback同样的参数设置.
 /restore同样可以作用于回退/rollback操作.
  • /co purge t:<时间>
  清除旧的方块数据. 如果你不需要旧的数据,可以用这个命令来释放你的硬盘储存空间.
  举个例子来说, "/co purge t:30d" 将会删除所有一个月前的旧数据,仅保留最近30天的数据.
  在游戏中输入命令,将只有30天以后的数据可以被清除;如果在控制台输入命令,则是24小时以后的数据都可以被清除.


权限

 coreprotect.*

允许使用全部命令.

 coreprotect.inspect

允许使用inspect命令.

 coreprotect.lookup

允许使用lookup命令.

 coreprotect.rollback

允许使用rollback命令.

 coreprotect.restore

允许使用restore命令.

 coreprotect.purge

允许使用purge命令.

 coreprotect.reload

允许使用reload命令.

 coreprotect.help

允许使用help命令.

子权限

  • coreprotect.lookup.block
    • 可以使用否定节点来限制方块记录查询.
  • coreprotect.lookup.click
    • 可以使用否定节点来限制动作记录查询.
  • coreprotect.lookup.container
    • 可以使用否定节点来限制容器记录查询.
  • coreprotect.lookup.kill
    • 可以使用否定节点来限制实体死亡记录查询.
  • coreprotect.lookup.chat
    • 可以使用否定节点来限制聊天记录查询.
  • coreprotect.lookup.command
    • 可以使用否定节点来限制命令记录查询.
  • coreprotect.lookup.session
    • 可以使用否定节点来限制选区(限定范围)查询.
  • coreprotect.lookup.username
    • 可以使用否定权限来限制用户名更改查询.

特殊名词说明:

否定节点指的是权限节点搭配-的组合,与GroupManager插件中的概念相同。

如添加-essentials.build则为禁止建筑,详情参照 GroupManager GM:否定节点

指导与资源

相关链接

兼容的第三方插件与工具列表.点击查看

独立世界配置文件

如果你想要独立特定世界的记录设置,只需要按下面这样做:

  1. 复制 config.yml 文件的所有内容,创建并粘贴到以对应世界名命名的文件中(例如: world_nether.yml)
  2. 在新文件中自定义你的设置.
  3. 同时重启服务端, 或是在游戏中输入"/co reload" .

举个例子来说, 如果你不想记录"The End"的所有日志, 复制 config.yml 文件中的所有内容并粘贴到 "world_the_end.yml" (匹配对应的世界名).

之后,在新的文件中,调整设置你所期望的选项即可.

取消记载指定用户的记录

如果你想取消记录一些用户, 你可以这样做

  1. 在CoreProtect插件根目录下创建一个名为“blacklist.txt”的文件.
  2. 输入需要禁用的用户名称 (每个用户名一行)
  3. 重新启动服务器, 或者在游戏输入指令“/co reload”

这可以用于禁用非玩家的记录, 如“#tnt”. 如果你想禁用记录用户“Notch”, 和TNT爆炸, blacklist.txt文件需要这样写:

Notch
#tnt

CoreProtect 2.00 升级向导

  • 由CoreProtect 1 升级到 2? 这里有些你需要知道的信息.点击查看

API Documentation