Files
shacraft-launcher/README.md
T
emil28092005 cc19a24e45 feat: install and launch Minecraft with NeoForge and Microsoft login
Wires up the actual game pipeline behind the existing ShaCraft manifest
sync: Mojang version resolution, Java 21 auto-provisioning via Adoptium,
headless NeoForge installation, real Microsoft/Xbox/Minecraft Services
login, and an offline account mode, then builds and spawns the java
process itself.

- mojang.rs: vanilla trust boundary, inheritsFrom version-JSON merge,
  asset/library downloading with a worker pool and per-file retries
- neoforge.rs: runs NeoForge's own installer headlessly, with live
  progress parsed from its output against its own install_profile.json
- runtime.rs / java.rs: detects a usable local Java or provisions one
  from Eclipse Temurin, with real download progress
- msa.rs: device-code OAuth -> Xbox Live -> XSTS -> Minecraft Services,
  gated on ShaCraft registering its own Azure AD app (see MSA_CLIENT_ID)
- session.rs / launch.rs: offline deterministic UUIDs and the merged
  java invocation itself
- download.rs: shared verified-download helper (temp file, hash,
  atomic rename, retries, progress) used across all of the above and
  refactored into profile.rs
- UI: account mode toggle (Microsoft/offline), login modal, and real
  per-stage install progress instead of start/done placeholders
2026-09-06 05:09:50 +03:00

2.0 KiB

ShaCraft Launcher

Кроссплатформенный лаунчер для сети Minecraft-серверов ShaCraft.

Сейчас реализовано:

  • интерактивный интерфейс профилей и настроек;
  • Tauri 2 native shell с безопасной командой native_host;
  • сохранение памяти профиля в локальном каталоге данных приложения;
  • безопасное обнаружение установленной Java (включая JAVA_HOME) перед запуском;
  • интеграция с фиксированным ShaCraft launcher v2 manifest для Aeronautics;
  • адаптивное окно для Windows, Linux и macOS;
  • вход через настоящий аккаунт Microsoft (без него игра не устанавливается и не запускается — так владение игрой проверяется по-настоящему);
  • установка Minecraft и NeoForge версии, которую задаёт manifest, и запуск игры.

Локальная разработка

npm install
npm run dev

Для нативного приложения нужен Rust:

npm run tauri:dev

На Ubuntu для сборки Tauri также потребуются системные пакеты WebKit/GTK и DBus development headers. Их установка описана в официальной документации Tauri и требует прав администратора.

Статус

Вход через Microsoft, установка и запуск Aeronautics уже работают. Вход через Microsoft пока не активен на боевой сборке: нужна собственная регистрация приложения ShaCraft в Azure AD и её одобрение Microsoft для доступа к Minecraft API — см. комментарий к MSA_CLIENT_ID в src-tauri/src/msa.rs.