Порядок такой: задайте границу мира командой /worldborder set, поставьте плагин Chunky и выполните в консоли chunky worldborder и chunky start. Затем повторите для Незера и Энда. Лучше всего — до открытия сервера, пока на нём нет игроков. После этого сервер только читает готовые чанки с диска, а не строит их на лету.
Почему генерация чанков лагает
Чтобы создать новый чанк, сервер строит рельеф, пещеры, руды и постройки, считает свет и записывает результат на диск. Загрузить уже готовый чанк несравнимо дешевле. Пока игроки ходят по обжитым местам, генерации почти нет. Но стоит кому-то полететь на элитрах в неизведанные земли — сервер начинает строить десятки новых чанков, и тик перестаёт укладываться в 50 мс.
Особенно это заметно на анархиях и выживании с большим миром. Читеры с ElytraFly и BoatFly летают быстрее честных игроков и грузят генерацию сильнее всех. Убедиться, что лаги именно от генерации, поможет профайлер spark — как его снять, описано в статье почему лагает сервер.
Шаг 1. Поставьте границу мира
Граница ограничивает, сколько мира вообще может появиться. Без неё прогружать нечего: мир бесконечен. Команда задаёт диаметр в блоках, а не радиус: /worldborder set 10000 — это 5000 блоков в каждую сторону от центра.
/worldborder center 0 0
/worldborder set 10000
/worldborder get- С версии 1.21.9 у каждого измерения своя граница: команда меняет её только там, где выполнена. Для Незера и Энда задайте свою, например
/execute in minecraft:the_nether run worldborder set 5000. - Помните, что в Незере один блок равен восьми блокам верхнего мира, поэтому граница там может быть меньше.
- Если хотите плавно расширять границу, учтите: с 1.21.11 время в команде указывается в тиках, а секунды — с суффиксом
s. - За границей мобы естественным образом не появляются. Поэтому прогружайте мир внутри границы, а не шире неё.
- Есть и жёсткий потолок в server.properties —
max-world-size, расстояние от центра до границы в блоках (по умолчанию 29999984). Для прогрузки удобнее/worldborder: его меняют командой, без правки файла и перезапуска.
Шаг 2. Прогрузите мир плагином Chunky
Chunky — плагин, который генерирует чанки заранее. Он работает на Paper, Spigot, Folia, Fabric, Forge, NeoForge и Sponge, распространяется под лицензией GPL-3.0. Задачу можно поставить на паузу и продолжить позже, а прогресс виден прямо в консоли.
- 1
Установите
Скачайте Chunky с Modrinth, положите в
plugins/и перезапустите сервер. Введите в консолиchunky— если плагин ответил списком команд, он работает. Как ставить плагины вообще — в статье как установить плагин. - 2
Выберите мир и область
chunky world worldвыбирает мир,chunky worldborderподгоняет центр и радиус под границу из шага 1. Без границы —chunky center 0 0иchunky radius 5000: радиус в блоках. - 3
Запустите
chunky start. Прогресс, скорость и оставшееся время Chunky пишет в консоль, в игре —chunky progress. - 4
Управляйте задачей
chunky pauseставит на паузу с сохранением прогресса,chunky continueпродолжает,chunky cancelотменяет задачу — уже созданные чанки остаются.
chunky world world
chunky worldborder
chunky start
chunky progressШаг 3. Незер и Энд
Игроки строят порталы и летают по Энду на элитрах — эти миры генерируются так же. Повторите шаги для каждого, меняя только мир. На Paper 1.21.x миры по умолчанию называются world_nether и world_the_end; документация Chunky упоминает и варианты the_nether и the_end. С 26.1 Paper хранит измерения по-новому, в папке world/dimensions/, поэтому если Chunky не находит мир, сверьте его имя на своём сервере.
chunky world world_nether
chunky worldborder
chunky start
chunky world world_the_end
chunky worldborder
chunky startКогда прогружать: до открытия
Документация Chunky советует прогружать мир до того, как зайдут игроки: так обычно быстрее, и игра не страдает. Лучшее время — до открытия сервера или сразу после вайпа; следующее по удобству — ночь с минимальным онлайном.
Скорость прогрузки упирается в железо: по документации Chunky важнее всего быстрое ядро процессора, достаточное число потоков, SSD и хотя бы 4 ГБ памяти. Сколько выделять серверу — в статье сколько оперативной памяти нужно.
Место на диске и бэкапы
Мир растёт не линейно: площадь — это квадрат радиуса, поэтому радиус 10 000 занимает примерно вчетверо больше места, чем 5000. Прикиньте размер заранее — Chunky для этого рекомендует калькулятор размера мира. И не забудьте, что резервные копии вырастут вместе с миром: см. резервные копии сервера.
Прогрузка и античит
Просадки TPS бьют по всему серверу, и античит не исключение: проверки, завязанные на время, при лагах видят то, чего не было. Прогруженный мир убирает один из частых источников таких просадок. А DGuard вдобавок копит улики и не банит за одно срабатывание: бан — только при 400 очках в трёх разных эпизодах, поэтому один лаг честного игрока не накажет. ElytraFly и BoatFly он проверяет на любом тарифе.
Частые вопросы
/worldborder set задаёт радиус или диаметр?
Диаметр. /worldborder set 10000 ставит границу в 5000 блоках от центра в каждую сторону; в Chunky этому соответствует радиус 5000.
На какой радиус прогружать мир?
Документация Chunky советует начинать с радиуса поменьше, например 5000, и увеличивать по мере надобности. Ориентируйтесь на онлайн, режим и свободное место на диске: размер мира растёт как квадрат радиуса.
Можно ли прогружать мир, когда на сервере есть игроки?
Можно, но прогрузка пойдёт медленнее, а игрокам будет лагать сильнее. Лучше прогружать до открытия или в часы с минимальным онлайном.
Что будет, если перезапустить сервер во время прогрузки?
Задача не продолжится сама: по умолчанию continue-on-restart в Chunky выключен. Выполните chunky continue, и прогрузка пойдёт с того места, где остановилась.
Нужно ли прогружать Незер и Энд?
Да, если игроки туда ходят: эти миры генерируются так же и так же роняют TPS. Повторите chunky world и chunky start для каждого мира.
Источники
- Chunky на Modrinth
- Chunky: команды
- Chunky: прогрузка
- Chunky: частые вопросы
- Minecraft Wiki: команда /worldborder
- Minecraft Wiki: граница мира
- Minecraft Wiki: server.properties
- Paper 26.1: новое хранение миров
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf