FastAsyncWorldEdit — плагін для асинхронного та швидкого редагування світу у Minecraft
FastAsyncWorldEdit — плагін для асинхронного та швидкого редагування світу у Minecraft
FastAsyncWorldEdit (скорочено — FAWE) — це форк класичного плагіна WorldEdit для Minecraft, у якому переписана внутрішня обробка редагувань. Звичайний WorldEdit виконує великі команди в головному потоці сервера, тож зміна сотень тисяч блоків викликає фризи і тайм-аути. FAWE розбиває роботу на потоки, пакетує операції по чанках і виконує запис паралельно — той самий //set на області 500×500 проходить без зависання тіків.
Якщо на сервері вже встановлені плагіни, що залежать від WorldEdit (захист регіонів, генератори структур, плагіни для будівництва), достатньо замінити WorldEdit на FAWE. Команди і API залишаються сумісними, але швидкість виконання зростає.

Результат команди //set glass на виділеній області — куб зі скла. Фон — порожня площадка з білого бетону навколо.
Що FAWE додає поверх WorldEdit
Базові команди виглядають так само: //pos1, //pos2, //set, //copy, //paste, //undo. Принципова різниця — у тому, як вони обробляються всередині. До цього додано близько 200 нових команд: розширені маски, патерни, трансформації, спеціалізовані пензлі та інструменти для роботи з рельєфом.
Окремі речі, яких у ванільному WorldEdit немає:
Необмежений
//undoі//redoз історією на диску. Скасування доступне навіть після перезапуску сервера.//lazycopy— миттєве копіювання виділеної області будь-якого розміру без повного завантаження копії в пам'ять.CFI (Create From Image) — генерація світу з карти висот або зображення (
/cfi).Anvil-команди — масові зміни в region-файлах напряму: видалення всіх сундуків, обрізка карти, заміна блоків у вибраному регіоні.
Команди освітлення —
/fixlighting,/setlight,/removelightдля ручного перерахунку без перезавантаження чанків.Інспекція і відкат —
//inspectпоказує, хто і коли поставив блок,//history rollbackповертає світ до стану до певної дати.

Вікно чату з виведенням команди /we help — список категорій FAWE із короткими описами.
Виділення і базові команди
Виділення створюється дерев'яною сокирою. Лівий клік ставить першу точку, правий — другу. Альтернативно: //pos1 і //pos2 ставлять точки за поточними координатами гравця, //hpos1 і //hpos2 — за блоком, на який наведений приціл.
Після виділення доступні базові операції з блоками:
Команда | Що робить |
| Заповнює виділення вказаним блоком |
| Замінює один тип блоку на інший |
| Будує стіни по периметру |
| Будує стіни плюс підлогу і стелю |
| Робить порожнистим виділений об'єм |
| Копіює виділення в буфер обміну |
| Копіює і видаляє оригінал |
| Вставляє вміст буфера в позицію гравця |
| Обертає буфер на 90/180/270° |
| Дзеркально відображає буфер |
| Скасування / повтор останньої дії |
Також корисними є: //copy -b копіює разом із біомами, //copy -e пропускає сутності, //paste -a ігнорує блоки повітря зі схематики (зберігає те, що вже є в цільовій області).
Вставка зі сутностями (мобами, картинами) не скасовується через //undo. Перш ніж вставляти схематику — перевіряйте позицію.
Пензлі і інструменти
Пензлі — це команди, прив'язані до предмета в руці. Після команди /br <тип> правий клік активує дію в точці прицілу. Найчастіше використовуються:
/br sphere <блок> <радіус>— куля заданого радіуса в точці кліку./br cyl <блок> <радіус> <висота>— циліндр./br smooth <радіус>— згладжування рельєфу./br stencil <патерн> <радіус> <файл>— малювання за картою висот або зображенням./br spline <патерн>— побудова кривої через декілька точок (доріг, тунелів, мостів)./br sweep— протягування вмісту буфера обміну по кривій./br scatter <патерн> <щільність>— випадкове розкидання блоків або схематик з заданою щільністю./br copy— копіювання об'єкта лівим кліком, вставка правим. Прапор -r додає випадкове обертання при вставці.

