Загрузчики
Laminara собирает клиент с любым из пяти загрузчиков. Список версий каждый загрузчик тянет из своего источника, поэтому новые версии появляются сами — править Laminara под них не нужно.
laminara-server exec loaders 1.21.1Команда показывает загрузчики, доступные для версии, и их актуальные версии. Загрузчик, которого для этой версии Minecraft ещё нет, в списке не появится — так, для 1.20.1 NeoForge не покажется, потому что для неё его не существует.
Два типа загрузчиков
По способу сборки загрузчики делятся на две группы, и разница существенная.
Эти загрузчики только добавляют библиотеки к ванильному клиенту и меняют главный класс. Ванильный client.jar остаётся нетронутым. Сборка сводится к тому, чтобы дописать нужные библиотеки к тем, что уже пришли от Mojang, — быстро и без сюрпризов.
Их клиент нельзя получить простым добавлением библиотек. Официальный установщик прогоняет цепочку процессоров — это Java-программы, которые патчат ванильный client.jar: накладывают бинарные патчи, применяют маппинги, переименовывают классы. На выходе — отдельный client.jar загрузчика и запуск через свой bootstrap с путём модулей.
Laminara повторяет то, что делает установщик, без графического интерфейса: скачивает установщик, читает install_profile.json, тянет библиотеки процессоров, извлекает встроенные артефакты и патчи и по очереди запускает каждый процессор. Forge и NeoForge используют один формат установщика, поэтому обрабатываются одним и тем же кодом.
Java для сборки
У трансформирующих загрузчиков есть тонкость. Процессоры запускаются на сервере во время подготовки, а Java, которая попадёт в сборку, — под платформу игрока (часто Windows). Запустить виндовую Java на Linux-сервере нельзя.
Поэтому для прогона процессоров сервер отдельно скачивает серверную Java под Linux нужной мажорной версии. Она нужна только на время сборки и в клиент не попадает. От вас никаких действий не требуется — всё скачивается автоматически.
Версии обновляются сами
Источники версий:
- Fabric, Quilt — их meta-серверы.
- NeoForge — maven-каталог NeoForged (JSON).
- Forge —
maven-metadata.xmlMinecraftForge.
Список фильтруется по версии Minecraft, новые сборки загрузчиков подхватываются без изменений в Laminara.