CoreProtect
CoreProtect — это плагин для SMP-сервера под управлением Bukkit, регистрирующий изменения блоков. С его помощью вы можете просмотреть историю изменений блоков, то есть кто и когда поставил/удалил блок, и откатить/вернуть изменения блоков и другое.
Установка
- Скачайте плагин
- Скопируйте файл "CoreProtect_<версия>.jar" в папку "plugins" Вашего сервера.
- Перезапустите сервер.
Настройка
Настройка плагина осуществляется с помощью файла 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
— действие, возможные параметры:
block
— блок поставлен/сломан+block
— блок поставлен-block
— блок сломанclick
— взаимодействие игрока с блокомcontainer
— предмет взят или положен в контейнер+container
— предмет положен в контейнер-container
— предмет взят из контейнераkill
— убит моб или другая энтитиchat
— отправлено сообщение в чатcommand
— команда выполненаsession
— вход или выход игрока с сервера+session
— вход игрока на сервер-session
— выход игрока с сервераusername
— изменён никнейм
hashtag
— дополнительные параметры, возможные значения:
preview
— откат с предварительным просмотром изменений.count
— возвращает количество строк, найденных при просмотре логов через/co lookup
.verbose
— отображать подробную информацию при откате/восстановлении.silent
— отображать только основную информацию при откате/восстановлении.
Восстановление блоков
Чтобы восстановить изменения блоков, введите команду
/co restore u:<user> t:<time> b:<blocks> e:<exclude> r:<radius> a:<action> #<hashtag>
Эта команда также может быть использована для отмены отката блоков.
Примеры использования
Откат блоков
- Откатить все действия игрока Notch за последний час.
/co rollback u:Notch t:1h
- Откатить только блоки камня, поставленные игроком Notch за последний час.
/co rollback u:Notch t:1h b:stone
- Откатить все действия игрока Notch в мире world_nether за последнюю неделю.
/co rollback u:Notch t:1w r:#world_nether
- Откатить все действия игрока Notch за последний час, кроме действий с камнем.
/co rollback u:Notch t:1h r:#global e:stone
- Откатить только сломанные игроком Notch блоки камня во всех мирах за последний час.
/co rollback u:Notch t:1h r:#global a:-block b:stone
- Откатить все действия за последние 15 минут, произведённые в выделении WorldEdit.
/co rollback t:15m r:#worldedit
Просмотр логов
- Посмотреть все блоки алмазной руды, добытые за последний час.
/co lookup b:diamond_ore t:1h a:-block
- Посмотреть все сообщения, отправленные игроком Notch за последние 15 минут.
/co lookup u:Notch a:chat t:15m
- Посмотреть все входы игрока 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