Website | Discord | Changelogs
A minimalistic Minecraft launcher for Windows, macOS and Linux.
QuantumLauncher is written in Rust with the iced framework, offering a lightweight and responsive experience. It is designed to be simple and easy to use, with a focus on performance and features.
Full support for old minecraft versions, integrated with Omniarchive. Includes skin and sound fixes!
You can download the stable version from the website linked above, or from the Releases button
Or, you can compile the launcher to get the latest experimental version (with potentially broken and untested features). To compile the launcher:
git clone https://github.com/Mrmayman/quantum-launcher.git
cd quantum-launcher
cargo run --release
You can omit the --release
flag for faster compile times, but slightly worse performance and MUCH larger build file size.
- QuantumLauncher provides a feature rich, flexible, simple and lightweight experience with plenty of modding features.
What about the others? Well...
- The official Minecraft launcher is slow, unstable, buggy and frustrating to use, with barely any modding features.
- Prism Launcher is a great launcher overall, but it does not support offline accounts. Same for MultiMC.
- Legacy Launcher isn't as feature rich as this
- TLauncher is suspected to be malware
- On Windows, the launcher files are at
C:/Users/YOUR_USERNAME/AppData/Roaming/QuantumLauncher/
. - You probably won't see the
AppData
folder. Press Windows + R and paste this path, and hit enter. - On Linux, the launcher files are at
~/.config/QuantumLauncher/
. (~
refers to your home directory). - Instances located at
QuantumLauncher/instances/YOUR_INSTANCE/
.minecraft
located atYOUR_INSTANCE/.minecraft/
.- Launcher logs are located at
QuantumLauncher/logs/
.
(note: WIP means work-in-progress)
- Instance creation, deletion, renaming, launching
- Java/Game args editing
- Memory allocation editing
- Optional Microsoft login
- Integration with Omniarchive, old version support
- Fabric
- Forge
- Optifine
- Quilt
- Neoforge
- OptiForge
- OptiFabric
- Jar Mods
- Modrinth mods
- Curseforge mods
- Modrinth modpacks
- Curseforge modpacks
- Mod store
- Mod presets (packaging mods)
- Mod updater
- Make mod updater incrementally load in (optimization)
- UI/UX overhaul of preset system
- Import MultiMC instance
- Migrate from other launchers (file locations)
- Package QuantumLauncher instance
- Ability to create, delete and run Minecraft servers
- Editing basic server settings (RAM, Java, Args)
- Editing
server.properties
- Editing any NBT config file
- Plugin store
- playit.gg integration
- Paper
- Spigot
- Bukkit
- Bungeecoord
- The stuff from [MODS+PLUGINS.md]https://github.com/LeStegii/server-software/blob/master/java/MODS+PLUGINS.md
- Windows x86_64
- Linux x86_64
- macOS x86_64 (WIP)
- Windows Aarch64 (WIP)
- Linux Aarch64
- macOS Aarch64
- Windows i686 (WIP)
- Linux i686 (WIP)
- FreeBSD
- Haiku
- The exact MSRV is unknown (feel free to find out for yourselves).
- However, at least Rust 1.78.0 is required.
There are many ways you can help me out! I'm open to any contribution:
- Find and report bugs or issues
- Give feedback about how this launcher could be improved
- Fix any typos or mistakes in anything (english isn't my first language)
- Most importantly, share this launcher with your friends!
- Well... write code. Add stuff. Don't worry about "quality" or fancy terms like that. This ain't the linux kernel, I'm here with you!
- Write documentation. See a public function, module, struct, enum, whatever
that could help with some
///
doc comment? Go ahead! - Contribute to the website (repo: https://github.com/Mrmayman/Mrmayman.github.io)
- Work on CI (github actions)
There's a more in-depth guide on the codebase in main.rs at the top.
This section will mainly focus on what the codebase is like for any potential contributors.
quantum_launcher
- The GUI frontendql_instances
- Instance management, updating and launchingql_mod_manager
- Mod management and installationql_servers
- A self-hosted server management system (incomplete)
ql_core
- Core utilities and shared codeql_reqwest
- A shim (wrapper) around the reqwest library, that automatically deals with platform-specific features in the Cargo.toml.
ql_java_handler
- A library to auto-install and provide java runtimes
The architecture of the launcher is based on the Model-View-Controller pattern (AKA the thing used in iced).
- The
Launcher
struct is the main controller of the application. view()
renders the app's view based on the current state.update()
processes messages and updates the state accordingly.- The
launcher_state::State
enum determines which menu is currently open.
So it's a back-and-forth between Message
s coming from interaction,
and code to deal with the messages in update()
.
I tend to be loose, for better or for worse, when it comes to using comments. Have something complicated-looking that could be better explained? Add comments. Clippy bugging you about not documenting something? Add doc comments.
The only rule of thumb is: Do it well or don't do it.
Half-baked useless comments are worse than no comments (yes I'm guilty of this sometimes).
Heck, feel free to make it informal if that seems better.
(maybe add a WTF:
tag so people can search for it for fun).
Btw, if you have any questions, feel free to ask me on discord!
- Mrmayman (lead developer)
- apicalshark (github CI, packaging, distribution)
- Aurlt (@exsclt_35289 on Discord) (icon design)
A lot of this launcher's design, including the code for creating and launching the game, and installing forge, is inspired by https://github.com/alexivkin/minecraft-launcher/.
Nearly all of this launcher is licensed under the GNU General Public License v3, however there are a few exceptions (such as github actions and assets). Visit the assets README for more information.
If you pirate the game, it's at your own risk. I am not responsible for any issues caused. I recommend that you buy the game, but if you don't have the means, feel free to use this launcher. If anyone has any issues/complaints, just open an issue in the repo.