Install Crafty Controller on a KVM VPS
Complete tutorial to install Crafty Controller on a Lordhosting KVM VPS: a Pterodactyl alternative to manage your Minecraft Java and Bedrock servers.
Crafty Controller is an open-source web panel dedicated to managing Minecraft servers (Java, Bedrock, Forge, Paper, Spigot, etc.). Lighter than Pterodactyl and Minecraft-focused, it's ideal for hosting one or several servers from a single interface without configuring a separate daemon.
⚙️ Prerequisites
- A Lordhosting VPS (Debian 11/12 or Ubuntu 22.04/24.04 recommended)
- At least 2 GB of RAM dedicated to the panel (on top of the RAM allocated to your Minecraft servers)
- Port
8443available for the web interface - SSH access as
rootor asudouser
💡 If you haven't secured your VPS yet, follow our Secure a Linux VPS guide before this install.
⚙️ 1. SSH connection to the server
Connect to your VPS:
ssh root@your_ip
⚙️ 2. Update the system
apt update && apt upgrade -y
⚙️ 3. Install Docker
Crafty Controller is installed via Docker, which simplifies updates and isolation. Install Docker using the official script:
curl -fsSL https://get.docker.com | sh
Verify Docker is running:
docker --version
systemctl status docker
⚙️ 4. Create a folder for Crafty
We'll isolate persistent data (backups, servers, config) in a dedicated folder:
mkdir -p /opt/crafty
cd /opt/crafty
⚙️ 5. Run the Crafty Controller container
Pull and start the latest stable image:
docker run -d \
--name crafty_4 \
--restart=always \
-e TZ=Europe/Paris \
-p 8443:8443 \
-p 8123:8123 \
-p 19132:19132/udp \
-p 25500-25600:25500-25600 \
-v /opt/crafty/backups:/crafty/backups \
-v /opt/crafty/logs:/crafty/logs \
-v /opt/crafty/servers:/crafty/servers \
-v /opt/crafty/config:/crafty/app/config \
-v /opt/crafty/import:/crafty/import \
registry.gitlab.com/crafty-controller/crafty-4:latest
Port breakdown:
8443: panel HTTPS web interface8123: DynMap (Minecraft web map)19132/udp: Minecraft Bedrock25500-25600: range reserved for Minecraft Java servers created from the panel
⚙️ 6. Open ports in UFW
If you enabled UFW (recommended):
ufw allow 8443/tcp
ufw allow 8123/tcp
ufw allow 19132/udp
ufw allow 25500:25600/tcp
⚙️ 7. Retrieve the admin password
On first boot, Crafty generates a random password for the admin user. Retrieve it:
docker logs crafty_4 | grep "password"
Write this password down — it's only displayed once.
⚙️ 8. Access the panel
Open your browser and go to:
https://your_ip:8443
Accept the SSL warning (self-signed certificate) and log in with:
- Username:
admin - Password: the one retrieved in the previous step
Change the password immediately under Panel Config → Users.
⚙️ 9. Create your first Minecraft server
From the dashboard:
- Click Create New Server
- Choose the type (Java Vanilla, Paper, Forge, Bedrock, etc.)
- Select the version
- Set the allocated RAM and port
- Accept the Minecraft EULA
- Launch the server in one click
⚙️ Updating Crafty Controller
To update to the latest stable version:
docker pull registry.gitlab.com/crafty-controller/crafty-4:latest
docker stop crafty_4
docker rm crafty_4
Then re-run the docker run command from step 5. Your data in /opt/crafty/ is preserved thanks to the mounted volumes.
⚙️ Crafty vs Pterodactyl
| Criteria | Crafty Controller | Pterodactyl |
|---|---|---|
| Specialization | Minecraft only | Multi-game (Minecraft, FiveM, Rust, etc.) |
| Installation | 1 Docker container | Panel + separate Wings daemon |
| Panel RAM | ~500 MB | ~1 GB |
| Multi-node | No | Yes |
| Best for | Simple Minecraft networks | Multi-game / multi-machine setups |
If you only manage Minecraft servers, Crafty is faster to deploy. For multi-game or multi-machine infrastructure, prefer Pterodactyl.

