Laminara

Платформа лаунчера Minecraft

Свой лаунчер Minecraft без ручной сборки клиента

Сервер сам качает Minecraft, Java и загрузчик, собирает клиент и подписывает его. Игрок скачивает один файл, входит под аккаунтом с вашего сайта и играет. Вам остаётся выбрать версию и опубликовать сборку.

сервер, Linux
$ 
$ laminara-server status

Установщик расспросит про хранилище, аккаунты и домен, поставит nginx с сертификатом и соберёт конфиг сам.

01

Поставьте сервер

Одна команда установщика: бинарник, хранилище, nginx с сертификатом. Linux — всё, что нужно.

02

Опубликуйте сборку

Команды install и publish сами качают Minecraft, Java и загрузчик и подписывают манифест своим ключом.

03

Игрок качает один файл

Адрес сервера и ключи запечены в лаунчере. Игрок вводит логин с вашего сайта — и играет.

Главный экран лаунчера: список сборок, новости, кнопка «Играть»

Что берёт на себя

Сборку собирает сервер

Не нужно качать Forge руками и прогонять установщик с графикой. Vanilla, Fabric, Quilt, Forge, NeoForge — от 1.7.10 до свежих версий, всё одной командой.

Игрок скачивает один файл

Ни Java рядом, ни отдельного лаунчера. Адрес сервера, ключи и оформление запечены внутрь: игрок вводит только логин.

Подменённый файл не доедет

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

Аккаунты остаются у вас

Своей таблицы игроков у Laminara нет: она спрашивает вашу базу и держит только сессии. Вход в игре — свой Yggdrasil для authlib-injector.

Сборки не забивают диск

Десять сборок на одной версии делят одну Java и одни библиотеки: файлы лежат по содержимому и раскладываются жёсткими ссылками.

Бан не обходится сменой ника

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

Консоль проекта

Не нужно лезть в конфиги по SSH

laminara-server console — живые логи, мастера сборок, список игроков и настройки в одном окне. То же самое делают команды: install, publish, ban, settings — и они же доступны скриптам через exec.

Сервер проверяет себя командой doctor, складывает ключи и базу компьютеров в один архив командой backup и обновляется командой update.

Посмотреть консоль
Консоль сервера: логи и сводка

Чем отличается от GravitLauncher и GML

Собрано по коду GravitLauncher 5.7.12 (май 2026), GML 2026.1-beta1 (сентябрь 2026) и замерам на одной машине — как мерили, написано под таблицей.

LaminaraGravitLauncherGML
Что скачивает игрок Один файл: 18 МБ под Windows, 27 МБ под Linux. Ставить рядом нечего Launcher.jar 5 МБ, но на машине нужна Java с JavaFX. Нативный .exe собирает отдельный модуль, и Java он всё равно докачивает Один файл около 170 МБ под Windows со встроенным .NET: панель собирает его из исходников. Под macOS получается бинарник без .app
Подготовка сборки Команда install: сама качает Minecraft, Java и установщик загрузчика и прогоняет его без графики — включая 1.7.10. Она же поднимает 1.7.10 и 1.12.2 на современную Java Модуль MirrorHelper поверх UnsafeCommandsPack. Установщик Forge и NeoForge качает команда, Fabric и Quilt кладутся в папку руками. Для 1.10 и старше установщик Forge открывает окно и ждёт человека Библиотека CmlLib: качает Minecraft и Java и прогоняет Forge и NeoForge без графики, с 1.7.10. На новую Java старые версии не поднимает
Вход в игре authlib-injector — один агент на все версии Патч authlib: девять разных .jar кладутся в папку руками authlib-injector, свой форк
Доверие к файлам Манифест подписан Ed25519 — раздавать можно с любого зеркала Список файлов приходит по соединению без подписи Список файлов приходит от API без подписи, ассеты сверяются только по размеру
Сервер в простое 34 МБ памяти 199 МБ памяти, после сборки лаунчера — 296 МБ Не мерили. Это четыре контейнера, и вики GML просит от 2 ГБ памяти, для сборки лаунчера — от 4 ГБ
Место на диске у игрока Общий склад и жёсткие ссылки между сборками Свой каталог на каждый профиль Своя папка на каждую сборку, общие только ассеты и Java
Отпечаток компьютера Солёные хеши, серийники не уходят с машины Серийник диска, плата и видеокарта уходят как есть Процессор и серийники платы и дисков уходят как есть
Управление Консоль в терминале, она же в браузере Консоль LaunchServer Веб-панель с правами для нескольких администраторов
Моды из каталогов Нет: моды кладутся в сборку файлами Есть: Modrinth без ключа, CurseForge — по ключу API Есть: Modrinth и CurseForge прямо из панели
Стек Go на сервере, Rust и Tauri в лаунчере Java на сервере, Java и JavaFX в лаунчере C# и .NET на сервере, Avalonia в лаунчере, панель на Next.js

Память мерили одинаково: свежий запуск, ни одного игрока, VmRSS через полторы минуты. У Laminara на сервере лежали четыре сборки, у GravitLauncher — ни одной. Вес лаунчера — готовые файлы: наш собран под обе системы, Launcher.jar — командой build на чистой установке 5.7.12, лаунчер GML — той же командой dotnet publish, которой его собирает панель, из кода 2026.1-beta1 под Windows x64. Оформление проекта записывается в файл лаунчера при сборке, поэтому с тяжёлыми картинками файл будет больше.

Собрать свой лаунчер

Сервер работает на Linux. Лаунчер собирается под Windows, macOS и Linux с той же машины.