Chunky
Плагин Chunky позволяет ограничивать размеры карты и заранее прогружать чанки на ней. В первую очередь предварительная прогрузка чанков на сервере нужна для его более стабильной работы.
Представьте ситуацию, когда в одно и то же время на вашем сервере несколько десятков игроков бродят по миру. Т.е. постоянно генерятся и подгружаются новые чанки (о нагрузке на сервер можно посмотреть здесь) и это однозначно не слишком полезно для производительности вашего сервера и чревато появлением различных лагов из-за перегрузки его аппаратных ресурсов. Чтобы избежать подобных ситуаций как раз нужна предварительная генерация чанков и в некоторых случаях ограничение размеров карты. Именно в этом и помогает данный плагин.
Обратите внимание, что:
- прогрузку чанков желательно делать ещё на этапе создания сборки, до того, как игроки присоединятся к вашему серверу. В этом случае предварительная генерация завершится быстрее и не будет влиять на игровой процесс;
- использовать Chunky лучше через консоль сервера. Далее по тексту предполагается, что команды будут запускаться с консоли, но если вы предполагаете запускать их в игре, то перед командой нужно будет добавлять косую черту
/
; - предварительная генерация большого мира будет использовать много дискового пространства. Помните об этом, выбирая размер для своего мира. Общая рекомендация — радиус 5 КБ (который использует около 3—5 ГБ на мир) для небольших серверов и радиус 10 КБ (который использует около 10—15 ГБ на мир) для более крупных;
- если у вас установлен какой-нибудь плагин рендеринга карты (Dynmap, BlueMap или Pl3xMap), то для достижения наилучших результатов лучше отключить его во время предварительной генерации и рендерить мир уже после неё.
Возможности
- запуск одной или нескольких задач создания чанков одновременно (если вы хотите увеличить нагрузку на ЦП);
- приостановка генерации чанков с сохранением промежуточных результатов для их последующего использования;
- вывод в консоль полной информацию процесса генерации.
Команды
Управление:
chunky start
— запустить предварительную генерацию для текущего выбранного мира, его формы, центра и радиуса. Выбор по умолчанию обычно представляет собой квадратную область на карте мира с центром в 0, 0 и радиусом 500 (1000 x 1000). Например:chunky start world circle 0 0 1000
– запускает предварительную генерацию круговой области в “world” с центром в 0, 0 и радиусом 1000.chunky pause
[МИР] — прервать на время процесс пре-генерации;chunky continue
[МИР] — продолжить генерацию после паузы;chunky cancel
[МИР] — остановить и удалить текущие или сохраненные задачи. Эти задачи уже нельзя будет возобновить с помощью командыcontinue
. Имейте в виду, что даже если задача отменена, то уже созданные чанки не удаляются. Для удаления чанков см. командуtrim
.
Основные:
chunky world <МИР>
— выбрать мир с именем МИР;chunky shape <ИМЯ ФОРМЫ>
— установить геометрическую форму для генерации. Доступные формы можно посмотреть здесь;chunky center [<x> <z>]
— задать координаты центрального блока;chunky radius <РАДИУС>
— установить текущий радиус области генерации;
Дополнительные:
chunky worldborder
— устанавливает центр и радиус в соответствии с используемой в данный момент границей мира;chunky spawn
— устанавливает центр на точку появления по умолчанию в текущем выбранном мире. Обратите внимание, что это место можно переместить с помощью командыsetworldspawn
. Обычно такой спавн находится где-то в пределах нескольких сотен блоков около координат 0, 0 (которые являются центром мира по умолчанию).chunky corners <x1> <z1> <x2> <z2>
— рассчитать и установить центр и радиус автоматически на основе предоставленного набора координат XZ;chunky pattern <ИМЯ ШАБЛОНА>
— задать шаблон очерёдности генерацииConcentric
— генерация производится кругами, расходящимися от центра (этот шаблон установлен по умолчанию);Loop
— чанки генерируются со стороны мира, начиная с самой отрицательной координаты X и Z и заканчивая самой положительной координатой X и Z, охватывая весь создаваемый регион;Spiral
— формирует чанки, начиная с центра и по квадратной спирали наружу. На практике он очень похож на концентрический, но не так эффективен.
Прочие:
chunky silent
— выключить/включить поочерёдно вывод сообщений о процессе генерации;chunky quiet <ВРЕМЯ>
— установить время между выводом сообщений о процессе генерации;chunky trim
— удалить чанки за пределами выбранного радиуса.
Более подробно о командах можно прочесть на GitHub.
Начало работы
Предварительно сгенерировать чанки с помощью Chunky очень просто.
Запустите сервер и введите chunky
(или /chunky
, если в игре), чтобы убедиться, что плагин успешно установлен. Если появилось всплывающее меню команд, то всё нормально. Если же ничего не происходит, то проверьте папку с плагинами и убедитесь, что вы не забыли перезапустить свой сервер.
Выбор и предварительное создание региона
Первое, что вам нужно сделать, это выбрать область, где вы будете проводить предварительную генерацию чанков. Мир, форма, центр и радиус, вот с чем нужно определиться в первую очередь. По умолчанию, выбор будет квадратной областью в мире основного сервера с центром в координатах 0, 0 и радиусом 500 блоков (общий размер 1000 x 1000). Используя команды, вы можете изменить эти параметры в соответствии со своими потребностями.
Скажем, например, что мы просто хотим сгенерировать чанки в радиусе 5k (10000 x 10000 блоков) в нашем основном мире. Вам потребуются следующие команды:
chunky radius 5000 chunky start
Если сразу после этого вы решите, что хотите создать ту же область в нижнем мире, то вам нужно только изменить мир на world_nether, а затем запустить другую задачу:
chunky world world_nether chunky start
Можно прогенерировать чанки в квадрате с центром в 100, -100 в нижнем мире с радиусом в 5000 блоков:
chunky world world_nether chunky center 100 -100 chunky radius 5000 chunky start
Прогенерировать круг со спавном в центре, с радиусом 5000 блоков:
chunky world world_the_end chunky shape circle chunky spawn chunky radius 5000 chunky start
Генерация внутри ванильного мира с центром 0,0 с радиусом блока 10000:
worldborder center 0 0 worldborder set 20000 chunky worldborder chunky start
Это лишь некоторые примеры того, что можно сделать. Изучив описание всех команд выше, вы сможете с лёгкостью использовать все возможности плагина Chunky .
Проверка процесса генерации
После запуска chunky start
в консоли начнут последовательно выводиться сообщения, сообщающие о ходе предварительной генерации. Показываемая информация включает в себя:
- количество обработанных фрагментов;
- процент выполнения всей задачи;
- ETA (расчетное время завершения в часах: минутах: секундах);
- скорость генерации фрагментов в секунду (cps);
- текущий генерируемый фрагмент.
Предварительная генерация для больших площадей может занять много часов. Взгляните на показатели ETA и убедитесь, что расчётное время, необходимое для создания мира, разумно. Если же получится задание, уходящее в бесконечность, то лучше будет его перезапустить, поменяв на задачу с меньшим радиусом.
Если по какой-то причине вам нужно приостановить задачу, например, перезапустить сервер, можно использовать команду chunky pause
. Когда вы будете готовы продолжить, просто запустите продолжение — chunky continue
.
Успешной работы с Chunky!
Пишите в комментариях о том, что получилось, что нет, о ваших находках и ошибках. Ваш опыт может стать незаменимым помощникам для других игроков.