2026-09-06 23:38:08 +03:00

ShaCraft Launcher

Кроссплатформенный Tauri 2 лаунчер для ShaCraft: React/TypeScript интерфейс, Rust — файлы, сеть и запуск процессов.

Реализованы отдельные профили Aeronautics (Minecraft 1.21.1, NeoForge, Java 21) и Minigames (Minecraft 26.2, Fabric, Java 25), подписанная синхронизация файлов, проверка/восстановление модов и конфигурации, установка игры и Java, настройки памяти, обработка установки/запуска/выхода. Minigames добавлен в кандидате 0.1.6; статус публикации фиксируется в записи релиза.

Вход выполняется через аккаунт ShaCraft — тот же, что на сайте. Игровой ник общий для обоих профилей и берётся только из подтверждённой привязки aoc. Тикет входа привязан к выбранному серверу; локальные настройки не выбирают личность. Пароли не сохраняются; сессию можно отозвать. Microsoft OAuth-модуль сохранён отдельно, но не используется текущим сценарием запуска; для его активации потребуются client ID и API approval.

Разработка

npm ci
npm run dev

Это браузерный preview — он не устанавливает и не запускает игру. Для приложения нужен Rust и системные зависимости Tauri:

npm run tauri:dev

Проверка

npm test
npm run build
cargo test --locked --manifest-path src-tauri/Cargo.toml

Build включает строгий TypeScript. GitHub Actions проверяет UI и Rust на push/PR; workflow на main-push/ручном запуске собирает Windows x64, Linux x64, macOS Intel и Apple Silicon и сохраняет неподписанные артефакты. Релизный оператор подписывает проверенные пакеты и metadata локальным ключом; CI его не получает. Используемые macOS runners соответствуют списку GitHub.

Обновление лаунчера

С версии 0.1.3 настройки содержат проверку обновлений, установку с прогрессом и перезапуск. Лаунчер также проверяет новые версии при старте, но устанавливает их только по кнопке. Подписи пакета и сведений о версии обязательны. Закройте запущенный Minecraft перед установкой обновления.

В Linux обновляются AppImage и установленный deb (с версии 0.1.4). Для deb система запрашивает права администратора; пароль не передаётся лаунчеру. Deb 0.1.3 и ниже нужно один раз обновить вручную до 0.1.4. Dev-бинарник обновляется вручную. С версии 0.1.2 нужен ручной переход на новый AppImage. Пакеты Windows/macOS 0.1.5 опубликованы. Проверка реальной установки на каждой платформе остаётся отдельной от сборки и автоматических тестов.

Навигация

  • Архитектура — компоненты, данные, IPC.
  • Trust boundaries — доверенные источники игры.
  • Manifest — подписанный контракт модпака.
  • Обновления — подпись, публикация и восстановление.
  • PLAN.md — ограничения и следующие шаги.
  • AGENTS.md — инструкции для следующего разработчика/агента.

Не хранить в Git токены, ключи, пользовательские данные или пакеты игры.

S
Description
Cross-platform Minecraft launcher for ShaCraft
Readme MIT
1.9 MiB
Languages
Rust 66.1%
TypeScript 20.5%
Python 7.1%
CSS 3.8%
Java 2.4%