CoreProtect

CoreProtect — это плагин для SMP-сервера под управлением Bukkit, регистрирующий изменения блоков. С его помощью вы можете просмотреть историю изменений блоков, то есть кто и когда поставил/удалил блок, и откатить/вернуть изменения блоков и другое.

Установка

  1. Скачайте плагин
  2. Скопируйте файл "CoreProtect_<версия>.jar" в папку "plugins" Вашего сервера.
  3. Перезапустите сервер.

Настройка

Настройка плагина осуществляется с помощью файла config.yml. Бо́льшая часть параметров принимает только два значения: включено (true) и выключено (false).
verbose — Если включено, то при выполнении откатов будет отображаться дополнительная информация, иначе дополнительная информация будет отображена только если в команде присутствует аргумент #verbose.
use-mysql — Если включено, то плагин будет использовать указанные ниже данные для подключения к внешней базе данных MySQL.
table-prefix — Префикс таблиц в базе данных MySQL.
mysql-host — Адрес сервера с базой данных MySQL.
mysql-port — Порт для подключения к серверу с базой данных MySQL.
mysql-database — Название внешней базы данных MySQL.
mysql-username — Имя пользователя для подключения к внешней базе данных MySQL.
mysql-password — Пароль для подключения к внешней базе данных MySQL.
check-updates — Автоматическая проверка обновлений (true - включена, false - выключена).
api-enabled — Использовать CoreProtect API (другие плагины смогут получать доступ к данным CoreProtect)?
default-radius — Радиус отката/восстановления по умолчанию. Будет подставлено значение этого параметра, если аргумент r:<radius> не указан.
max-radius — Максимальный радиус отката/восстановления.
rollback-items — Откатывать предметы, взятые из сундуков и прочих контейнеров?
rollback-entities — Откатывать убитых мобов?
skip-generic-data — Если включено, то информация о действиях, связанных с простыми явлениями (например, горение зомби днём) записываться не будут.
block-place — Записывать установку блоков?
block-break — Записывать разрушение блоков?
natural-break — Записывать информацию о разрушении блоков в результате взаимодействия с другими блоками (например, разрушение факела, стоящего на блоке, сломанном игроком)? Необходимо включить для нормальной работы восстановления кроватей и дверей.
block-movement — Отслеживать естественное перемещение блоков (например, падение гравия)?
pistons — Отслеживать перемещение блоков поршнем?
block-burn — Записывать сгорание блоков?
block-ignite — Записывать натуральное поджигание блоков (например, распространение огня)?
explosions — Записывать разрушения блоков вследствие взрывов?
entity-change — Записывать изменения блоков вследствие взаимодействия с ними существ (например, эндермен взял блок)?
entity-kills — Записывать убийства мобов?
sign-text — Записывать изменения текста на табличках?
buckets — Записывать изменения блоков, связанные с использованием вёдер игроками?
leaf-decay — Записывать натуральное разрушение листвы?
tree-growth — Записывать изменения блоков, связанные с вырастанием дерева? Изменения будут связаны с игроком, посадившим дерево.
mushroom-growth — Записывать изменения блоков, связанные с вырастанием грибов?
vine-growth — Записывать натуральный рост лиан?
portals — Записывать натуральную генерацию порталов?
water-flow — Записывать изменения блоков, связанные с растеканием воды? Позволит правильно откатить блоки, разрушенные вследствие этих изменений.
lava-flow — Записывать изменения блоков, связанные с растеканием лавы? Позволит правильно откатить блоки, разрушенные вследствие этих изменений.
liquid-tracking — Изменения блоков, связанные с растеканием жидкости будут связаны с игроком, поставившим источник данной жидкости.
item-transactions — Записывать изменения содержимого контейнеров?
player-interactions — Записывать взаимодействия игроков с блоками (например, открытие двери)?
player-messages — Записывать сообщения, отправляемые игроками в чат?
player-commands — Записывать команды, выполняемые игроками?
player-sessions — Записывать информацию о входах/выходах игроков?
username-changes — Записывать изменения никнейма игроков?
worldedit — Записывать изменения, связанные с использованием WorldEdit?

Использование

Режим проверки

Чтобы включить режим проверки, введите команду /co i. Кликните ЛКМ по блоку, чтобы узнать, какие блоки на этом месте были поставлены или сломаны. Показывается также время изменения блоков и никнеймы игроков (или имена сущностей), которые эти блоки изменили. Вся информация выводится в чат. Кликните ПКМ по грани блока, чтобы узнать историю изменений блока, который находился по другую сторону от грани. Нажмите ПКМ по любому механизму (кнопке, рычагу, двери), чтобы узнать, кто и когда использовал его. Режим проверки отключается повторным вводом команды /co i.

Откат блоков

