Как восстановить разрушенные постройки через CoreProtect
1. Подготовка и доступ к серверу через proxify.cloud
- Авторизуйтесь в панели proxify.cloud.
- В списке услуг выберите выделенный сервер с Ubuntu, на котором развёрнут Minecraft-сервер.
- Откройте вкладку Console (VNC-консоль) или подключитесь по SSH с вашей рабочей станции:
IP-адрес указан в деталях услуги на proxify.cloud.ssh root@<IP-адрес_сервера> - Перейдите в пользователя, от имени которого запущен сервер (обычно
minecraftилиserver):su - minecraft cd /home/minecraft/server # стандартный путь, проверьте на proxify.cloud в разделе "Файлы"
2. Проверка установки CoreProtect и версии API
- Убедитесь, что плагин загружен. В консоли сервера (или через RCON) выполните:
Ожидаемый ответ:/coreprotect versionCoreProtect v21.x.x - [Enabled]. - Проверьте совместимость с версией ядра (Paper/Spigot/Purpur). CoreProtect требует Paper или форки. На Vanilla/Forge/Fabric плагин не заработает без мод-загрузчика (Fabric/Forge версии CoreProtect отдельны).
- Посмотрите, где хранится база данных. По умолчанию — SQLite в папке плагина:
ls -la plugins/CoreProtect/ # coreprotect.db — файл базы данных # config.yml — конфигурация
3. Настройка базы данных (рекомендация для выделенного сервера)
На выделенном сервере proxify.cloud с Ubuntu настоятельно рекомендуется переключиться на MariaDB/MySQL. SQLite блокирует файл при больших нагрузках, вызывая лаги.
- Установите СУБД (если нет):
sudo apt update && sudo apt install mariadb-server -y sudo mysql_secure_installation - Создайте БД и пользователя:
sudo mysql -u root -p CREATE DATABASE coreprotect CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE USER 'cpuser'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON coreprotect.* TO 'cpuser'@'localhost'; FLUSH PRIVILEGES; EXIT; - Отредактируйте
plugins/CoreProtect/config.yml:use-mysql: true mysql: host: "localhost" port: 3306 database: "coreprotect" username: "cpuser" password: "StrongPassword123!" table-prefix: "co_" ssl: false - Перезагрузите плагин без перезапуска сервера (чтобы не терять онлайн):
Проверьте логи:/coreprotect reload[CoreProtect] MySQL connection successful.
4. Поиск нарушителя и истории изменений (Команда /co inspect)
- Зайдите на сервер с правами OP.
- Включите режим инспектора:
В чате появится:/co inspectCoreProtect Inspector enabled. Left-click to lookup block data, right-click for chest/container data. - Левый клик (ЛКМ) по разрушенному блоку (или месту, где он был) — покажет историю: кто, когда, какой блок ставил/ломал.
Пример вывода в чате:
[CoreProtect] #1 - Player: Griefers_123 | Action: Block Break | Time: 2m ago | Block: Diamond Ore [CoreProtect] #2 - Player: Admin_Builder | Action: Block Place | Time: 1d ago | Block: Stone - Правый клик (ПКМ) по сундуку/шалкеру — покажет историю инвентаря (кто что брал/клал).
- Запомните ник нарушителя (например,
Griefers_123) и радиус/время разрушений. - Выключите инспектор:
/co inspect
5. Глобальный поиск по логам (Команда /co lookup)
Если постройка большая или координаты неизвестны, используйте поиск по игроку за период.
Синтаксис:
/co lookup <параметры>
Ключевые параметры:
u:<ник>— пользователь (нарушитель).a:<action>— действие:block(блоки),container(сундуки),entity(мобы/айтемы),session(войс/выход).r:<радиус>— радиус от вас (по умолчанию 10).t:<время>— время назад:5m,2h,3d,1w.b:<блоки>— фильтр по блокам (через запятую):chest,diamond_ore,tnt.e:<исключить>— исключить блоки.
Примеры для восстановления:
- Найти все действия
Griefers_123за последний час в радиусе 50 блоков:/co lookup u:Griefers_123 t:1h r:50 - Найти только разрушение ценных блоков (алмазы, изумруды, сундуки) за 24 часа:
/co lookup u:Griefers_123 a:block t:1d b:diamond_ore,emerald_ore,chest,ender_chest,shulker_box - Найти установку TNT или лавы (частые гриф-инструменты) за неделю:
/co lookup u:Griefers_123 a:block t:1w b:tnt,lava,fire
Работа с результатами: После команды откроется постраничный интерфейс в чате.
- Нажимайте номера страниц
[1] [2] [3]... - Нажимайте на строки лога — телепортирует к координатам события.
- Используйте
/co tp <id>для телепорта к конкретной записи (ID виден в списке).
6. Восстановление построек (Команда /co rollback)
⚠️ ВНИМАНИЕ: rollback — необратимая операция. Сначала всегда делайте preview.
6.1. Предварительный просмотр (Preview / Dry-run)
Параметр p:true (или preview:true) показывает, сколько и каких блоков изменится, не меняя мир.
- Откат действий конкретного игрока за 30 минут в радиусе 30 блоков от вас (предпросмотр):
Ответ:/co rollback u:Griefers_123 t:30m r:30 p:true[CoreProtect] Preview: 1,245 blocks would be rolled back. - Откат только разрушений (break), игнорируя установки (place):
Добавьте
action:block+break(илиa:block+break)./co rollback u:Griefers_123 t:1h r:50 a:block+break p:true - Откат конкретных типов блоков (например, убрать поставленную лаву и обсидиан):
/co rollback u:Griefers_123 t:2h r:100 b:lava,obsidian,bedrock p:true
6.2. Прямое выполнение отката (Rollback)
Уберите p:true после проверки превью.
- Полный откат игрока (все действия: блоки, сундуки, энтити) за 1 час, радиус 50:
/co rollback u:Griefers_123 t:1h r:50 - Точечный откат: только разрушение блоков (
break) за 2 часа, радиус 100:/co rollback u:Griefers_123 t:2h r:100 a:block+break - Откат действий у конкретных координат (если знаете центр постройки):
Используйте
x:,y:,z:вместоr:(радиуса от игрока)./co rollback u:Griefers_123 t:1d x:100 y:64 z:-200 r:20 - Откат по ID сессии (если игрок заходил под разными никами, но это один человек):
Узнайте
session-idчерез/co lookup u:Griefers_123(колонка Session)./co rollback session:12345 t:1h
6.3. Восстановление сундуков (Container Rollback)
Если грабитель выкинул вещи или забирает лут:
/co rollback u:Griefers_123 t:1h r:50 a:container
Восстановит содержимое сундуков/шалкеров на момент до действий игрока.
7. Восстановление "чистого" мира (Restore) — если постройку снес мир/плагин/взрыв
Команда /co restore работает обратно к rollback: она возвращает изменения, которые были отменены, или восстанавливает блоки, удаленные естественными причинами (взрывы, потоки лавы, эндермены), если они логировались.
Сценарий: Крипер взорвал дом. Нужно вернуть блоки.
/co restore t:30m r:20 a:block+break p:true
a:block+break— восстановить сломанные блоки.p:true— предпросмотр.- Уберите
u:<ник>, так как взрыв — это#environmentилиnatural.
Важно: CoreProtect по умолчанию не логирует природные события (поток воды, рост травы, взрывы криперов), если не включено в config.yml:
# plugins/CoreProtect/config.yml
log-natural-block-changes: true # включить логирование природы
Если это было false на момент взрыва — восстановить через CoreProtect нельзя, нужен бэкап мира.
8. Работа с большими объемами: Очередь задач (Purge/Queue)
На выделенном сервере proxify.cloud с хорошим CPU (Ryzen/EPYC) откат 100к+ блоков может вызвать лаг-спайк.
- CoreProtect 21+ использует асинхронную очередь автоматически.
- Следите за консолью сервера:
Комментарии (0)