Перейти к основному содержимому
Версия: 1.0.12

QMLauncher

Кроссплатформенный GUI (Wails + React) для запуска Minecraft с модами и несколькими инстансами (сборка даёт нативный исполняемый файл с встроенным фронтендом). В облачной конфигурации лаунчер опрашивает QMServer за списком серверов, новостями и вспомогательными данными для создания инстанса.

Установка — только нативно (запуск бинарника на ПК пользователя). Образа Docker для лаунчера нет.

Возможности

  • Инстансы Minecraft: создание, удаление, запуск
  • Загрузчики: Forge, NeoForge, Fabric, Quilt
  • Локальные и Microsoft (MSA) аккаунты; Client ID может подставляться с API (GET /settings/qmlauncher-msa-client-id)
  • Облачная синхронизация (при настроенном API):
    • список серверов и онлайн (GET /api/v1/servers)
    • новости (GET /api/v1/news)
    • mod-config по выбранному серверу (GET /api/v1/servers/:id/mod-config)
    • списки версий для мастера создания инстанса (/launcher/create-instance/*)
    • для премиум/админских учёток — CurseForge API key (GET /launcher/curseforge-api-key с JWT, если реализовано в клиенте)
  • Встроенный терминал в GUI для вывода логов и команд

Инвентарь с игрового сервера в лаунчер этим API не передаётся напрямую; QXSync шлёт данные в QMServer при модуле Minecraft и интеграции QMWeb — см. Синхронизация инвентаря.

Сборка

cd QMLauncher

# Frontend (встраивается в исполняемый файл)
cd frontend && npm install && npm run build && cd ..

# Исполняемый файл для текущей платформы (имя вида build/QMLauncher-<os>-<arch>)
make build

# Кросс-сборка (пример)
make linux
make windows

Интерактивная разработка GUI: см. README_GUI.md в репозитории QMLauncher (wails dev).

Релизы (GitHub)

В репозитории QMLauncher по тегу v* CI (.github/workflows/release-qmlauncher.yml) собирает Linux x86_64: зависимости GTK/WebKit на раннере, npm ci / npm run build во frontend/, затем make linux. В GitHub Release выкладываются QMLauncher-linux-amd64, архив .tar.gz и контрольные суммы. Сборка Windows и macOS в этом workflow не выполняется — их можно собирать локально (Makefile, wails build). Версия в бинарнике задаётся через VERSION и BUILD_STAMP (как в Makefile).

Структура репозитория (ориентиры)

  • pkg/launcher — логика запуска Minecraft
  • pkg/auth — аккаунты
  • frontend/ — React GUI (Wails)
  • internal/meta, internal/network, internal/i18n — метаданные MC, сеть, локализация

Детали интеграции с API описаны в QMLauncher/docs/API.md и API_ru.md (при наличии в вашей копии репозитория).

Связь с QMServer

На стороне QMServer должна быть включена интеграция QMLauncher (QMAdmin → Интеграции). Если она выключена, соответствующие маршруты отвечают 404 с detail; лаунчер показывает сообщение, что выбранный API не обслуживает лаунчер. Подробнее — QMServer — интеграции.

НазначениеТипичный endpoint
Статус / проверка связностиGET /api/v1/status
Серверы для списка в UIGET /api/v1/servers
НовостиGET /api/v1/news
Версии MC / загрузчиковGET /api/v1/launcher/create-instance/minecraft-versions, loader-versions
Конфиг модов сервераGET /api/v1/servers/:id/mod-config
UUID профиля сервераИз ответа GET /servers — нужен для настройки QXSync на стороне игрового сервера (после релиза мода)

Базовый URL API задаётся в настройках лаунчера или при сборке (см. документацию репозитория QMLauncher).