FEATURES

Every feature you need to run a fleet of game servers

From provisioning to backups, RBAC to observability — a closer look at how each piece works.

Kubernetes-native by design

Eight purpose-built Custom Resource Definitions — GameServer, GameTemplate, Cluster, Backup, BackupSchedule, Restore, Module, and ModuleSource — are reconciled by a single controller-runtime operator. Whether you create a server through the dashboard or with kubectl apply, the outcome is identical: the operator is the single source of truth.

Scales from homelab to production

The exact same CRDs, controllers, and Helm chart that run on a single-node k3s homelab also run on a multi-node production cluster. There's no separate 'production mode' to migrate to — StatefulSets, PVCs, and rolling upgrades from day one.

Live console & RCON

An in-pod agent sidecar streams the console over WebSocket and speaks each game's native protocol — Source RCON, telnet, Rust WebRcon, BattlEye, or a REST admin API — no SSH, no kubectl exec required.

In-browser file manager

Browse, edit, upload, and download files on a running server's data volume straight from the dashboard, with a full Monaco editor — the same engine behind VS Code — for config files, scripts, and datapacks.

Backups & one-click restore

Scheduled or on-demand snapshots are pushed to any S3-compatible storage backend using restic, giving you deduplicated, encrypted, incremental backups. Restoring is a single click from the dashboard's Backups tab.

Game module system

Game server templates are versioned, signed OCI bundles — the same distribution model as container images. Sixteen games ship out of the box, and the open template format supports any game with a config file and a start command.

RBAC + OIDC auth

Authenticate with local accounts or federate through OIDC — Keycloak, Google, or GitHub. Three built-in roles (admin, operator, viewer) scope access per namespace, so a shared cluster can host multiple teams safely.

Audit logging & observability

Every mutating API request is logged to the database and exportable as CSV or JSON, with optional mirroring to stdout, a webhook, or syslog. Fleet-wide Prometheus metrics and a bundled Grafana dashboard come from the same install.

Ready to try it in your own cluster?

GitHubDemo