This monorepo contains a cross-platform (Windows + Linux) game launcher in 2 forms: minimal CLI downloader (Rust) and a Tauri-based GUI launcher. It is designed to manage patch updates using a manifest. The launcher displays a transaction overview, detailed progress, and only overwrites files listed in the manifest without removing extra files.
The project is designed for easy extension with minimal dependencies, utilizing shared Rust libraries for backend operations while keeping the front-end lightweight.
- CLI: Rust-based command line interface
- GUI: Tauri + Vue.js application with DaisyUI components
Feature | CLI (Rust) | GUI (Tauri + Vue.js) |
---|---|---|
Manifest-based patch updates | Yes | Yes |
Integrity verification | No | Yes |
Transaction overview | Console output | Detailed visual output |
Directory selection | No | GUI-based |
Launch WoW.exe (wine on non-Windows) | No | Yes |
Customizable front-end | N/A | Yes |
Client download | Not planned | Not yet supported |
Manage addons | Not planned | Not planned |
A lightweight Rust-based terminal CLI for basic patching. It only downloads patches from a manifest.json
A Tauri + Vue.js wrapper around the same Rust libraries:
- Allows directory selection
- Provides art, transaction overviews, and a launch button
- Uses the same patching logic as the CLI
gui.mp4
- Install Rust from the https://www.rust-lang.org/
- Local test CDN server
- Install Go from https://go.dev/doc/install
- or compiled binary https://github.com/sogladev/go-manifest-patcher/releases
- (Only for GUI) Install Bun package manager from https://bun.sh/docs/installation
- Start local CDN
go run main.go -create-manifest go run main.go
From project root
-
Run the CLI
cargo run --bin downloader-cli -- --manifest="http://localhost:8080/manifest.json"
-
Build
cargo build --bin downloader-cli --release --locked cargo build --bin downloader-cli --target x86_64-pc-windows-gnu --release --locked
- Start local CDN
go run main.go -create-manifest go run main.go
From tauri-game-launcher/
-
Install dependencies:
bun install
-
Start the development server
bun run tauri dev
-
Build the project
bun run tauri build