Tutorial

Zero to a running server

Start to finish, this takes about 15–20 minutes of actual waiting (mostly Docker pulling images) and maybe 10 minutes of clicking. Do the steps in order the first time through.

1

Check the prerequisites

You need an Ubuntu Server (22.04 or 24.04 LTS) with sudo access, and its IP address or hostname on your local network. Full details, including hardware guidance, are on the prerequisites page — worth a skim if this is your first time setting up a Linux server.

Don't have Ubuntu Server installed yet? Any machine works — an old PC, a mini-PC, or a VM — as long as it can stay on. You don't need a powerful machine for a small server (see Prerequisites for real numbers).
2

Install AnvilMC

SSH into your Ubuntu Server and run:

# over SSH, on the Ubuntu Server itself git clone https://github.com/TomCodes-sys/Anvil-MC.git cd AnvilMC sudo ./install.sh

By default this sets up all three dashboards — Installer, Mod Manager, and Server Manager — sharing one access token, so there's nothing else to install before you're looking at a working setup. (Answer "advanced" at the prompt instead if you'd rather add Mod Manager/Server Manager later yourself — see step 5 below.) At the end it prints a link with an access token baked in — something like:

http://192.168.1.50:8090/?token=xxxxxxxxxxxx

Open that link in a browser on the same network.

Note this link down now — bookmark it, paste it in a notes app, whatever works. It's only printed to your terminal this once.

Lost it later anyway? SSH back in and run this — it reprints the full, clickable links for all three dashboards using the server's current IP (which can change after a reboot) combined with the saved token (which doesn't):

sudo /etc/anvilmc/get-link.sh

One token unlocks all three dashboards. If you don't have terminal access either, every sign-in page accepts your regular Linux username/password as a fallback.

These dashboards can run root commands on your server. Don't port-forward ports 8090, 5151, or 6161 to the internet — keep everything LAN-only.
3

Click through the setup steps

Inside the Installer dashboard, run each step in order — each one is re-runnable if it fails partway:

  • Update system & configure firewall — opens the ports Anvil needs, re-enables SSH first so you can't get locked out
  • Install Docker — required for Crafty
  • Install Crafty Controller — your login details appear automatically once it's done
  • Install Cockpit (+ Explorer, built in) — a system admin panel and file manager, on port 9090

Once Crafty is up, open it (port 8443), click through the self-signed certificate warning (expected — it's your own server), and create your first Minecraft server from Crafty's own "Create a server" wizard.

4

Start your Minecraft server in Crafty

Pick a version and server type (Vanilla, Paper, Fabric, Forge, etc.), give it a name, and hit Create. Crafty downloads the server jar and sets everything up. Start it once to generate the world and the config files (server.properties, whitelist.json, and so on) that Anvil Mod Manager and Anvil Server Manager will both read.

5

Mod Manager and Server Manager

If you went with the default install, these are already running (ports 5151 and 6161) — same token as the Installer, nothing further to do. Open Mod Manager, and it opens straight to a "Connect Crafty Controller" screen with step-by-step instructions for generating an API token from your Crafty user profile (or click "Try Preview Mode" to explore with a demo server first, no token needed). Once connected, head to Server Setup and pick your server by name — its version/loader are auto-detected. Server Manager picks up the same Crafty connection automatically, so you only enter it once.

Went with advanced mode instead? Install either one any time from the Installer dashboard's own wizard — their code is already sitting in the same AnvilMC folder you cloned, so that step just sets up the service, no separate download.

7

Set up backups (seriously, do this one)

In Anvil Server Manager's Backups tab: pick a local path (an external/second disk is ideal) or an S3-compatible/Backblaze B2 bucket, set a repository password, and click "Initialize repository." Add /opt/crafty/servers as a source path, turn on scheduling, and click "Run backup now" once to confirm it works end to end.

While you're there, add a Discord webhook in Notifications so you hear about backup failures instead of finding out the hard way.

8

You're done — what to explore next

From here it's all optional extras: the RCON console for quick commands without opening Crafty, the Players tab for whitelist/ops/bans, and the Logs tab if a server ever crashes and you want a plain-English guess at why. Check the FAQ if anything comes up.

Ready to start?

Grab the Installer and follow along from step 2.

Download