Flytower documentation

Flytower is a web panel for running Minecraft servers on your own VPS. You install it once, then create and look after servers from the browser. You sign in with a passkey.

These pages are also in the panel itself, for the version you have installed: Help in the sidebar, the ? at the top of each page for the page you're on, and Ctrlk to search them.

Getting started

Running servers

  • Mods, plugins and datapacks: Modrinth, Hangar, Vanilla Tweaks, and your own files.
  • Backups: schedules, retention, restoring, off-site copies, and past worlds.
  • Addresses and DNS: giving each server its own hostname.
  • Public status page: a page anyone can open, with the address, whether it's up and who's on.
  • Scheduled tasks: restarts with an in-game countdown, console commands and announcements.
  • Crashes: crash reports, crash loops, and servers that stop responding.
  • Player stats: leaderboards for playtime, deaths, kills, distance and blocks mined, and leaving players out.
  • Notifications: Discord, ntfy and JSON webhooks for crashes, failed backups, a filling disk, updates and players.
  • Discord app: slash commands like /status and /players in your Discord server.
  • Web map: a map of the world in the browser, drawn by Flytower, with players on it.
  • Server YAML reference: every field of a server spec.

Looking after the machine

  • Branding: your own name, colours, font, logo and favicon.
  • Disk space: where the space has gone, warnings at 85% and 95%, and freeing some up.
  • Updating Flytower: self-update, going back, update badges, and upgrading old installs.
  • Troubleshooting: logs, SSH, and getting the panel itself back.

How it fits together

  • The panel (flytower-panel) is the web app. It runs as the unprivileged flytower user and listens only on 127.0.0.1:3000. Caddy puts it on HTTPS.
  • The agent (flytower-agent) is a small root helper. It does a fixed list of jobs over a Unix socket: creating server users and folders, managing systemd units, installing Java, opening ports, and updating Flytower.
  • Each server runs as its own user (mc-<name>) from /srv/flytower/servers/<name>, under systemd (flytower-mc@<name>), with a fixed memory limit. Its folder is an ordinary Minecraft server folder that still runs without Flytower.
Suggest a change on GitHub