Skip to content

Latest commit

 

History

History
182 lines (172 loc) · 13.5 KB

File metadata and controls

182 lines (172 loc) · 13.5 KB

🔥 Лаунчер проекта МГЕ

Данный репозиторий предоставляет доступ к открытому исходному коду проекта, а также содержит актуальные версии лаунчера под разные операционные системы. Лаунчер предназначен для запуска и получения обновлений игровых серверов и игровых проектов экосистемы МГЕ. Имеет различные вспомогательные возможности, такие как:

  • Встроенный мессенджер с привязкой к актуальным мессенджерам и 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

Ознакомьтесь с лицензионным соглашением, прежде, чем использовать исходный код лаунчера!

🌎 Инициализация проекта

Прежде, чем использовать проект, необходимо установить и проинциализировать репозиторий

1. Скачайте репозиторий через GUI GitHub или воспользуйтесь утилитой

git clone https://github.com/Srrok/WLauncher
cd WLauncher

2. Воспользуйтесь встроенной утилитой инициализации репозитория

npm run init

Команда автоматически установит необходимые зависимости, проинициализирует локальный GitHub репозиторий и установит необходимые утилиты

3. Воспользуйтесь командой для запуска проекта

Команда, представленная ниже, запустит процесс сборки 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 для публикации кода в главной ветке репозитория.
Если стандартных разрешений Вы не имеете, воспользуйтесь следующей последовательностью действий:

  1. Создайте fork репозитория
  2. Создайте ветку для вашего изменения (git checkout -b feature/amazing-feature)
  3. Зафиксируйте изменения (git commit -m 'Add some amazing feature')
  4. Запушьте ветку (git push origin feature/amazing-feature)
  5. Откройте Pull Request Вы можете модифицировать исходный скрипт npm run git для автоматизации данного процесса. Он распологается в директории ./scripts/commit.js

📌 Контакты

Ознакомьтесь со списком контактов с разработчиками / поддержкой проекта
Sыrok Mrcavas
Поддержка МГЕ Общая поддержка
МГЕ