Crafty Controller
Web-based Minecraft server management panel
Crafty Controller is a free, open-source web-based control panel for managing Minecraft servers. It supports multiple server types, scheduling, backups, and role-based access.
Key features
- Manage many Minecraft servers
- Scheduled tasks and backups
- Role-based user access
- Built-in server installer
Pros & cons
Strengths
- Supports many server flavors
- Friendly web UI
Trade-offs
- Minecraft-specific
- Java memory tuning required
Crafty Controller replaces
Last reviewed Sep 13, 2026 · 870 words
Budget 1 GB for Crafty Controller itself and then 2 to 4 GB per Minecraft server on top of that, and most of the questions in its support channels stop applying to you. The panel is a Python application that is light on its own; it is the Java processes it launches that eat memory, and a panel that makes spinning up a fifth server a two-click affair makes it very easy to oversubscribe an 8 GB box. Get the arithmetic right and Crafty is the most pleasant way I know to run a few Minecraft servers for a family or a small community.
Minecraft-only is a feature
Crafty has no ambition beyond Minecraft, and it shows in the good way. The built-in installer downloads vanilla, Paper, Forge, Fabric and Bedrock servers by version, writes the EULA file for you, and sets sensible start flags. Importing an existing server is a matter of pointing at its folder. Every screen assumes a Minecraft world: the console understands server output, the player list is a first-class panel, and the scheduler has "restart with a warning countdown in chat" as a stock action. A general panel like PufferPanel approximates all of this through templates; Crafty just knows.
That focus is also the limit. If someone in the Discord wants a Valheim server next month, Crafty cannot help, and you will end up running a second panel.
The first login trap: HTTPS on 8443 and a generated password
Crafty serves its interface over HTTPS on port 8443 with a self-signed certificate out of the box, and the first admin password is generated, not chosen. In the container it is written to default-creds.txt inside the config directory. Both facts trip people on the first evening: the browser warning gets mistaken for a broken install, and the password gets hunted for in the logs. Read the file, log in, change the password, and delete the file. The official compose looks like this:
services:
crafty:
image: registry.gitlab.com/crafty-controller/crafty-4:latest
ports:
- "8443:8443"
- "25500-25600:25500-25600"
volumes:
- ./backups:/crafty/backups
- ./logs:/crafty/logs
- ./servers:/crafty/servers
- ./config:/crafty/app/config
- ./import:/crafty/import
restart: unless-stopped
The port range is for the game servers themselves; Crafty assigns each new server a port and you expose the range once. Note the repository lives on GitLab, not GitHub, which is why the image comes from registry.gitlab.com.
Backups and schedules are the reason to run a panel at all
A Minecraft server is a folder and a Java command. The panel earns its keep with the things you would otherwise script badly: scheduled backups with retention counts, scheduled restarts, crash detection with automatic restart, and a role system so the teenager who administers the survival world cannot delete the creative one. Backups are zip files of the server directory, written to the backups volume; ship that volume somewhere else, because a backup on the same disk as the world is a copy, not a backup.
Roles matter more than they sound. Crafty's users get per-server permissions for console, files, backups and scheduling, so handing out access to friends does not mean handing out the panel.
Java memory: the setting that decides whether your server stutters
Each server has a minimum and maximum heap in its settings. Two rules. First, the maximum should leave room for the operating system and the panel: on an 8 GB machine, two servers at 3 GB each is the ceiling, not three. Second, do not set the heap far larger than the world needs; a huge heap makes garbage collection pauses longer, which players feel as lag spikes. A vanilla or Paper server for 5 to 10 players is happy at 2 to 3 GB. Modded Forge packs want 4 to 6 GB and are the reason a panel box grows to 16 GB. Crafty exposes the JVM flags, so adding the widely used Aikar garbage-collection flags for Paper is a paste job rather than a research project.
Where Pterodactyl, PufferPanel and plain Docker beat it
Pterodactyl is the bigger project by an order of magnitude and the right choice if you host many games, many nodes or other people's servers, at the price of a MySQL and Redis stack and a separate daemon. PufferPanel is the lighter multi-game option. And if you run exactly one Minecraft server, a single well-known container image with a compose file and a cron backup is less to maintain than any panel, and I would not add Crafty for one world.
What I'd do
Two or more Minecraft servers for people you know: Crafty, in the container, behind a reverse proxy with a real certificate so the 8443 warning goes away, with the backups volume synced off-box nightly. Set each server's maximum heap deliberately, write the total down, and keep it at least 2 GB under the machine's RAM. It is a GPL-3.0 project that has been around since 2018 with a friendly community, and it replaces Minecraft Realms for the price of the electricity.
Similar game engines & frameworks apps
PixiJS
Game Engines & FrameworksFast 2D WebGL rendering engine for browser games
Replaces Adobe Animate runtime
Phaser
Game Engines & FrameworksFast HTML5 game framework for browser games you host yourself
Replaces Construct, GameMaker
OpenRA
Game Engines & FrameworksOpen-source remake of classic RTS games
Replaces Command & Conquer, Red Alert
PlayCanvas Engine
Game Engines & FrameworksOpen-source WebGL game engine for 3D browser games
Replaces Unity WebGL
openage
Game Engines & FrameworksOpen-source engine reimplementation of Age of Empires II
Replaces Age of Empires II original engine
Retroarch Web Player
Game Engines & FrameworksEmulate videogames system and play videogames through your web browser