Установка WorldGuard нужна почти каждому серверу, где играют не только друзья: без него любой гость снесёт спавн киркой за пару минут. Плагин закрывает две задачи — глобальные запреты на весь мир (взрывы, распространение огня, PvP) и приватные регионы, которые игроки или админы выделяют под свои постройки.
Что нужно до установки WorldGuard
WorldGuard не работает в одиночку. Ему обязательно нужен WorldEdit — из него берётся механика выделения области деревянным топором. Если положить в plugins только WorldGuard, сервер при старте напишет Unknown/missing dependency: WorldEdit и плагин просто не загрузится.
Дальше — платформа. WorldGuard живёт на Bukkit-ветке: Paper, Purpur, Spigot. На Forge и Fabric он не встанет, там свои аналоги вроде FTB Chunks. Если у вас модовая сборка, смотрите смену версии и ядра — иногда проще перейти на Paper, чем искать замену.
И версия. WorldGuard 7.0.x рассчитан на 1.13+, для 1.21 берите последнюю сборку с сайта EngineHub. Пара с WorldEdit должна быть ровесниками: WorldEdit 7.3 + WorldGuard 7.0.13 работают вместе, а свежий WorldGuard со старым WorldEdit 6 упадёт при инициализации.
Порядок установки
- Скачайте
worldedit-bukkit-<версия>.jarиworldguard-bukkit-<версия>.jarс enginehub.org или Modrinth. - Остановите сервер. Не «рестарт на лету» — плагины с зависимостями любят загружаться в неправильном порядке при горячей подгрузке.
- Закиньте оба
.jarв папкуpluginsчерез файловый менеджер панели или по SFTP. - Запустите сервер и посмотрите консоль.
В логе должны появиться две строки вида [WorldEdit] Enabling WorldEdit v7.3.x и следом [WorldGuard] Enabling WorldGuard v7.0.x. Порядок именно такой — WorldEdit первым. Проверить итог можно командой /plugins: оба имени должны гореть зелёным.
Общая механика загрузки .jar подробно разобрана в статье про установку плагинов, здесь она не отличается ничем.
Что появляется после первого запуска
WorldGuard создаёт папку plugins/WorldGuard со следующим содержимым:
config.yml— глобальные настройки плагина;worlds/<имя_мира>/config.yml— настройки конкретного мира, они перекрывают глобальные;worlds/<имя_мира>/regions.yml— сами регионы, их границы, участники и флаги.
Правило простое: правите поведение всего сервера — идёте в корневой config.yml, правите только основной мир — в worlds/world/config.yml. Второй вариант чаще нужен, когда через Multiverse подключены креативный и ресурсный миры с разными правилами.
Файл regions.yml руками лучше не трогать. Он перезаписывается при выгрузке мира, и правки, сделанные в момент работы сервера, просто затрутся.
Глобальный регион и первые флаги
Самое полезное, что даёт WorldGuard сразу после установки, — псевдорегион __global__. Он покрывает весь мир и позволяет задать правила по умолчанию.
Типовой набор для выживания с защитой спавна:
/rg flag __global__ creeper-explosion deny
/rg flag __global__ tnt deny
/rg flag __global__ fire-spread deny
/rg flag __global__ lava-fire denyДля PvE-сервера добавляют /rg flag __global__ pvp deny, для анархии наоборот — ничего не запрещают вовсе. Учтите: флаги fire-spread, lava-fire, water-flow и lava-flow срабатывают, только если в конфиге WorldGuard включены «high frequency flags» — так указано в документации по флагам.
Отдельная история — флаг passthrough. Если поставить /rg flag __global__ passthrough deny, строить не сможет никто, кроме тех, кто внутри разрешающих регионов. Это удобно для карт-хабов, но на обычном выживании такой ход обычно ломает игру новичкам, которые не понимают, почему блок не ставится.
Часть запретов настраивается не флагами, а конфигом. Например, в worlds/world/config.yml есть блок:
mobs:
block-creeper-explosions: true
block-enderdragon-block-damage: true
block-witherblock-damage: trueРазница в том, что конфиг работает жёстко на весь мир, а флаг __global__ можно переопределить в конкретном регионе. Гибче — флаги.
Права доступа
Из коробки все команды WorldGuard доступны только операторам. Чтобы модератор мог работать с регионами без OP, права выдают через LuckPerms:
/lp group moder permission set worldguard.region.* true
/lp group moder permission set worldedit.wand trueИгрокам обычно хватает права на владение своими регионами: worldguard.region.addmember.own, worldguard.region.info.own, worldguard.region.list.own. Полный worldguard.* рядовым игрокам не выдают никогда — с ним можно снять флаги с любого чужого региона.
Проверка, что всё работает
Возьмите деревянный топор (//wand), кликните левой кнопкой по одному углу, правой — по противоположному. В чат придёт First position set и Second position set с координатами. Если сообщений нет, значит не загрузился WorldEdit, а не WorldGuard.
Дальше создайте тестовый регион: /rg define test. Ответ A new region has been created named 'test' — установка WorldGuard прошла успешно. Удалить пробник: /rg remove test. Подробнее про выделение и наполнение — в статье про создание регионов в WorldGuard.
Частые ошибки
Unknown/missing dependency: WorldEdit. Забыли WorldEdit или положили не bukkit-сборку, а версию для Forge. Смотрите на имя файла: нужно worldedit-bukkit, а не worldedit-mod.
NoClassDefFoundError при старте. Классика несовместимости версий: WorldGuard новее, чем WorldEdit. Обновите оба до последних сборок под вашу версию игры.
Флаги ставятся, но не действуют. Почти всегда причина — вы OP. У операторов по умолчанию есть право обхода регионов. Проверяйте эффект вторым аккаунтом или временно снимайте OP.
Регионы пропали после рестарта. Мир выгрузился аварийно, regions.yml не сохранился. Помогает /rg save перед плановым перезапуском и нормальные бэкапы.
Взрывы криперов всё равно ломают спавн. В регионе спавна флаг creeper-explosion не выставлен, а __global__ перекрыт региональным приоритетом. Ставьте флаг на сам регион спавна, а не полагайтесь на глобальный.
Коротко
Порядок такой: WorldEdit → WorldGuard → рестарт → глобальные флаги → регион на спавн → права модераторам. Пятнадцать минут работы, и сервер перестаёт разбираться вручную с каждым «а меня загриферили».
Если сервер ещё не поднят или хочется панель, где .jar закидываются в пару кликов и рестарт делается кнопкой — тарифы TeaHost тут.