WorldEdit превращает работу, которая заняла бы вечер с киркой, в одну команду. Установка WorldEdit на сервер нужна почти любому проекту: подготовить спавн, вырезать арену под ивент, залить область камнем, откатить последствия грифера. Плагин мощный, и главный риск здесь не в установке, а в том, кому вы выдадите к нему доступ.
Выбор версии
WorldEdit выпускается под разные платформы, и файл нужен свой:
- Bukkit-версия — Paper, Spigot, Purpur (ставится в
plugins) - Fabric-версия — мод, ставится в
modsи требует Fabric API - Forge-версия — мод, ставится в
mods
Скачивать стоит с Modrinth или страницы EngineHub. Версия плагина привязана к версии игры: WorldEdit 7.2.x работает с 1.16–1.19, 7.3.x — с 1.20 и новее.
Если у вас модовый сервер, порядок установки описан в разделах про моды Forge и Fabric.
Установка WorldEdit на сервер Bukkit
- Откройте Файлы → папка
plugins - Загрузите
worldedit-bukkit-7.3.x.jar - Перезапустите сервер полностью
Через SFTP — то же самое, инструкция по подключению. Общий порядок для плагинов — в разделе про установку плагинов.
Проверка после старта:
/we versionНикаких зависимостей у плагина нет, конфиг создаётся сам в plugins/WorldEdit/config.yml.
Права: главное решение
WorldEdit по умолчанию доступен только операторам. Так и должно остаться, пока вы не решите, кому его давать.
Что может человек с полными правами WorldEdit:
- Стереть спавн одной командой
- Залить весь мир лавой
- Скопировать чужую базу
- Уронить сервер операцией на миллионы блоков
Поэтому права выдаются отдельной группе строителей, а не модераторам «за компанию». Через LuckPerms:
/lp creategroup builder
/lp group builder parent add default
/lp group builder permission set worldedit.wand true
/lp group builder permission set worldedit.selection.* true
/lp group builder permission set worldedit.region.set true
/lp group builder permission set worldedit.region.replace true
/lp group builder permission set worldedit.clipboard.* true
/lp group builder permission set worldedit.history.* trueЧто не выдавать никому, кроме владельца:
worldedit.*
worldedit.region.replace (без ограничения по лимиту)
worldedit.generation.*
worldedit.snapshots.*
worldedit.butcher
worldedit.superpickaxeОтдельно: право можно ограничить одним миром через контексты LuckPerms — например, разрешить WorldEdit только на творческом мире:
/lp group builder permission set worldedit.region.set true world=creative
/lp group builder permission set worldedit.region.set false world=survivalСинтаксис контекстов разобран в справочнике команд LuckPerms, а порядок создания групп — в разделе про установку LuckPerms.
Лимиты в config.yml
Без лимитов один неаккуратный //set stone на области в миллион блоков вешает сервер на минуты. Настраивается в plugins/WorldEdit/config.yml (все параметры — в документации WorldEdit):
limits:
max-blocks-changed:
default: 50000
maximum: 2000000
max-radius: 100
max-super-pickaxe-size: 5
max-brush-radius: 10
disallowed-blocks:
- bedrock
- end_portal_frame
- command_block
- structure_blockdefault: 50000 — лимит изменённых блоков за одну операцию по умолчанию. maximum: 2000000 — потолок, до которого игрок может поднять свой лимит командой //limit. Право worldedit.limit.unrestricted снимает ограничения полностью — выдавайте его только владельцу.
Поднять лимит на текущую сессию строитель может сам, в пределах maximum:
//limit 500000Ещё два параметра, которые стоит проверить:
history:
size: 15
expiration: 10
wand-item: minecraft:wooden_axehistory.size: 15 — сколько операций можно откатить через //undo. Больше 20 держать не стоит: история хранится в памяти, и на крупных правках это заметно.
Базовые команды
Выделение области:
//wand
//pos1
//pos2
//sel cuboid
//expand 10 up
//contract 5 north
//sizeДеревянный топор (//wand): левый клик — первая точка, правый — вторая.
Заполнение и замена:
//set stone
//set 0
//replace dirt grass_block
//walls cobblestone
//outline glass
//hollow//set 0 (или //set air) очищает область — самая опасная команда в наборе.
Копирование:
//copy
//cut
//paste
//paste -a
//rotate 90
//flip//paste -a вставляет без воздуха, то есть не затирает то, что уже стоит.
Откат:
//undo
//redoРаботает только в пределах вашей сессии и истории из конфига. Если операция сделана вчера, //undo не поможет — тут спасает только бэкап; схема настройки в статье про бэкапы игрового сервера.
Схематики:
//schem save arena
//schem load arena
//schem listФайлы лежат в plugins/WorldEdit/schematics. Готовые постройки из интернета кладутся туда же и вставляются через //paste.
Кисти для рельефа:
//brush sphere stone 5
//brush smooth 5
//mask grass_block
//noneFAWE: когда стандартного мало
FastAsyncWorldEdit — форк, который выполняет операции в отдельном потоке. Ставится вместо обычного WorldEdit, не вместе с ним.
Плюсы:
- Крупные операции не морозят сервер
- Правки на миллионы блоков за секунды
- Свои лимиты и защита от переполнения памяти
Минусы:
- Иногда конфликтует с редкими плагинами
- История и отдельные команды ведут себя чуть иначе
- Требует больше памяти под буферы
Ставить FAWE стоит, если вы регулярно работаете с областями больше 500 тысяч блоков или делаете террейн на большом мире. Для эпизодической правки спавна хватает обычной версии. Как оценить запас по памяти — в разделе про выделение памяти серверу.
WorldEdit и WorldGuard
Это разные плагины от одной команды, и их часто путают.
- WorldEdit — редактирование блоков
- WorldGuard — регионы, флаги, защита территорий
WorldGuard требует WorldEdit как зависимость, обратное неверно. Совместно они работают удобно: выделяете область через //wand, потом создаёте из неё регион:
//pos1
//pos2
/rg define spawnДальше настраиваются флаги — подробный разбор в статье про регионы WorldGuard.
Что может пойти не так
Сервер зависает на несколько минут. Слишком большая операция без лимитов. Выставьте max-blocks-changed и, если операции регулярно крупные, переходите на FAWE.
//set возвращает «You are not permitted». Не выдано право worldedit.region.set либо превышен лимит блоков.
Топор не выделяет. Другой плагин перехватил взаимодействие с деревянным топором либо вы стоите в защищённом регионе. Смените предмет: wand-item: minecraft:golden_axe.
После //paste пропала часть постройки. Вставка попала на границу незагруженных чанков. Прогуляйтесь по области заранее или используйте //paste -a осторожно.
Нехватка памяти при крупной операции. WorldEdit держит историю в куче. Уменьшите history.size или добавьте памяти.
Грифер получил доступ. Проверьте, у кого стоит /op — оператор обходит все ограничения прав. Про операторов есть отдельный раздел.
Коротко
Ставьте версию под своё ядро, сразу выставьте max-blocks-changed и max-radius, заведите отдельную группу builder вместо раздачи прав модераторам и ограничьте WorldEdit нужным миром через контексты. Перед крупной правкой — бэкап, потому что //undo работает не всегда.
Если крупные операции упираются в память текущего тарифа, подобрать конфигурацию можно на странице цен.