Перейти к содержимому

Подготовка сборок

install собирает клиент под конкретную версию Minecraft и загрузчик и складывает его в папку профиля. Дальше эту папку можно править руками, а потом опубликовать. (Прежнее имя prepare работает как алиас.)

Окно терминала
laminara-server exec install <имя> <версия> [loader=...] [loaderVersion=...] [platform=...] [java=...]

Аргументы

имяобязательно

Имя сборки. Под ним профиль лежит в build.profilesDir и под ним же публикуется манифест.

версияобязательно

Версия Minecraft, например 1.21.1. Точную строку подскажет команда versions.

loaderпо умолчанию vanilla

Загрузчик: vanilla, fabric, quilt, forge или neoforge. Какие доступны для версии — покажет loaders.

loaderVersion

Версия загрузчика. Если не указать, берётся последняя, подходящая под версию Minecraft.

platformпо умолчанию windows-x64

Целевая платформа клиента: windows-x64, linux, mac-os-arm64 и т.д. От неё зависят нативные библиотеки и Java, которые попадут в сборку.

java

Версия Java для клиента. По умолчанию берётся та, что Mojang указал для этой версии Minecraft. Указывайте вручную, только если нужна другая.

Что происходит

Сервер запрашивает метаданные версии у Mojang, разрешает библиотеки и нативы под платформу, скачивает клиент, ассеты и Java. Для Forge и NeoForge дополнительно прогоняется установщик загрузчика — подробности в разделе Загрузчики.

Загрузка идёт в несколько потоков с ограничением, чтобы не упереться в диск и сеть. Файл с уже совпадающим хешем повторно не качается, так что пересборка соседней версии проходит заметно быстрее первой.

Папка профиля

Итог — папка в build.profilesDir/<имя> с файлом laminara.profile.json: главный класс, classpath, аргументы запуска, путь к клиенту, нужная версия Java. Рядом — сам клиент, библиотеки, нативы, ассеты и рантайм Java.

Файлы лежат россыпью специально. До публикации в них можно вмешаться: подменить библиотеку на свою сборку, добавить файлы, поправить аргументы. Публикация зафиксирует ровно то, что лежит в папке на этот момент.

Платформы

Игрок получает сборку под свою систему автоматически — оператор готовит нужные платформы:

laminara-server exec "install Survival 1.21.1 loader=neoforge platform=windows-x64,linux"
laminara-server exec "install Survival 1.21.1 loader=neoforge platform=all"
laminara-server exec "publish Survival"

publish подписывает по манифесту на каждую подготовленную платформу. Общие настройки (политики файлов, опциональные моды) лежат в laminara.settings.json в корне сборки и применяются ко всем платформам. Если сборка не подготовлена под систему игрока, лаунчер показывает её приглушённой с подписью «Нет для вашей ОС» и не даёт запустить.