Чтобы откатить изменения блоков, введите команду
/co rollback u:<user> t:<time> b:<blocks> e:<exclude> r:<radius> a:<action> #<hashtag>
аргументы заключены в угловые скобки, при вводе команды скобки указывать не нужно.
Аргументы:
user — ник игрока. Чтобы откатить действия всех игроков, не используйте этот аргумент (писать u тоже не нужно).
time — время. Вы можете использовать недели w, дни d, часы h, минуты m и секунды s. В записи вы можете использовать смешанные значения и десятичные дроби. Пример: t:2.50w40h2m (две с половиной недели, сорок часов и две минуты). Чтобы откатить действия за всё время, не вводите этот аргумент.
blocks — блоки. Вы можете выбрать ID блоков, которые необходимо удалить. Чтобы убрать все блоки, не используйте этот аргумент.
exclude — исключение. Если вы хотите, например, удалить все блоки, кроме камня, введите ID камня. Чтобы убрать все блоки, не вводите этот аргумент.
radius — радиус, в котором нужно восстановить блоки. Можно указать целое число, название мира (например, #world), все миры (#global), выделение WorldEdit (#worldedit или #we). Если аргумент не указан, будет автоматически подставлено значение параметра default-radius из файла конфигурации.
action — действие, возможные параметры:

  1. block — блок поставлен/сломан
  2. +block — блок поставлен
  3. -block — блок сломан
  4. click — взаимодействие игрока с блоком
  5. container — предмет взят или положен в контейнер
  6. +container — предмет положен в контейнер
  7. -container — предмет взят из контейнера
  8. kill — убит моб или другая энтити
  9. chat — отправлено сообщение в чат
  10. command — команда выполнена
  11. session — вход или выход игрока с сервера
  12. +session — вход игрока на сервер
  13. -session — выход игрока с сервера
  14. username — изменён никнейм

hashtag — дополнительные параметры, возможные значения:

  1. preview — откат с предварительным просмотром изменений.
  2. count — возвращает количество строк, найденных при просмотре логов через /co lookup.
  3. verbose — отображать подробную информацию при откате/восстановлении.
  4. silent — отображать только основную информацию при откате/восстановлении.

Восстановление блоков

Чтобы восстановить изменения блоков, введите команду
/co restore u:<user> t:<time> b:<blocks> e:<exclude> r:<radius> a:<action> #<hashtag>
Эта команда также может быть использована для отмены отката блоков.

Примеры использования

Откат блоков

  1. Откатить все действия игрока Notch за последний час.
    /co rollback u:Notch t:1h
  2. Откатить только блоки камня, поставленные игроком Notch за последний час.
    /co rollback u:Notch t:1h b:stone
  3. Откатить все действия игрока Notch в мире world_nether за последнюю неделю.
    /co rollback u:Notch t:1w r:#world_nether
  4. Откатить все действия игрока Notch за последний час, кроме действий с камнем.
    /co rollback u:Notch t:1h r:#global e:stone
  5. Откатить только сломанные игроком Notch блоки камня во всех мирах за последний час.
    /co rollback u:Notch t:1h r:#global a:-block b:stone
  6. Откатить все действия за последние 15 минут, произведённые в выделении WorldEdit.
    /co rollback t:15m r:#worldedit

Просмотр логов

  1. Посмотреть все блоки алмазной руды, добытые за последний час.
    /co lookup b:diamond_ore t:1h a:-block
  2. Посмотреть все сообщения, отправленные игроком Notch за последние 15 минут.
    /co lookup u:Notch a:chat t:15m
  3. Посмотреть все входы игрока Notch на сервер.
    /co lookup u:Notch a:login

Команды

/co help — вывести в чат все команды плагина
/co inspect — включить режим проверки блоков
/co lookup u:<user> t:<time> b:<blocks> e:<exclude> r:<radius> a:<action> #<hashtag> — просмотр логов по параметрам
/co rollback u:<user> t:<time> b:<blocks> e:<exclude> r:<radius> a:<action> #<hashtag> — откат изменений блоков
/co restore u:<user> t:<time> b:<blocks> e:<exclude> r:<radius> a:<action> #<hashtag> — возврат изменений блоков
/co undo — отмена последнего действия
/co near — просмотр всех действий неподалёку от исполнителя команды
/co status — информация о состоянии плагина
/co purge <months> — очистить информацию о блоках за один или несколько месяцев
/co reload — перезагрузить настройки плагина

Права на команды

coreprotect.* — Доступ ко всем командам плагина
coreprotect.inspect — Возможность использовать /co inspect
coreprotect.lookup — Возможность использовать /co lookup
coreprotect.rollback — Возможность использовать /co rollback
coreprotect.restore — Возможность использовать /co restore
coreprotect.help — Возможность использовать /co help
coreprotect.purge — Возможность использовать /co purge
coreprotect.reload — Возможность использовать /co reload
coreprotect.status — Возможность использовать /co status

coreprotect.co — Возможность использовать команду /co
coreprotect.core — Возможность использовать команду /core
coreprotect.coreprotect — Возможность использовать команду /coreprotect

В данной статье используются материалы из статьи «CoreProtect» с вики-сайта Minecraft Wiki, расположенного на Фэндоме, и они распространяются согласно лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0. Авторы статьи.