Пензель /br smooth 10 у роботі
Для пензлів задаються маски (/mask) і патерни (/mat). Маска визначає, які блоки можна замінювати: /mask >stone — лише блоки над камнем, /mask <air — лише блоки під повітрям. Патерн визначає, чим замінювати: /mat 50%stone,50%cobblestone дасть випадкову суміш каменю і бруківки у пропорції 50/50, /mat #surfacespread[3][stone] — спред-патерн із розсіюванням на радіус 3.
Schematics — структури в файлах
FAWE підтримує формати .schem і .schematic. Команди:
//schem save <ім'я>— зберігає поточне виділення уplugins/FastAsyncWorldEdit/schematics/.//schem load <ім'я>— завантажує файл у буфер обміну.//schem list— список доступних схематик.//schem delete <ім'я>— видалення.
Окремо працює /download — створює анонімне посилання на буфер обміну через сервіс schem.intellectualsites.com. Посилання тимчасове, файл можна передати іншому гравцеві або серверу без ручного експорту через FTP. У конфізі це регулюється секцією web.
Захист регіонів і per-player ліміти
FAWE інтегрується з WorldGuard і PlotSquared. Опція region-restrictions: true у config.yml обмежує редагування зонами, до яких гравець доданий.
За замовчуванням працює режим MEMBER — гравець редагує лише там, де він є учасником регіону. Альтернатива — OWNER. Адміни обходять обмеження через дозвіл fawe.bypass. Для серверів з кількома захищеними зонами і вільною забудовою в решті світу зручніший режим чорного списку: allow-blacklists: true плюс worldguard-region-blacklist: true дозволяє редагування всюди, крім захищених регіонів.
Для різних груп гравців налаштовуються окремі ліміти. Блок default копіюється під новим іменем, значення max-changes, max-brush-radius і max-iterations змінюються, гравцеві видається дозвіл. Так на одному сервері співіснують жорсткі ліміти для новачків і розширені для довірених гравців.
Конфігурація
Основні файли розташовані тут: plugins/FastAsyncWorldEdit. Більшість значень за замовчуванням підходять для типового сервера — є сенс зачіпати лише кілька ключових блоків.
Пам'ять і обмеження
Параметр | Що робить |
| Якщо споживання RAM перевищує відсоток, не-адмінські редагування скасовуються. Обхід — дозвіл |
| При досягненні порогу частина операцій сповільнюється — наприклад, асинхронне завантаження чанків. |
| Максимальна кількість блоків, які один гравець може змінити за команду. |
| Максимальний радіус пензля. |
| Великі редагування (понад 16384 чанки) вимагають додаткового підтвердження через //confirm. |
Черга і потоки
Параметр | Що робить |
| Кількість потоків для паралельної обробки. Рекомендується ставити рівним кількості фізичних ядер процесора. |
| Поріг кількості чанків, з якого починається паралельне розміщення до завершення розрахунків. Значення менше за |
| Скільки чанків попередньо завантажується. Формула з документації: 128 × GB RAM / кількість гравців, що одночасно користуються WE. |
Історія і буфер обміну
Параметр | Що робить |
| Зберігає історію редагувань на диску. Дає необмежений |
| Рівень стиснення історії від 0 (без стиснення, найшвидше) до 9 (максимум стиснення, навантажує CPU). Рівні вище 6 потребують ZSTD 1.4.8+. |
| Через скільки днів історія на диску видаляється. |
| Аналогічно зберігає буфер обміну на диску — економить RAM. |
| Через скільки днів видаляється збережений буфер. |
Висновок
FastAsyncWorldEdit — прибирає основне обмеження звичайного WorldEdit, через яке масштабні редагування зупиняли сервер. На серверах-збірках і будівельних мережах, де гравці одночасно працюють із сотнями тисяч блоків, FAWE прибирає тайм-аути і фризи. На малих survival-серверах із рідкісними редагуваннями виграш не такий помітний, але плагін не шкодить — він зворотньо сумісний за API.
Для серверів із масштабним будівництвом FastAsyncWorldEdit практичніший за вибором, для епізодичного редагування ванільного світу — підійдуть аналоги.
Встановлення
Типове встановлення займає близько 5 хвилин. Порядок однаковий; відрізняються лише лоадер і відповідна збірка.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











