Are you sick of searching for hours for a Linux Minecraft server manager, only to find complex Docker setups or fragile Python scripts? Me too.
I wanted something simple: an intuitive GUI to manage my world, auto-install mods, handle updates, and keep backups so I never lose progress. No more difficult configs. No more waiting 30 seconds for a modded world to load.
You've found it.
This tool is built in Rust for maximum performance and memory safety.
- Speed: Load worlds with 300+ mods in 5 seconds, not 30.
- Simplicity: No bloated dependencies. One command and the window opens.
- Reliability: You set one memory number; the kernel enforces it. No more random out-of-memory crashes taking the world down with them.
It's as simple as it gets. Clone the repo and run:
git clone https://github.com/Aineasg/minecraft-server-manager
cd minecraft-server-manager
./install.shThat's it. It grabs the build and runtime dependencies with your package manager
(asks for sudo once, just for that), compiles a release binary, and drops it
plus a menu entry into ~/.local. Then launch Minecraft Server Manager from
your app menu.
No hidden config files, no daemon to set up. ./install.sh --uninstall removes
everything — your worlds and settings are never touched.
What you'll need: the script pulls in GTK 4 + libadwaita for you. You also
want a JRE (Java 21+ for modern Minecraft), tar with --zstd plus the
zstd binary, and systemd --user for the hard memory cap (without it the
server still runs, the ceiling just becomes a suggestion).
On Arch you can also build a proper package: cd packaging && makepkg -si.
Just want to try it without installing anything? cargo run --release -p mcsm-gui.
- Dashboard — start/stop/restart, a live console you can type commands into, a real-time memory meter for the whole process tree, and auto-restart (which stays out of the way after an out-of-memory kill).
- Mods — search Modrinth for server-side Fabric mods that match your version, install them with their dependencies pulled in automatically, enable/disable without deleting, and check the whole folder for updates at once. Jars you dropped in by hand are recognised too.
- Properties — a proper form for
server.propertiesthat keeps your comments and ordering, a raw section for anything exotic, and a World (level.dat) group that flips hardcore, difficulty, and difficulty-lock on a world that's already generated. - Player access — ops, whitelist, and bans. Applied live as console commands while the server runs, written to JSON when it's stopped.
- Backups —
tar --zstdsnapshots of the world, on a schedule with a retention count, plus one-click restore and delete. A running server gets asave-allflush first. They land in your Documents folder by default, so deleting the app never costs you a world. - Files — a plain-text editor for anything under the data folder.
- Settings — install a Minecraft + Fabric version (no separate Fabric-installer step), set the memory budget and GC flags, point at your Java, accept the EULA, choose the backup folder.
Everything sits in one folder:
- run from a cloned repo → it's
./data/inside the checkout - installed → it's
~/.local/share/MinecraftServerManager/ - or set
MCSM_ROOT=/some/pathto put it wherever you like
<root>/
├── state.toml your settings (plain text, editable by hand)
├── server/ jars, world, mods/, config/, ops.json, whitelist.json, …
│ └── logs/ the server's own logs, written by Java
├── cache/ downloaded jars, reused across reinstalls
└── logs/ reserved for an app log; nothing writes here yet
Backups are the exception — they go to
~/Documents/Minecraft Server Manager Backups/ so a deleted app folder never
takes a world with it. Change that in Settings → Backups.
- Settings → pick a Minecraft version and Fabric loader → Install.
- Settings → accept the Minecraft EULA.
- Set the memory ceiling if 9 GiB isn't right for your machine.
- Dashboard → Start.
Run MCSM_LOG=debug mcsm if you want verbose logs.
- ✅ Fabric (fully supported)
Want Purpur, Spigot, or Paper? I play daily, so this gets regular updates based on real use. If you need another loader, open an issue and ask — I'll add it.
cargo fmt --all
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace # unit tests, no networkcrates/mcsm-core is all the logic with no GTK anywhere in it; crates/mcsm-gui
is a thin Relm4 layer, one module per page. DESIGN.md explains why
things are the way they are; CONTRIBUTING.md has the rest.
GNU Affero General Public License v3.0 or later. Free software, no warranty. If you hand out a modified version — or run one as a network service for other people — your changes have to be AGPL too.
Built by Aineasg for Linux users who value their time.






