mc-launcher-rs
A simple minecraft launcher, in Rust
Goal
The goal of this project is for me to learn a little bit of Rust, and experiment with the ecosystem.
The current scope of the project is just downloading minecraft and launching it.
Maybe modloader after all is stable-ish
Stack
// Todo, link
| Usage | Choice |
|---|---|
| UI | egui |
| Async | tokio |
| HTTP | reqwest |
| JSON | serde |
| Hashing | sha1 |
| Archives | zip |
| Folders | directories |
| Errors | anyhow |
| Logs | tracing |
Roadmap
Do the download logic, then the UI.
Download:
[x] Read the manifest
[x] Manifest -> JSON
[] Interpret the data
[] Download from the JSON -> HTTP/Tokio
[] Go from sequential to parallel
Structure
core -> all the launcher stuff, version manifest, JSON, download, hashes, launch args...
cli -> a small wrapper that calls the core and display text
gui -> another small wrapper that calls the core and displays it with egui
Links
https://piston-meta.mojang.com/mc/game/version_manifest_v2.json
This one is the main manifest