Manual installation of Crafty Controller on FreeBSD. Crafty Controller is a free and open-source Minecraft launcher and manager.
This document is aiming to provide a complete production ready setup.
You can use a dedicated machine or a jail for Crafty Controller. Jails allow keeping applications separated so you never run into dependency conflicts of packages.
This guide assumes you are working from a root shell. No sudo for each command as seems to be preferred in Debian or Ubuntu based howtos, because sudo is not part of the FreeBSD base system. Use SSH login to root (following Ubuntu and setting PermitRootLogin prohibit-password for that) or use su - or sudo -s as preferred.
- Make sure DNS and NTP are configured correctly and working.
- Make sure
procfs(4)andlinprocfs(4)are mounted.
mkdir -p /usr/local/etc/pkg/repos
echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' >/usr/local/etc/pkg/repos/FreeBSD.conf
pkg upgrade -y
pkg autoremove -ypkg install python3 py311-pip py311-sqlite3 py311-supervisor openjdk25 bash git-tiny rustpw useradd -n crafty -d /var/games/minecraft -s /usr/local/bin/bash -msu - crafty
python3 -m venv .venv
. .venv/bin/activategit clone https://gitlab.com/crafty-controller/crafty-4.git crafty
cd crafty
pip3 install --no-cache-dir -r requirements.txt
pip install --upgrade pip
mkdir /var/games/minecraft/serversCtrl-Dcat <<EOF >>/usr/local/etc/supervisord.conf
[program:crafty]
command=/var/games/minecraft/.venv/bin/python3 main.py -d
directory=/var/games/minecraft/crafty
user=crafty
environment=TZ="Europe/Berlin",PATH="/usr/local/bin:/usr/bin:/bin"
EOFAdjust time zone as you see fit.
sysrc supervisord_enable="YES"
service supervisord startsupervisorctl statuscat /var/games/minecraft/crafty/app/config/default-creds.txtCongratulations! Installation is done!
- Open
https://<ip of your server>:8443in your browser bypassing the TLS certificate warning - Use the credentials from the last step to log in
- Click on Panel Settings in the left hand menu, change the Global Servers Directory from
/var/games/minecraft/craftyto/var/games/minecraftand click Submit
That's it! Happy minecrafting!
The dashboard will notify you of updates to Crafty Controller. If a new version is available follow these steps to update.
Starting logged in as root do:
su - crafty. .venv/bin/activatecd crafty
git reset --hard origin/master
git fetch && git pullpip3 install -r requirements.txt --no-cache-dirCtrl-Dsupervisorctl restart craftyIf for any reason e.g. during an update your virtual Python environment seems broken (errors like pip3: command not found) you can recreate it at any time this way:
As the crafty user
cd
rm -r .venv
python3 -m venv .venvThis should rarely be necessary.
EOF