- Что именно нужно ограничить в WorldGuard
- Шаг 1. Убедитесь, что вы настраиваете нужный регион
- Шаг 2. Отключите разрушение через флаг build или allow-break
- Шаг 3. Убедитесь, что к игрокам применяются права WorldGuard
- Шаг 4. Проверьте, что вы применили флаг именно к региону, а не к миру или группе
- Шаг 5. Если вы используете WGExtender и другие плагины правок регионов
- Типичные ошибки
- Полезные ссылки
- Итог
Если цель - чтобы игроки в указанном регионе не могли ломать блоки, но могли, например, жить и строить по правилам, то обычно это делается через WorldGuard. На практике чаще всего проблема выглядит так: флагов вроде бы нет, а в одном регионе ломать нельзя, а в другом можно, или правила распространяются не так, как вы ожидали.
Ниже - рабочий порядок действий для WorldGuard на серверах Purpur/Paper/Spigot.
Что именно нужно ограничить в WorldGuard
WorldGuard защищает действия через флаги. Для «ломать блоки» нужен запрет на разрушение блоков игроком.
Чаще всего используют флаги:
- build - разрешает или запрещает любые изменения (строительство и разрушение).
- allow-break - отдельный запрет на разрушение блоков (если доступен в вашей версии/сборке).
Если вы хотите запретить ломать, но при этом оставить другие действия, начинайте с проверки, какой флаг реально влияет на ваш регион.
Шаг 1. Убедитесь, что вы настраиваете нужный регион
- Откройте регион на карте и проверьте название.
- Выполните команду просмотра региона (название команды зависит от версии WorldGuard):
/rg info <имя_региона>- или
/region info <имя_региона>
Важный момент - WorldGuard может иметь несколько регионов, и приоритет выбирается по правилам наложений. Если регионов несколько, один может разрешать build, а другой запрещать.
Проверка при наложении регионов
Сценарий из практики: в одном регионе ломать нельзя, хотя вы не видите флагов. Такое бывает, когда:
- вы смотрите не тот регион;
- правило задается в родительском регионе;
- есть другой регион с приоритетом.
Шаг 2. Отключите разрушение через флаг build или allow-break
Вариант A. Самый простой способ запретить ломать блоки
- Запретите build в регионе.
Команда:
- /rg flag <имя_региона> build deny
После этого игроки внутри региона не смогут ни ломать, ни ставить блоки (то есть ограничение будет полным).
Вариант B. Запретить именно ломать (если доступно)
- Задайте запрет на allow-break.
Команда (если такой флаг поддерживается):
- /rg flag <имя_региона> allow-break deny
Если команда не находится или флага нет, используйте вариант A или обновите/проверьте совместимость сборки WorldGuard с вашим ядром.
Шаг 3. Убедитесь, что к игрокам применяются права WorldGuard
Даже если вы правильно задали флаг, игрок может обходить защиту через права:
- OP на сервере,
- права обхода в плагинах,
- членство в группе с обходом,
- права от WGExtender или других расширений, если они настроены.
Проверка на OP
Если вы хотите, чтобы даже OP не мог ломать блоки в регионе, нужно убрать или ограничить обходные права. В сообществах Spigot/Paper часто решают это правками уровня команд или правами в конфиге/плагине, но конкретная настройка зависит от того, чем вы управляете:
- LuckPerms,
- PermissionsEx,
- встроенные права,
- настройки обхода в WorldGuard.
Если вы видите, что игрок «может» ломать, но при этом должен быть ограничен, сначала проверьте, не имеет ли он обходных прав.
Шаг 4. Проверьте, что вы применили флаг именно к региону, а не к миру или группе
WorldGuard может работать в разных областях:
- флаги региона,
- флаги мира,
- флаги групп.
Если вы зададите флаг не там, он может не сработать. Поэтому перед и после изменения всегда делайте:
- /rg info <имя_региона>
- смотрите список флагов и их значения.
Шаг 5. Если вы используете WGExtender и другие плагины правок регионов
WGExtender может добавлять дополнительные возможности и менять логику поведения регионов. Если у вас он стоит, проверьте:
- не задан ли отдельный набор правил расширением,
- нет ли конфликта с WorldGuard,
- нет ли модификаций прав на разрушение.
При ошибках обычно помогают два шага:
1. Временно отключить WGExtender и повторить тест.
2. Вернуть плагин и точечно проверить нужные настройки.
Типичные ошибки
| Ошибка | Как проявляется | Как исправить |
|---|---|---|
| Настраиваете не тот регион | В одних местах ломать нельзя, в других можно, хотя вы меняли правила | Проверяйте /rg info <имя_региона> и название региона |
| Наложение регионов | Правило «не работает» или работает наоборот | Проверьте приоритет и наличие других регионов вокруг |
| Не тот флаг | Ломать все равно можно | Используйте build deny или проверьте поддержку allow-break |
| OP обходят защиту | Даже при запретах игрок продолжает ломать | Проверьте обходные права и настройки OP/групп |
| Конфликт с расширениями | Меняются правила после добавления плагина | Тест без WGExtender и сравнение флагов в /rg info |
Полезные ссылки
- WorldGuard (документация по флагам): https://worldguard.enginehub.org/en/latest/
- Minecraft Wiki: блоки «разрешить» и «запретить» (если вы используете их в Education Edition): https://minecraft.fandom.com/ru/wiki/Блоки_«разрешить»и«запретить»
- Примеры по запрету ломания через WorldGuard на русскоязычных форумах Spigot/Bukkit:
- https://spigotmc.ru/threads/kak-sdelat-tak-chtoby-igroki-srazu-ne-mogli-lomat-v-rg-i-mogli-poluchat-uron.16048/
- https://rubukkit.org/threads/kak-zapretit-igroku-lomat-opredelennyj-region-v-wg.105030/
- https://bukkit.ru/threads/worldguard-zapretit-addmember-lomat-bloki.115781/
Итог
Чтобы запретить ломать блоки в регионе, сначала определите, какой регион и какие флаги на него влияют. Затем задайте запрет через WorldGuard - чаще всего через build deny (гарантированно), а если нужен точечный запрет на разрушение, используйте allow-break deny при наличии флага. После этого проверьте приоритет регионов и обходные права OP/групп, иначе игроки будут «мочь» ломать даже при запретах.