TeaHost
Minecraftminecraftплагиныworldedit5 мин. чтения

Установка WorldEdit на сервер Minecraft

Установка WorldEdit на сервер: выбор версии под Bukkit и Fabric, права через LuckPerms, лимиты блоков, FAWE и базовые команды выделения.

Кратко

WorldEdit для Paper, Spigot и Purpur ставится как обычный плагин: worldedit-bukkit.jar в plugins и рестарт, проверка — /we version; для Fabric и Forge есть отдельные версии-моды. Права выдавайте отдельной группе строителей через LuckPerms без worldedit.*, а в config.yml ограничьте max-blocks-changed, чтобы один //set не повесил сервер. Для огромных правок берут FAWE.

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

  1. Откройте Файлы → папка plugins
  2. Загрузите worldedit-bukkit-7.3.x.jar
  3. Перезапустите сервер полностью

Через 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):

yaml
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_block

default: 50000 — лимит изменённых блоков за одну операцию по умолчанию. maximum: 2000000 — потолок, до которого игрок может поднять свой лимит командой //limit. Право worldedit.limit.unrestricted снимает ограничения полностью — выдавайте его только владельцу.

Поднять лимит на текущую сессию строитель может сам, в пределах maximum:

код
//limit 500000

Ещё два параметра, которые стоит проверить:

yaml
history:
  size: 15
  expiration: 10

wand-item: minecraft:wooden_axe

history.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
//none

FAWE: когда стандартного мало

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 работает не всегда.

Если крупные операции упираются в память текущего тарифа, подобрать конфигурацию можно на странице цен.