A game server panel for your own machine

Zelie is a self-hosted game server panel. It runs Minecraft, Rust, Valheim and other games from the same eggs that Pterodactyl and Pelican use, on one Linux server, with no Docker to install and no database to look after.

A Minecraft server’s live console in Zelie, with coloured log lines

What Zelie does for a game server

You pick a game, set memory, CPU, disk and ports, and Zelie installs it using the egg’s own install script. From then on the server has a page with everything you need to run it.

Console
Live output with colours, the last 500 lines when you open it, and a command line with history. Start, stop, restart and kill.
Files and editor
A file manager in the browser with upload by dragging, archives and a code editor that colours C#, JavaScript, Lua, JSON, YAML and config files.
SFTP
Log in with an SSH key or a password made for that one server. Your account password never works over SFTP.
Schedules
Cron times for console commands, power actions and backups, run in order.
Backups
The server’s files on a schedule, encrypted on the server, with a copy in any S3-compatible storage.
Steam updates
Zelie checks once an hour which build is the latest and can update the game when nobody is playing.
Ports
Choose which port of your pool each use gets. Zelie opens them in the firewall and closes them when the server is deleted.
Metrics
CPU, memory and network for each server, with usage in the header coloured so a server running hot stands out.

The games in the list

Zelie lists 21 games, taken from the Pelican egg repositories at a fixed commit that each Zelie release names. Every entry is downloaded and checked automatically on each change.

Minecraft (8)

  • Vanilla
  • Paper
  • Purpur
  • Fabric
  • Forge
  • NeoForge
  • Velocity
  • Bedrock

Survival and building (10)

  • Rust
  • Valheim
  • Palworld
  • ARK: Survival Ascended
  • 7 Days to Die
  • Project Zomboid
  • Enshrouded
  • V Rising
  • Sons of the Forest
  • Satisfactory

Shooters and sandbox (3)

  • Counter-Strike 2
  • Garry’s Mod
  • Squad

Any other egg works too. Paste the https address of an egg file, in the Pterodactyl or the Pelican format, and Zelie imports it.

A note on how far this has been proven. Zelie is in early development. Minecraft runs end to end in its automated tests. The other games are listed and their eggs are checked, but not every game has been played on a live server yet.

Two games have their own guides: the Minecraft server panel and the Rust server panel.

Ports, firewall and the address players use

Game servers take their ports from a pool you set up once, on one IP address or several. Each use has its own port: the game, the query port, RCON, and for Rust the companion app. You choose which port of the pool each one gets, when you create the server and later on the Network tab.

Zelie forwards the ports to the container with nftables and allows them in ufw when it is on. Players connect straight to the server, and game traffic never goes through a tunnel. The Server page shows the address players should use, found from the machine’s network cards.

Safer than the usual defaults

  • An RCON or admin password that the egg leaves empty, or sets to a placeholder such as changeme, gets a long random value when the server is made.
  • Every game server runs in its own container with its own user namespace. Nothing runs privileged.
  • The file manager cannot leave the server’s own folder, even through a symbolic link left in the volume.
  • Every administrator needs a passkey or an authenticator app to log in.

The architecture page explains how the panel, the core and the containers are kept apart.

Who it is for

Zelie suits a friend group that wants a Minecraft or Valheim server on a rented machine, and a small host that runs a handful of servers and wants them in one place. It also suits anyone who wants a website, its database and a game server on the same machine without three separate tools.

It does not fit everyone yet. Zelie manages one server, and only administrators can log in. Players cannot get their own limited login for a single game server, and one panel cannot run several machines. Both are on the list; several servers are planned as a paid edition.

How it compares with game-only panels

Pterodactyl and Pelican are made for game servers and do that well. They are mature, they manage many machines and they let you give players their own access. They also come as several parts: a PHP panel with a database, a web server and Redis, plus a daemon on each machine that uses Docker.

Zelie is one binary with its own containerd, and it runs apps and databases next to the game servers. If you need several machines or sub-users today, stay with Pterodactyl or Pelican. The Pterodactyl comparison goes through the differences in more detail.

Questions

Can I import my Pterodactyl egg?

Yes. Zelie reads eggs in the Pterodactyl and the Pelican format. Paste the https address of the egg file when you create a server.

Do I need Docker?

No. Zelie brings its own containerd and runs containers itself. If Docker is already on the machine, it can stay. Zelie never touches Docker’s containers or firewall rules.

Does it run next to Pelican or Wings?

Yes, on the same machine. Wings uses port 2022 for SFTP and Zelie uses 2222, so they do not clash by default. Both panels want ports 80 and 443 if you use a domain, so reach Zelie through a Cloudflare Tunnel or move the other web server off those ports. Give each panel its own range of game ports.

Is Zelie free?

Yes, on a single server, with no limit on game servers, apps or databases. It is open source under the AGPL. Managing several servers from one panel will be a paid edition.

Can my friends log in to manage one server?

Not yet. Only administrators can log in today, and each needs a passkey or an authenticator app. Users with permissions for a single game server are planned.

Install Zelie

Run this as root on a Debian or Ubuntu server. It checks the release’s signature, installs Zelie and asks how people will reach the panel.

curl -fsSL https://github.com/Caria-Core/zelie/releases/latest/download/install.sh | sh

Free on a single server. Read how the install works first if you want to know what it changes.