Skip to main content
Xneon Launcher распространяется под лицензией GPL-3.0, исходный код открыт на GitHub. Сборка требует Node.js 22+ и pnpm 11+. В этой статье описаны шаги от клонирования репозитория до production-сборки через electron-builder.

Требования

  • Node.js: 22 или выше
  • pnpm: 11 или выше
  • Git: для клонирования репозитория

Быстрый старт

1

Клонируйте репозиторий

2

Установите зависимости

3

Запустите в режиме разработки

Или ускоренный режим без полной пересборки:

Основные команды

Структура репозитория

Конфигурация окружения

Файл .env используется скриптом scripts/gen-credentials.mjs для генерации electron/main/cloud/credentials.generated.ts. Этот файл добавлен в .gitignore и создается автоматически при сборке.

Добавление нового IPC-канала

Если вы дорабатываете лаунчер и добавляете новый IPC-канал, следуйте четырехэтапной схеме:
  1. Обработчик в electron/main/
  2. Мост в electron/preload.ts (window.electronAPI)
  3. Тип в src/electron.d.ts
  4. Контракт в packages/xnlc-types/src/ipc-contracts.ts

Воркер запуска Minecraft

Запуск игры выполняется в отдельном воркере: electron/main/minecraft-launch-worker.ts. Это изолирует длительные операции (загрузка ассетов, разрешение библиотек) от UI-потока.

Реестр пакетов

Внутренние пакеты @xnlc/* публикуются в реестре:

Известная проблема: EPERM на dxil.dll

Если при сборке (pnpm run build или package) возникает ошибка доступа к dxil.dll, закройте все окна Xneon Launcher и завершите процессы electron. Это происходит, когда запущенный Electron удерживает файл.

Сборка production

Результат появится в папке release/ в форматах для целевой платформы: .exe, .dmg, .AppImage, .deb, .rpm, .pacman или .tar.xz.

Следующие шаги