Aller au contenu
Warcon
Open source, MIT Bun · SvelteKit · Postgres Docker Compose

RCON pour WARDOGS, sans distribuer le mot de passe.

Warcon est un panneau auto-hébergé pour les serveurs dédiés WARDOGS. Gérez tous vos serveurs depuis un seul endroit, donnez à chaque admin son propre identifiant et son propre rôle, et gardez une trace de tout ce qui se passe. Le mot de passe RCON reste chiffré sur le serveur. Personne n’a besoin de le connaître.

Utilisez-le sur console.warcon.app, ou faites tourner votre propre copie avec un simple docker compose up. Le même panneau open source dans les deux cas.

Vue d’ensemble d’un serveur dans Warcon avec les scores des équipes, le contrôle du match et le tableau des scores d’un serveur WARDOGS

Capture faite sur le serveur de démo intégré : les chiffres sont fictifs.

Le problème

La console web officielle appelle le serveur de jeu depuis le navigateur en HTTP non chiffré. Elle ne peut pas être hébergée en HTTPS, et chaque admin doit recevoir le mot de passe RCON en clair.

Ce que Warcon fait à la place

Warcon parle au serveur de jeu depuis son propre processus. Il garde le mot de passe côté serveur sous AES-GCM, connecte les admins avec leurs propres comptes et vérifie le rôle avant chaque action.

Et il garde une trace de tout

Une ligne d’audit est écrite avant l’envoi de la réponse. Qui a fait quoi, sur quel serveur, depuis où, et si le jeu l’a accepté.

Fonctionnalités

Conçu pour ceux qui gèrent plus d’un serveur.

01

Tous les serveurs au même endroit

Ajoutez autant de serveurs WARDOGS que vous en gérez. Chacun garde son propre mot de passe RCON chiffré, et le tableau de bord les affiche tous en direct.

02

Des comptes, pas un mot de passe partagé

Un compte pour le propriétaire et un pour chaque membre, avec les rôles viewer, operator et admin par serveur. Réinitialisation de mot de passe, changement forcé, désactivation, révocation de session et limitation des tentatives de connexion. Connexion avec Discord en option.

03

Un journal d’audit complet

Chaque connexion, chaque modification d’utilisateur ou de serveur et chaque commande de jeu, avec l’auteur, la cible, le résultat, l’IP et la durée. Filtrez-le, exportez-le en CSV ou JSON et lisez à côté le journal du serveur de jeu lui-même.

04

Des statistiques que le jeu ne conserve pas

Un collecteur en arrière-plan échantillonne chaque serveur : joueurs en ligne dans le temps, disponibilité, temps par carte, heures de pointe, temps de jeu et sessions par joueur, historique des matchs avec résultats.

05

Tout ce que fait la console officielle

Statut et tableau des scores, kick, ban, kill, chuchotement, changement d’équipe, annonces, changement de carte et carte suivante, fin ou redémarrage du match, édition de la rotation, slots réservés, score tick, image du sponsor, et tout le ServerSettings.ini avec validation et application.

06

Testez-le avant de brancher un vrai serveur

Un serveur de démonstration intégré imite un vrai listener RCON WARDOGS : vous pouvez faire le tour de chaque écran sans saisir le moindre vrai mot de passe.

Fonctionnement

Un seul processus entre vos admins et le jeu.

Warcon sert les pages, tient les sessions et effectue les appels au listener RCON de chaque serveur de jeu. Un collecteur en arrière-plan échantillonne le statut et les joueurs à intervalle régulier et garde ce que le jeu ne conserve pas. Postgres stocke tout, avec la rétention TimescaleDB pour les échantillons quand elle est disponible.

Faites-le tourner à côté du serveur de jeu, sur n’importe quel VPS ou sur un hôte de conteneurs. Il lui suffit d’atteindre le port RCON : directement, via un réseau privé ou à travers un proxy TLS sur la machine de jeu.

Navigateur
Les admins se connectent
HTTPS ▸
Warcon
Sessions · rôles · audit · collecteur
HTTP ▸
Serveur de jeu
:7776 WDRCON
Postgres
utilisateurs · serveurs · audit · échantillons · matchs

Le protocole a été reconstitué par rétro-ingénierie à partir de la console officielle et est documenté dans le dépôt.

Auto-héberger

Deux conteneurs, un seul fichier à modifier.

Docker Compose démarre Warcon et une base TimescaleDB. Ouvrez l’URL, créez le compte propriétaire, ajoutez votre premier serveur et invitez vos admins. Les migrations s’exécutent au démarrage et la base vit dans un volume nommé.

  1. 1Une machine avec Docker : un VPS bon marché, un vieux PC ou la machine du serveur de jeu elle-même.
  2. 2L’hôte, le port RCON (généralement 7776) et le mot de passe RCON de votre serveur.
  3. 3En option : Caddy, nginx, Traefik ou un Cloudflare Tunnel devant, pour le HTTPS.
Terminal
git clone https://github.com/warcon-app/warcon.git warcon && cd warcon
cp .env.example .env
# définissez BETTER_AUTH_SECRET et ENCRYPTION_KEY avec des valeurs de `openssl rand -base64 32`,
# POSTGRES_PASSWORD, et ORIGIN avec l’URL que les gens ouvriront
docker compose up -d
Rôles

Donnez à chaque admin exactement ce dont il a besoin.

Les rôles sont définis par serveur. Un membre peut être admin sur un serveur et viewer sur un autre. Le propriétaire (owner) gère les utilisateurs, les serveurs et les accès, et voit tout le journal d’audit.

Actionsvieweroperatoradminowner
Statut, joueurs, rotation, bans, slots réservés, configuration, journal du serveur, statistiques
Annonce, chuchotement, kick, kill, changement d’équipe, fin ou redémarrage du match, changement de carte, carte suivante, modifications de rotation en direct·
Ban et unban, slots réservés, score tick, enregistrement de la rotation, image du sponsor, application de la configuration, appels API bruts··
Gérer les utilisateurs, les serveurs et les accès ; voir tout le journal d’audit···