Обновление лаунчера
Лаунчер обновляется сам при запуске: проверяет сервер, скачивает новую версию, подменяет себя и перезапускается. Игрок ничего не выбирает и ничего не скачивает руками.
Как выложить версию
Соберите лаунчер под нужные платформы и положите файлы в каталог версий:
/var/lib/laminara/launcher/ 0.2.0/ laminara-windows-x64.exe laminara-linux Laminara-linux.AppImage Laminara-mac-os-arm64.app.tar.gzПлатформа и упаковка определяются по имени файла: расширение (.exe, .AppImage,
.app.tar.gz) задаёт тип, а ключ платформы в имени (windows-x64, linux,
mac-os-arm64, …) — систему. Затем:
laminara-server exec "launcher publish 0.2.0"laminara-server exec "launcher status"Публикация кладёт байты в то же хранилище, что и сборки, подписывает документ релиза
вашим ключом и делает его текущим. Версия обязана быть вида 1.2.3 и строго больше
предыдущей — понижение невозможно ни на сервере, ни на клиенте.
Включите каталог в конфиге:
{ "launcher": { "dir": "/var/lib/laminara/launcher" }}Что делает лаунчер игрока
- При старте запрашивает релиз и проверяет подпись тем же ключом, что и манифесты сборок.
- Если версия новее и её можно установить — показывает экран «Обновление лаунчера» с прогрессом.
- Качает артефакт, сверяет BLAKE3, атомарно подменяет себя и перезапускается.
Если обновление не удалось (нет сети, нет прав, битые байты) — лаунчер продолжает работу на текущей версии: старый файл возвращается на место.
Установки из пакетного менеджера или системных каталогов (/usr, /opt, Program Files,
Snap, Flatpak) лаунчер не трогает — он только сообщает, что вышла новая версия.