A Rust server panel you host yourself

Zelie is a self-hosted Rust server panel. It creates the server from the Pelican egg, opens its four ports, generates a strong RCON password, tracks new Steam builds and lets you edit plugin files in the browser.

A C# plugin open in Zelie’s code editor, with coloured code

The four Rust ports, chosen per use

A Rust server listens on four ports: the game’s, the query, RCON and the companion app that Rust+ uses. Zelie takes them from the pool of ports you set up once, and you decide which port of the pool each use gets, when you create the server and later on the Network tab.

Zelie forwards the ports to the container, allows them in ufw when it is on and closes them when the server is deleted. The Server page shows the address players connect to.

An RCON password nobody had to invent

RCON gives full control of the server, and many servers run with a short password copied from a guide. If the egg leaves the RCON password empty or sets a placeholder such as changeme, Zelie fills in a long random value when the server is made. The password players join with is left as the egg has it.

The panel is protected the same way: every administrator needs a passkey or an authenticator app, and SFTP never accepts an account’s own password.

Editing Oxide and uMod plugins in the browser

Rust plugins for Oxide (uMod) are single C# files. Upload them to the server’s plugin folder with the file manager or over SFTP, then open them in the editor. C# is coloured as you type, and so are JavaScript, TypeScript, Lua, JSON, YAML and config files.

Oxide’s own config and data files are JSON. When one has a mistake, the editor marks it in red with the line and the reason above the file, before you save it. Whether the server has Oxide installed depends on the egg you use, so check its variables on the Startup tab.

A JSON config in the editor with a mistake marked in red and the line number shown

Steam build tracking and updates when nobody is playing

Rust updates often, and a server on an old build stops players with a newer client from joining. Zelie asks Steam once an hour which build is the latest and shows on the server’s page when it is behind.

If you let it, Zelie updates the game when nobody is playing. An update takes a backup first, so you can go back if a new build breaks a plugin.

World size, seed and a custom map

The egg’s variables are on the Startup tab, checked against the egg’s own rules and used on the next start. In the Rust egg they include settings such as the world size and seed, and the address of a custom map. Some eggs lock variables, and the lock holds for users who are not administrators.

A game server’s Startup page with the Unsaved changes bar showing Undo, Reset and Save

Every settings form has a bar with Save, Reset and Undo as soon as something changes, so a wrong value is easy to take back.

How much memory and disk Rust needs

The game files alone are about 10 GB, and the server holds the whole map in memory. Zelie suggests 8 GB of memory and 30 GB of disk when you create a Rust server. Both can be changed later on the Settings tab.

That is a lot for a small VPS. If the machine also runs other servers, add up what they ask for before you start them all.

Backups and schedules

Backups of the server’s files run on a schedule, encrypted on the server, with a copy in any S3-compatible storage. Schedules can also run console commands, restarts and backups at cron times, one task after another.

A status note, since Rust servers are often public. Zelie is in early development. Rust and the Steam update check have so far run against stand-ins in Zelie’s tests, and the egg is checked automatically. Try it on a server you can afford to reset before you put a community on it.

Questions

Does Zelie support Oxide or uMod plugins?

Zelie runs the Rust egg, and Oxide plugins are C# files in the server’s folder. You can upload them, edit them in the browser and keep them in backups. Installing Oxide itself depends on the egg’s variables.

Which ports does a Rust server need?

Four: the game port, the query port, the RCON port and the port of the Rust+ companion app. Zelie opens the ones you choose and closes them again when you delete the server.

How much RAM does a Rust server need?

Zelie suggests 8 GB of memory and 30 GB of disk. The server holds the whole map in memory, so a bigger world needs more.

Can Zelie wipe the server on a schedule?

Not yet. Schedules can run console commands, power actions and backups. A wipe scheduler is 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.