Начало работы
Проект разнесён на два репозитория:
AuroraLauncher - LauncherServer, который осуществляет раздачу игровых файлов, отвечает за подключение службы аутентификации и др.
Launcher - Сам лаунчер, через который будет осуществляться запуск игры.
Настройка этих двух частей происходит отдельно друг от друга, так что начнём с LauncherServer части проекта.
Установка и настройка
После того, как вы скачали LauncherServer, расположите его в любой папке и запустите его. Запустить можно таким способом:
chmod +x ./LauncherServer-linux // Если нет прав на выполнение
./LauncherServer-linux
LauncherServer-win.exe
./LauncherServer-macos
Аргументы запуска лаунчсервера
--host
- указывается адрес для прослушивания--port
- указывается порт для прослушивания
Сервер создаст конфигурационный файл и после чего выключится. После чего вы можете произвести его настройку. Все настройки хранятся в файле LauncherServerConfig.hjson
. Ниже будет представлен его пример с описанием всех настроек.
{
configVersion: 0
projectID: 00000000-0000-0000-0000-000000000000
projectName: "Example Project"
lang: ru
branch: stable
env: dev
mirrors: []
auth:
{
type: accept
}
api:
{
host: 0.0.0.0
port: 1370
useSSL: false
ssl:
{
cert: /path/to/cert.pem
key: /path/to/key.pem
}
disableListing: false
hideListing: false
injector:
{
skinDomains: []
}
}
}
Описание настроек конфига
configVersion
- версия формата текущего конфига, на данный момент не используетсяprojectID
- уникальный ID проекта, генерируется при первом запуске и используется в некоторых местах в коде лаунчера/лаунчсервераprojectName
- Имя проектаlang
- язык, используемый для вывода информации в лаунчсервере. Возможные на данный момент варианты ru
и en
для русского и английского языков соответственноenv
- режим работы лаунчсервера. Возможные варианты: prod
, debug
и dev
. На данный момент не используетсяmirrors
- список зеркал, для скачивания файлов игры. Для получения подробной информации смотрите раздел Загрузка клиентовauth
- блок настроек методов авторизации и получения скинов, подробнее в разделе Настройка авторизацииapi
- блок настроек подключения к лаунчсерверу. Содержит следующие настройки:
host
- внутренний IP, с которого лаунчсервер будет слушать запросы. Не трогать, если не знаете что это и как работаетport
- порт, который будет слушать лаунчсервер. Аналогично предыдущему пунктуdisableListing
- Отключить отдачу папок и файлов силами лаунчсервера, рекомендуется включить при проксирования файлов, например через NginxhideListing
- Отключить вывод списка папок и файлов, не работает еслиdisableListing
установлен в значенииtrue
useSSL
- Использовать SSL сертификат для сервера. При использовании сертификата не забудьте поменять вaddress
url сws
наwss
ssl
- пути для используемых файлов сертификата в PEM формате. Можно указывать как абсолютный так и относительный (из директории в которой был запущен лаунчсервер) путь до файлов. Подробнее о параметрах cert и keyskinDomains
- Список адресов для загрузки скинов, подробнее в разделе Настройка системы скинов
Для работы с защищённым подключением с использованием SSL сертификата рекомендуется вместо настройки ssl
в лаунчсервере использовать проксирование сервера через Nginx. Данный подход позволяет более удобно настраивать подключение (например с использованием автоматизированных скриптов certbot-a), а также переложить часть нагрузки с Node.js сервера на Nginx.