WorldGuardFork is a region-focused WorldGuard 7.0.17 fork for Paper and Folia 1.21+.
This fork keeps WorldGuard's region protection, public integration API, and per-world blacklist while modernizing the plugin for current Paper servers. Legacy server fallbacks, unrelated utility commands, and obsolete compatibility code were removed.
The project focuses on configurable private regions, per-world defaults, MiniMessage output, clean configuration, and efficient region checks.
- Java 21
- Paper or Folia 1.21+
- WorldEdit 7.3.x
Spigot and Minecraft versions below 1.21 are intentionally unsupported.
- Cuboid and polygonal protected regions
- Owners, members, parent regions, priorities, and flags
- Creation, redefinition, selection, removal, teleportation, loading, and saving
- Per-permission-group limits for region count and claim volume
- Optional automatic claim expansion on Y and X/Z axes
- Configurable particle visualization and selection lifetime
- Protection against removing the final owner
- Confirmation before adding an offline or unknown player
/rg list myand/rg list globalscopes- Per-world defaults for new, existing, and global regions
- Wildcard world defaults with named-world overrides
- Configurable blocked-command categories and individual messages
- Russian and English locales
- MiniMessage with String and StringList values
- Chat, action bar, and title delivery modes
- Per-message cooldowns
{placeholder}and%placeholder%syntax- Paper Brigadier registration and completion
- Folia-aware scheduling
- Optimized session, query, and chunk caches
- Optimized per-world block and item blacklist with deny, allow, notify, log, tell, kick, and ban actions
- Anonymous bStats metrics under service ID
34427
The main command is /region; aliases are /rg and /regions.
| Command | Description |
|---|---|
/rg define <id> [owners...] |
Create a region from the WorldEdit selection |
/rg redefine <id> |
Replace region bounds |
/rg claim <id> |
Claim the current selection |
/rg select [id] |
Select a region in WorldEdit |
/rg info [id] |
Show interactive region information |
/rg list my [page] |
List the player's regions |
/rg list global [page] |
List all regions |
/rg flag <id> <flag> [value] |
Set or clear a flag |
/rg flags [id] |
Open the interactive flag list |
/rg setpriority <id> <priority> |
Change priority |
/rg setparent <id> [parent-id] |
Set or remove a parent |
/rg addowner <id> <players...> |
Add owners |
/rg removeowner <id> <players...> |
Remove owners |
/rg addmember <id> <players...> |
Add members |
/rg removemember <id> <players...> |
Remove members |
/rg remove <id> |
Remove a region |
/rg teleport <id> |
Teleport to a region |
/rg toggle-bypass [on|off] |
Toggle region bypass |
/rg load [world] |
Reload region data |
/rg save [world] |
Save region data |
/wg reload |
Reload configuration and locales |
locale.yml— active localeconfig.yml— global protection, particles, limits, and claim behaviorconfigWorld.yml— per-world settingsregionDefaults.yml— defaults for new, existing, and global regionsmessages.yml— player-facing messageslogs.yml— console and diagnostic messagesworlds/<world>/blacklist.txt— per-world block and item rules
On the first launch, set locale: "en" or locale: "ru" in plugins/WorldGuard/locale.yml and restart the server. Until then, WorldGuard remains enabled in API-compatible waiting mode, while region protection and gameplay listeners stay inactive.
regionDefaults.yml supports a * fallback and named world sections such as spawn. Message values accept either one string or a list of strings.
./gradlew buildOn Windows:
.\gradlew.bat buildArtifacts are written to build/libs.
bStats starts automatically and reports only standard anonymous platform statistics. The standard server-wide bStats opt-out remains available in plugins/bStats/config.yml, as required by the bStats terms.
WorldGuard and these modifications are distributed under LGPL-3.0-or-later. See LICENSE.txt. The JAR and source distribution include the license.
Upstream: EngineHub/WorldGuard
WorldGuardFork — переработанный WorldGuard 7.0.17 для защиты регионов на современных серверах Paper и Folia 1.21+. Публичный API интеграций и blacklist для каждого мира сохранены, а устаревшие fallback-ветки, посторонние команды и ненужный совместимый код удалены.
Основные цели проекта — удобные приваты, отдельные правила миров, современный MiniMessage, понятные конфиги и быстрые проверки регионов.
- Java 21
- Paper или Folia 1.21+
- WorldEdit 7.3.x
Spigot и версии Minecraft ниже 1.21 намеренно не поддерживаются.
- Кубические и полигональные регионы
- Владельцы, участники, родители, приоритеты и флаги
- Создание, переопределение, выделение, удаление, телепортация, загрузка и сохранение
- Лимиты количества и объёма регионов по группам прав
- Автоматическое расширение привата по Y и при необходимости по X/Z
- Настраиваемые частицы и время жизни выделения
- Запрет удаления последнего владельца
- Подтверждение добавления офлайн-игрока
- Режимы
/rg list myи/rg list global - Отдельные стандарты новых, существующих и глобальных регионов для каждого мира
- Общие правила
*и переопределения именованных миров - Категории запрещённых команд с отдельными сообщениями
- Русская и английская локализации
- MiniMessage и значения String/StringList
- Вывод в чат, action bar и title
- Кулдауны отдельных сообщений
- Плейсхолдеры
{placeholder}и%placeholder% - Команды и автодополнение через Paper Brigadier
- Поддержка планировщика Folia
- Оптимизированные кэши сессий, запросов и чанков
- Оптимизированный blacklist блоков и предметов для каждого мира с действиями deny, allow, notify, log, tell, kick и ban
- Анонимная статистика bStats с ID
34427
Основная команда — /region, псевдонимы — /rg и /regions.
| Команда | Описание |
|---|---|
/rg define <id> [owners...] |
Создать регион из выделения WorldEdit |
/rg redefine <id> |
Заменить границы региона |
/rg claim <id> |
Заприватить выделение |
/rg select [id] |
Выделить регион в WorldEdit |
/rg info [id] |
Показать интерактивную информацию |
/rg list my [page] |
Показать регионы игрока |
/rg list global [page] |
Показать все регионы |
/rg flag <id> <flag> [value] |
Установить или удалить флаг |
/rg flags [id] |
Открыть интерактивный список флагов |
/rg setpriority <id> <priority> |
Изменить приоритет |
/rg setparent <id> [parent-id] |
Назначить или удалить родителя |
/rg addowner <id> <players...> |
Добавить владельцев |
/rg removeowner <id> <players...> |
Удалить владельцев |
/rg addmember <id> <players...> |
Добавить участников |
/rg removemember <id> <players...> |
Удалить участников |
/rg remove <id> |
Удалить регион |
/rg teleport <id> |
Телепортироваться в регион |
/rg toggle-bypass [on|off] |
Переключить обход защиты |
/rg load [world] |
Перезагрузить регионы |
/rg save [world] |
Сохранить регионы |
/wg reload |
Перезагрузить конфиги и локализации |
locale.yml— выбор языкаconfig.yml— защита, частицы, лимиты и создание регионовconfigWorld.yml— настройки отдельных мировregionDefaults.yml— стандарты новых, существующих и глобальных регионовmessages.yml— сообщения игрокамlogs.yml— сообщения консоли и диагностикиworlds/<мир>/blacklist.txt— правила блоков и предметов отдельного мира
При первом запуске укажите locale: "ru" или locale: "en" в plugins/WorldGuard/locale.yml и перезапустите сервер. До выбора языка WorldGuard остаётся включённым в совместимом с API режиме ожидания, но защита регионов и игровые слушатели не работают.
В regionDefaults.yml ключ * задаёт общий шаблон, а секции вроде spawn переопределяют его для конкретного мира. Сообщения поддерживают одну строку и список строк.
.\gradlew.bat buildГотовые файлы создаются в build/libs.
bStats запускается автоматически и отправляет только стандартную анонимную статистику платформы. Обязательное глобальное отключение bStats для владельца сервера остаётся доступно в plugins/bStats/config.yml.
WorldGuard и изменения распространяются по LGPL-3.0-or-later. См. LICENSE.txt. Лицензия включается в JAR и архив исходников.
Оригинальный проект: EngineHub/WorldGuard