CoreProtect записывает почти всё, что игроки делают с миром: поставленные и сломанные блоки, сундуки, чат, команды, входы на сервер. Чтобы найти грифера, включите инспектор /co i и кликните по месту разрушения. Чтобы откатить его работу — /co rollback u:<ник> t:<время> r:<радиус>, а перед большим откатом добавьте #preview.
Установка и база данных
Скачайте CoreProtect с Modrinth, положите в plugins/ и перезапустите сервер — настраивать ничего не нужно, запись начнётся сразу. Логи накапливаются только с момента установки, поэтому ставьте его до открытия сервера, а не после первого грифа.
В нынешних публичных версиях данные по умолчанию лежат в файле SQLite в папке плагина; для крупного сервера или сети можно подключить MySQL — use-mysql: true в plugins/CoreProtect/config.yml. Документация уже описывает и новые варианты хранения (DuckDB, ClickHouse) для версий 25.0 и новее — какие базы поддерживает ваша сборка, смотрите на странице настройки.
Инспектор: кто сломал этот блок
/co inspect или коротко /co i включает инспектор, повторная команда выключает. Пока он включён, действия руками показывают историю вместо обычного эффекта:
- ЛКМ по блоку — кто поставил этот блок.
- ПКМ по блоку — какой соседний блок был сломан.
- Поставить блок на место разрушенного — что здесь сломали и кто.
- ПКМ по двери, сундуку и т. п. — кто последним ими пользовался.
Типичный сценарий: игрок пишет «у меня пропал сундук». Встаньте рядом, включите /co i, поставьте блок на место сундука — увидите, кто его сломал и когда. Если сундук цел, а вещи пропали, ПКМ по сундуку покажет, кто им пользовался, а поиск с a:-container — что именно из него взяли.
Поиск: /co lookup
/co lookup (или /co l) ищет по всему серверу с фильтрами. В отличие от отката, у поиска нет радиуса по умолчанию: без r: он ищет везде.
| Параметр | Что задаёт | Пример |
|---|---|---|
u: | Игрок или несколько; #tnt, #creeper — не игроки | u:Steve, u:Steve,Alex |
t: | Время: недели, дни, часы, минуты, секунды | t:2d, t:5d2h, t:1h-2h |
r: | Радиус от вас, мир или выделение WorldEdit | r:20, r:#world_nether, r:#global |
a: | Тип действия | a:-block, a:-container, a:chat |
i: | Только эти блоки или предметы | i:diamond_ore,ancient_debris |
e: | Кроме этих блоков, предметов или игроков | e:tnt |
#count | Только число найденных строк | /co l u:Steve t:1d a:-block #count |
Самые полезные действия: a:block (поставлено и сломано), a:+block / a:-block (только поставлено / только сломано), a:container с плюсом и минусом (положено в сундуки / взято), a:inventory, a:item, a:chat, a:command, a:session (входы и выходы), a:kill (убитые мобы). Страницы листаются командой /co l <номер>.
/co lookup u:Steve t:2d r:30
/co lookup r:10 t:3d a:-container
/co lookup u:Steve t:7d a:chat
/co lookup u:Steve a:sessionОткат: /co rollback
/co rollback (или /co rb) принимает те же параметры, что и поиск, но меняет мир. Важная деталь: если радиус не указан, откат работает в радиусе 10 блоков от вас — значение задаётся default-radius в конфиге. Для всего сервера нужен r:#global.
- 1
Найдите масштаб
/co lookup u:Steve t:2d a:block— сколько и где игрок строил и ломал. Если грифер работал в одном месте, встаньте там. - 2
Посмотрите превью
/co rollback u:Steve t:2d r:30 #previewпокажет, что изменится, не трогая мир. - 3
Откатите
Та же команда без
#preview. Вернуть сундукам вещи —a:container, только сломанное —a:-block, всё, кроме земли и камня, —e:dirt,stone. - 4
Если перестарались
/co undoотменяет последний откат или восстановление./co restore(/co rs) с теми же параметрами снова применяет откатанные действия.
Очистка базы: /co purge
Логи растут вместе с сервером. /co purge t:30d удаляет данные старше 30 дней и оставляет последний месяц. Из игры можно удалить только данные старше 30 дней, из консоли — старше суток. Можно чистить один мир (r:#world_nether) или отдельные блоки (i:stone,dirt). Перед большой очисткой сделайте бэкап: удалённые логи не вернуть.
Проверка на X-Ray по логам
X-Ray меняет только то, что рисует клиент, поэтому напрямую его не видит ни один античит-плагин. Но CoreProtect видит результат: что игрок копал и где. Посмотрите, сколько алмазной руды и древних обломков он добыл за последние дни:
/co lookup u:Steve t:3d a:-block i:diamond_ore,deepslate_diamond_ore,ancient_debris
/co lookup u:Steve t:3d a:-block i:diamond_ore,deepslate_diamond_ore,ancient_debris #count
/co lookup u:Steve t:3d a:-block i:stone,deepslate,netherrack #countПодозрительно, когда ценной руды много, а обычного камня вокруг неё вскрыто мало, и координаты идут от жилы к жиле почти без лишних тоннелей. Это повод присмотреться, а не доказательство: везёт и честным игрокам. Надёжнее не ловить X-Ray, а лишить его смысла — включить встроенный anti-xray в Paper (по умолчанию он выключен), который прячет руду от клиента: защита от X-Ray. Как проверять игрока целиком — в статье проверка игрока на читы.
CoreProtect показывает «что», античит — «как»
CoreProtect скажет, что Steve за минуту снёс полбазы соседа, но не скажет, был ли у него чит. Это задача античита: Nuker ломает всё вокруг сразу, FastBreak — быстрее, чем можно, GhostHand открывает сундуки сквозь стены. DGuard проверяет эти читы и к каждому бану прикладывает отчёт с разбором улик — модератору остаётся сверить его с логами CoreProtect.
| Чит | DGuard | GrimAC | Vulcan | Polar | Intave | Matrix |
|---|---|---|---|---|---|---|
| Nukerломает всё вокруг сразу | частично: FastBreak ограничивает темп, отдельная MultiBreak экспериментальная | частично: не назван — только общая проверка взаимодействия с блоками | частично: не назван — только время ломания одного блока | частично: не назван — только общие проверки ломания блоков | ||
| FastBreakломает быстрее, чем можно | частично: не назван — только общая проверка взаимодействия с блоками | |||||
| GhostHandоткрывает и бьёт сквозь стены | частично: только кровати | частично: общая проверка взаимодействия, сквозь стены не заявлено | ||||
| CivBreakмгновенно ломает блок повторно | частично: отдельной проверки нет — только тайминг FastBreak | частично: не назван — только общая проверка взаимодействия с блоками | частично: только клиенты ниже 1.14 и без наказания | |||
| PacketMineломает блоки пакетами | частично: отдельной проверки нет — только порядок пакетов ломания | частично: не назван — только общая проверка взаимодействия с блоками | частично: не назван — только время ломания и смена слота | частично: только порядок пакетов ломания, по умолчанию без веса |
Частые вопросы
Как посмотреть, кто сломал блок в Minecraft?
Поставьте CoreProtect, включите инспектор командой /co i и поставьте блок на место сломанного — плагин покажет, кто и когда его сломал. ЛКМ по блоку покажет, кто его поставил.
Как откатить гриф игрока в CoreProtect?
Командой /co rollback u:<ник> t:<время> r:<радиус>, например /co rollback u:Steve t:2d r:30. Сначала добавьте #preview, чтобы увидеть результат, а если ошиблись — /co undo.
Почему /co rollback откатил не всё?
Без параметра r: откат работает только в радиусе 10 блоков от вас. Укажите больший радиус или r:#global для всего сервера.
Как уменьшить базу CoreProtect?
Командой /co purge, например /co purge t:30d оставит только последний месяц. Из игры можно удалять данные старше 30 дней, из консоли — старше суток.
Ловит ли CoreProtect читеров?
Нет, он только записывает действия. По его логам можно заподозрить X-Ray или найти грифера, но сами читы ловит античит.
Источники
- CoreProtect: команды
- CoreProtect: настройка и базы данных
- CoreProtect: права
- CoreProtect на Modrinth
- CoreProtect на GitHub
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf