- Multi-arch (amd64/arm64) panel image: static musl binary on scratch, cross-compiled with cargo-zigbuild (no QEMU), non-root, healthcheck - docker-compose.yml + .env.example for one-command deployment - CI: fmt, clippy, tests, web type-checks, Windows launcher build, real-network installs of vanilla/Fabric/Quilt/Forge/NeoForge, Docker build - Release: Windows NSIS installer with baked-in panel URL, GHCR image push and GitHub release (tag push or manual dispatch) - README, admin guide, Microsoft auth setup, architecture, development - rustfmt config and formatting pass Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011ARcGWxLx21FwXJ3yfGriS
1.5 KiB
Microsoft sign-in
Microsoft accounts give players their real skin and let them join online-mode servers. It needs an Azure app registration that Mojang has approved for the Minecraft API.
1. Register an app
- Go to portal.azure.com → Microsoft Entra ID → App registrations → New registration.
- Name: your launcher's name. Supported account types: Personal Microsoft accounts only.
- Redirect URI: leave empty.
- After creating it, open Authentication → enable Allow public client flows (needed for the device-code flow) → Save.
- Copy the Application (client) ID.
2. Request Minecraft API access
New apps can't call the Minecraft services API until Mojang approves them. Submit the form at https://aka.ms/mce-reviewappid with your client ID. Approval can take a while; until then sign-in fails with "Minecraft services rejected the Xbox token".
3. Enable it in the panel
Settings → Microsoft accounts → turn on Sign in with Microsoft and paste the client ID. Launchers show the Microsoft tab on their next refresh.
How it works
The launcher uses the OAuth device-code flow: it shows a short code, opens microsoft.com/link, and waits. The chain is Microsoft → Xbox Live → XSTS → Minecraft services → profile. The refresh token is stored encrypted on the player's PC and renewed silently before launches. The panel never sees Microsoft credentials.
Common errors are translated for players (no Xbox profile yet, child account, game not owned).