deckcraft
overview
A controller and touch-friendly Minecraft launcher built for Steam Deck and Linux gaming handhelds. Zero configuration required — DeckCraft automatically downloads the correct Java version, authenticates via Microsoft/Xbox Live, and manages Minecraft instances without any manual setup.
Phases 0–7 are complete: the launcher is fully functional for vanilla Minecraft across all versions, with Fabric and Quilt mod loader support included. Forge is intentionally not supported. Mod management UI is planned for a future phase.
tech stack
Backend: Rust with Tauri 2.x (native desktop framework), SQLx (database), Tokio (async runtime), reqwest (HTTP), minecraft-msa-auth (Microsoft authentication).
Frontend: Svelte 5 + SvelteKit, TailwindCSS, TypeScript.
Packaging: AppImage — portable Linux packaging, no installation required. Follows the XDG Base Directory spec — config in ~/.config/deckcraft/, data in ~/.local/share/deckcraft/.
Java management: Automatically downloads the correct Java version from the Mojang Java Runtime API — Java 8 for MC 1.0–1.16, Java 16 for 1.17, Java 17 for 1.18–1.20.4, Java 17 or 21 for 1.20.5–1.21.1, Java 21 for 1.21.2+. No manual Java installation required.
development
Authentication uses the Microsoft OAuth2 + Xbox Live flow, opened in the system browser and completed via deep link callback.
Game assets and libraries are downloaded with SHA1 verification against Mojang's version manifest. Instances are stored as individual directories under ~/.local/share/deckcraft/instances/, each containing its own game directory, libraries, assets, and native libraries.
Instance creation from Modrinth and CurseForge modpacks is supported. Fabric and Quilt mod loaders are fully integrated; Forge is intentionally not supported.
Planned: mod management UI (enable/disable/update individual mods).