Skip to content
Warcon
Open source, MIT Bun · SvelteKit · Postgres Docker Compose

RCON for WARDOGS, without handing out the password.

Warcon is a self-hosted panel for WARDOGS dedicated servers. Run your servers from one place, give each admin their own login and role, and keep a record of what happens. The RCON password stays encrypted on the server, so your admins never need to see it.

Use it at console.warcon.app, or run your own copy with docker compose up. It is the same open source panel either way.

Warcon server overview showing team scores, map details and match control for a WARDOGS server

Taken against the built-in demo server, so the numbers are synthetic.

The problem

The official web console calls the game server straight from the browser over plain HTTP. That means it cannot be served over HTTPS, and every admin needs the RCON password.

What Warcon does instead

Warcon makes those calls from the server side. The password is stored encrypted with AES-GCM, admins sign in with their own accounts, and each action is checked against their role first.

And it writes it down

An audit row is written before the reply goes back: who did what, on which server, to whom, and whether the game accepted it.

Features

For clans and communities, with one server or several.

01

Your servers in one place

Add each WARDOGS server you run, each with its own encrypted RCON password. A worker process watches them, and pages update live while you have them open.

02

Accounts, not a shared password

Each clan or community is an organisation with its own servers and members. Invite links sign people in with Discord or Steam, and passkeys and authenticator apps are supported. Roles are per server, and you can edit them or add your own.

03

An audit trail

Logins, user and server changes, and game commands, with who did it, the target, the outcome and how long it took. Filter it, export it as CSV or JSON, and read the game server’s own log beside it.

04

Analytics and match history

The game keeps little history, so the worker records it: players online over time, uptime, time per map, busiest hours, sessions and playtime, and each match with its scoreboard. Leaderboards can be made public per server.

05

Player history and notes

Open a player to see their sessions, the names they have used and the actions taken on them across your servers, with shared notes and a watchlist. The optional risk score is only a hint: RCON shows no aim, position or input, so it cannot detect cheating.

06

Automation you can dry-run

Welcome whispers, scheduled broadcasts, a map reset when the server empties, kick-on-connect rules and a name filter. You can try each rule against the last 24 hours before switching it on, and everything it does is logged.

07

Bans and reserved slots across servers

Keep one ban list and one reserved-slot list for the organisation, with reasons and expiry dates, and the worker applies them on each of your servers.

08

Discord

Post chosen audit events to a channel, get told when a watched player joins, or keep a live status card for each server that updates in place.

09

The official console’s controls

Status and scoreboard, kick, ban, kill, whisper, change team, broadcasts, map and match control, rotation editing, reserved slots, score tick, sponsor image, and ServerSettings.ini with validate and apply.

How it works

Warcon sits between your admins and the game.

The web app serves the pages and holds the sessions. A separate worker process makes the calls to each game server’s RCON listener, checks each server every second or two while it is busy and less often when it is empty, and records what the game does not keep. It is all stored in Postgres; on TimescaleDB, older samples are compressed.

Run it beside the game server, on a VPS, or on a container host. It only needs to reach the RCON port, directly, over a private network, or through a TLS proxy on the game host.

Browser
Admins sign in
HTTPS ▸
Warcon
Web · worker · audit
HTTP ▸
Game server
:7776 WDRCON
Postgres
users · servers · audit · samples · matches

The protocol was reverse-engineered from the official console and is documented in the repository. A game update can change it, so something may break until Warcon catches up.

Self-host

Docker Compose and one file to edit.

Docker Compose starts the web app, the worker and a TimescaleDB database, and applies migrations first. Open the URL, create the owner account, add a server, and send your admins an invite link. A built-in demo server lets you look around before you enter a real password.

  1. 1A machine with Docker: a cheap VPS, a spare PC, or the game server box itself.
  2. 2Your server’s host, RCON port (usually 7776) and RCON password.
  3. 3Optional: Caddy, nginx, Traefik or a Cloudflare Tunnel in front for HTTPS.
Terminal
git clone https://github.com/warcon-app/warcon.git warcon && cd warcon
cp .env.example .env
# set BETTER_AUTH_SECRET, ENCRYPTION_KEY and RELAY_SECRET to `openssl rand -base64 32` values,
# POSTGRES_PASSWORD, and ORIGIN to the URL people will open
docker compose up -d
Roles

Give each admin what they need.

Roles are per server, so a member can be admin on one server and viewer on another. Each organisation starts with the three roles below. Its owners can change what each one allows, or add their own, such as a trial role that can kick but not ban.

Actionsvieweroperatoradminorg owner
Status, players, kills, rotation, bans and reserved slots, analytics, leaderboards, player stats✓✓✓✓
Broadcast, whisper, kick, kill, change team, match and map control, live rotation edits, player notes and the watchlist·✓✓✓
Bans, reserved slots, the organisation’s ban and reserved-slot lists, saving the rotation, config and settings, automation, everyone’s audit trail and the server log, raw RCON··✓✓
Servers, members, roles, invite links and Discord webhooks; the organisation’s audit trail···✓