Crafty Controller 4 is a web interface for running and managing Minecraft servers. This guide uses Crafty's official Linux installer and its default installation layout.
The installer creates these resources:
crafty account without administrative access/var/opt/minecraft/crafty/var/opt/minecraft/crafty/.venv/etc/systemd/system/crafty.serviceDo not run Crafty as root or add the crafty account to the sudo group.
Update Ubuntu and install Git:
sudo apt update
sudo apt upgrade -y
sudo apt install -y git
Clone the official Crafty 4 installer:
git clone https://gitlab.com/crafty-controller/crafty-installer-4.0.git
cd crafty-installer-4.0
Run the installer:
sudo ./install_crafty.sh
Use /var/opt/minecraft/crafty as the installation directory. Allow the installer to create the crafty service account and the systemd service.
Confirm that the account, repository, virtual environment, and service runner exist:
getent passwd crafty
sudo -u crafty test -d /var/opt/minecraft/crafty/crafty-4
sudo -u crafty test -x /var/opt/minecraft/crafty/.venv/bin/python3
sudo -u crafty test -x /var/opt/minecraft/crafty/run_crafty_service.sh
The official installer uses .venv. The older venv path does not match the current installer.
The official installer generates this unit for the default installation path:
[Unit]
Description=Crafty 4
After=network.target
[Service]
Type=simple
User=crafty
WorkingDirectory=/var/opt/minecraft/crafty
ExecStart=/usr/bin/bash /var/opt/minecraft/crafty/run_crafty_service.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
The service starts this generated script:
#!/bin/bash
cd /var/opt/minecraft/crafty
source .venv/bin/activate
cd crafty-4
python3 main.py -d
Compare the installed files with the expected configuration:
sudo systemctl cat crafty.service
sudo cat /var/opt/minecraft/crafty/run_crafty_service.sh
Reload systemd, enable Crafty at boot, and start it now:
sudo systemctl daemon-reload
sudo systemctl enable --now crafty.service
Check the service:
sudo systemctl status crafty.service
sudo journalctl -u crafty.service -n 100 --no-pager
Open the following address in a browser. Replace <server-ip> with the server's IP address:
https://<server-ip>:8443
Crafty uses a self-signed certificate by default, so the browser may show a certificate warning. Read the generated administrator credentials from the server:
sudo cat /var/opt/minecraft/crafty/crafty-4/app/config/default-creds.txt
Change the generated password after the first login.
The installer creates an update script in the installation directory. Stop the service, run the update as the crafty account, and start the service again:
sudo systemctl stop crafty.service
sudo -u crafty /var/opt/minecraft/crafty/update_crafty.sh
sudo systemctl start crafty.service
Crafty uses HTTPS and WebSockets on port 8443. If you expose the dashboard through a reverse proxy, follow Crafty's current reverse-proxy examples and restrict access with a firewall, VPN, or another access-control layer.
For more installation and troubleshooting details, see the official Linux installation guide.