Это простой интерфейс лаунчера, можно добавлять свои игры и приложения
Убедитесь что у вас Python 3.12
Клонируйте этот репозиторий
git clone https://github.com/Kexi8BiT/SovaLaucher
cd SovaLaucher
Настройте venv и установите модули
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
Запустите лаунчер
flet run
или
python main.py
(если что в Настройки -> Изменить cdn пишите https://sova.remeow.ru
)
Структура максимально простая
- asstes *тут хранятся файлы с которыми работает лаунчер
|- audio * тут аудио файлы
|- boop.mp3 (звук нажатия)
|- message.mp3 (неиспользуемый звук оповещения)
|- start.mp3 (проигрывается при старте лаунчера)
|- games *тут игры и их описание
|- sovadash
|- bg.jpg
|- config.json
|- description.txt
|- icon.png
|- ...
впринципе все что нужно знать. Настроить дополнительные вкладки можно в games_page.py
все интернет запросы и данные прописаны в internets.py llamareq.py - лол я сам хз что это
также для настройки интерфейса используется ui.py в нем прописаны ввсе стили кнопок и слайдеров в лаунчере
client_storage:
on_sound: bool # Настройка - обозначает проигрывается ли звуки в лаунчере
dnd: bool # Не беспокоить
catalog_games: str # Каталог (Диск) на котором хранятся игры
cdn_url: str # Базовый апи с которым работает лаунчер
Так, теперь поговорим про config.json
.
А именно про start-config
.
Из себя он представляет примерно такую структуру:
{"start-config": {
"command_args": "",
"exe_file": "SovaDash.exe",
"other_params": {
"enebled": true,
"script": "sovadash.py",
"params": [
{"type": "input", "name": "gb", "value": "5", "label": "Выделенная память, (Озу)"}
]
}
}
}
Давайте разбераться что к чему...
Так как лаунчер запускает разные игры и приложения, он не может предугадать что именно ему запускать, а так как страница
со скачиванием знает только id
приложения - нам надо сообщить какой файл надо запускать. Для этого в exe_file
нужно вписать
имя exe файла который нужно запускать (или путь до него).
"command_args
" - это аргументы, которые будут переданы при запуске приложения. В примере не используется.
Теперь самое сложное. other_params
- Это все те аргументы и параметры которые будут переданы в определенный скрипт при запуске.
Что за скрипт? (script
) - Чтож вам придется самим написать скрипт, так как лаунчер использует систему аргументов (которую мы сейчас разберем)
то конечный файл в который будет передаваться аргументы запуска может быть написан на любом языке! будь то py файл, или exe написанное на java.
теперь подробнее рзберем params
:
{"params": [
{"type": "input", "in": "int", "name": "gb", "value": "5", "label": "Выделенная память, (Озу)"},
{"type": "check", "name": "debug", "value": true, "label": "Debug"},
{"type": "switch", "name": "join", "value": true, "label": "Сразу зайти на сервер"}
]}
Да, сейчас есть только несколько параметров, давайте их разберем:
type
тип ввода от пользователя, может иметь несколько значений:
input
- Поле вводаcheck
- Чекбоксswitch
- Свитч (переключатель)
in
(ТОлько если type = input
):
int
- Можно ввести только числоsrt
- Можно вводить все что душе угодно
name
:
это имя параметра которое будет передаваться
value
:
это значение параметра которое будет передаваться
label
:
Это то что будет отображаться пользователю
в итоге при этих параметрах мы получим
sovadash.py --gb 5 --debug true --join true
дальше ебитесь сами, мой лс всегда открыт а также есть issues или как там их