Chunky: предгенерация мира на сервере
СерверИгроки уходят исследовать новые земли — и сервер начинает лагать. Причина не в модах: сервер создаёт чанки прямо в момент движения. Chunky решает это, генерируя мир заранее.
Зачем нужна предгенерация
Создание нового чанка — одна из самых тяжёлых операций сервера, особенно со сложной генерацией из модов вроде Terralith. Когда игрок бежит вперёд, сервер лихорадочно строит мир перед ним, и TPS проседает у всех.
Предгенерация переносит эту работу на время, когда никто не играет. Мир создаётся один раз, дальше игроки просто по нему ходят.
Основные команды
| Команда | Что делает |
|---|---|
/chunky radius 5000 | Задать радиус в блоках |
/chunky center 0 0 | Центр области |
/chunky world minecraft:overworld | Выбрать измерение |
/chunky start | Запустить генерацию |
/chunky pause | Приостановить |
/chunky continue | Продолжить с места остановки |
/chunky progress | Показать прогресс |
Прогресс сохраняется: можно остановить, перезапустить сервер и продолжить с той же точки.
Какой радиус выбрать
| Радиус | Для чего | Ориентир по месту |
|---|---|---|
| 1000–2000 | Небольшой приватный сервер | Немного |
| 5000 | Средний сервер с друзьями | Заметно |
| 10000+ | Публичный проект | Много, десятки гигабайт |
Главное предупреждение: сгенерированный мир занимает место на диске. Радиус в 10000 блоков — это огромная площадь, и на хостинге с ограниченным диском вы можете упереться в лимит. Начинайте с меньшего и расширяйте по надобности.
Не забудьте Незер и Край
Частая ошибка: предгенерировать только Обычный мир. Незер используется как транспорт, и лаги там не менее заметны. Задайте world для каждого измерения отдельно.
Учтите масштаб: в Незере один блок равен восьми в Обычном мире, поэтому радиус там нужен в восемь раз меньше. Расчёт координат — в калькуляторе, механика в статье про порталы.
Когда запускать
Генерация сама по себе нагружает сервер. Запускайте её, когда игроков нет — ночью или до открытия проекта. Если приходится делать при людях, снизьте скорость в настройках, чтобы не уронить TPS.
Порядок для нового сервера
- Определитесь с сидом и настройками мира — менять потом будет поздно.
- Поставьте все моды на генерацию до первого запуска.
- Запустите предгенерацию нужного радиуса во всех измерениях.
- Дождитесь окончания.
- Открывайте сервер для игроков.
Такой порядок избавляет от большинства лагов исследования на всё время жизни проекта.
Что делать, если лаги остались
Значит причина не в генерации. Найти настоящую поможет профилировщик — про него в гайде по Spark.
Частые вопросы
Зачем нужна предгенерация чанков?
Создание чанка — тяжёлая операция. Когда игрок бежит вперёд, сервер строит мир на ходу и TPS проседает у всех. Предгенерация переносит эту работу на время, когда никто не играет.
Какой радиус выбрать?
1000–2000 для приватного сервера, 5000 для среднего, 10000+ для публичного. Учтите, что сгенерированный мир занимает место на диске, и на хостинге можно упереться в лимит.
Нужно ли предгенерировать Незер?
Да, его часто забывают. Но радиус там нужен в восемь раз меньше: один блок Незера равен восьми в Обычном мире.
Можно ли прервать предгенерацию?
Да, прогресс сохраняется. Командой pause останавливаете, continue продолжаете с той же точки даже после перезапуска сервера.