Данный репозиторий предоставляет доступ к открытому исходному коду проекта, а также содержит актуальные версии лаунчера под разные операционные системы. Лаунчер предназначен для запуска и получения обновлений игровых серверов и игровых проектов экосистемы МГЕ. Имеет различные вспомогательные возможности, такие как:
- Встроенный мессенджер с привязкой к актуальным мессенджерам и E-Mail
- Управление аккаунтом экосистемы МГЕ, админ-панель для администраторов
- Просмотр, пополнение и операции с внутренним денежным счётом экосистемы
- Интеграция с Steam, если есть лицензионные копии игр
- Оконный менеджер, система рисования окон поверх игры
- Запись игры в фоновом режиме, сохранение скришнотов
- Каталог разрешённых модификаций к установке
- Адаптивный интерфейс, кроссплатформерность
- Связь с API лаунчера через CLI интерфейс
- Каталог собственных игр внутри лаунчера
- Выбор версий для игр, где это возможно
- Автообновление лаунчера и игр
Лаунчер доступен для скачивания из данного репозитория в разделе релизов, на официальном сайте проекта, а также
через PlayMarket или AppStore.
Для Debian/Ubuntu Linux лаунчер также можно загрузить командой
sudo dpkg -i wlauncher_1.0.0_amd64.debИли для Fedora/RHEL Linux
sudo rpm -i wlauncher_1.0.0_amd64.debНекоторые из наших продуктов доступны на разных устройствах. Наш лаунчер доступен для скачиваения на следующих платформах:
- Android / IOS
- Windows
- Linux
- MacOS
Конфигурационным файлом проекта является .env файл в корне проекта. Ниже представлен список возможных переменных в конфигурации,
их назначение, значения по умолчанию:
| Название | Назначение | Обязательна | По умолчанию | Тип |
|---|---|---|---|---|
| PUBLIC_CONFIG_FILE | Путь к файлу конфигурации | Да | config.json | string |
| PUBLIC_BACKGROUND_TIME | Задержка смены заднего фона | Нет | 5000 | number |
| PUBLIC_DOMAIN | Сервер авторизации | Да | wogs.srrok.ru | string |
| PUBLIC_ROOT_ELEMENT | ID элемента рабочего стола лаунчера | Нет | window | string |
| PUBLIC_KEY_FULLSCREEN | Клавиша максимизации по умолчанию | Нет | F11 | string |
| DEV_HOST | Домен хоста сервера | Нет | - | string |
| PUBLIC_KEY_THEME | Клавиша смены темы по умолчанию | Нет | F8 | string |
Примечание: Имена переменных конфигурации с префиксом PUBLIC_ или VITE_ доступны во FrontEnd части приложения и клиент,
использующий лаунчер, может получить её свободно из любого места. Учтите, что смена или удаление PUBLIC_DOMAIN может вызвать
ошибки при подключении к некоторым игровым серверам МГЕ или может вызвать ошибки в работе самого лаунчера при неккоректном использовании.
Примечание 2: Ключи с префиксом PUBLIC_KEY_ характеризуют клавиши по умолчанию для определённых событий, которые содержит лаунчер.
Клавиши сохраняются в конфигурации лаунчера и могут быть переназначены пользователем в окне настроек. Событие, контроллирующееся клавишей,
задаётся суффиксом ключа, например PUBLIC_KEY_FULLSCREEN="F11" характеризует событие максимизации для клавиши F11 по умолчанию.
Доступные события указаны в таблице ниже:
| Событие | Назначение |
|---|---|
| fullscreen | Переключает полноэкранный режим |
| theme | Переключает тему приложения |
Лаунчер во время работы также создаёт собственный конфигурационный файл в корне программы. Ниже предоставлена структура и типы файла конфигурации. При неправильном назначении типа лаунчер может вызвать ошибку или не запустится вовсе. JSON схема с типами (типы соответствуют TypeScript типам):
{
"theme": "light" | "dark", //Цветовая схема лаунчера
"game": [
{
path: string, //Путь к игре
fullscreen?: boolean //Полноэкранный режим лаунчера при запуске игры
}
]
"keybinds": [
{
"event": string, //Привязанное событие
"key": string //Клавиша на событии
},
{
"event": string, //Привязанное событие
"key": string //Клавиша на событии
}
],
"fullscreen": boolean //Полноэкранный режим лаунчера
}
Учтите, что поле event в keybinds объекте поддерживает только заранее прописанные события, описания которых представлены выше.
Пример JSON конфигурации лаунчера, заполняемый по умолчанию:
{
"theme": "dark",
"games": [
{
"path": "...",
"fullscreen": true
}
],
"keybinds": [
{
"event": "fullscreen",
"key": "F11"
},
{
"event": "theme",
"key": "F8"
}
],
"fullscreen": false
}Наш лаунчер использует TypeScript и Rust в качестве основных языков программирования. Для отображения клиентской части приложения
Warning
Ознакомьтесь с лицензионным соглашением, прежде, чем использовать исходный код лаунчера!
Прежде, чем использовать проект, необходимо установить и проинциализировать репозиторий
git clone https://github.com/Srrok/WLauncher
cd WLaunchernpm run initКоманда автоматически установит необходимые зависимости, проинициализирует локальный GitHub репозиторий и установит необходимые утилиты
Команда, представленная ниже, запустит процесс сборки Debug версии приложения с отладчиком, а также запустит локальный сервер. Запущенное приложение будет обновляться при обновлении файлов проекта
npm run tauri devВы также можете запустить только локальный сервер следующей командой
npm run devПосле окончания разработки Вы можете собрать свой проект командой
npm run buildКоманда сгенерирует файл latest.json и модифицирует ./src-tauri/tauri.conf.json в корне лаунчера, создавая разметочный файл для обновления.
Учтите, что если сервера авторизации (PUBLIC_DOMAIN="wogs.srrok.ru") были подменены - игровая сессия будет отклонена на стороне сервера, так как цифровая
подпись игрового аккаунта не будет соответствовать цифровой подписи на сервере. Собранный лаунчер можно запустить в веб-интерфейсе командой:
npm run startДля запуска собранного лаунчера как приложения можно воспользоваться собранной версией
приложения в ./dist директории или командой
npm run serveЕсли у Вас есть надлежащие разрешения для загрузки кода в репозиторий, Вы можете воспользоваться стандартными средствами Git или командой для быстрой публикации в main ветку
npm run gitВведите сообщение к изменению и нажмите Enter для публикации кода в главной ветке репозитория.
Если стандартных разрешений Вы не имеете, воспользуйтесь следующей последовательностью действий:
- Создайте fork репозитория
- Создайте ветку для вашего изменения (
git checkout -b feature/amazing-feature) - Зафиксируйте изменения (
git commit -m 'Add some amazing feature') - Запушьте ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
Вы можете модифицировать исходный скрипт
npm run gitдля автоматизации данного процесса. Он распологается в директории./scripts/commit.js
Ознакомьтесь со списком контактов с разработчиками / поддержкой проекта
