Vos serveurs au même endroit
Ajoutez chaque serveur WARDOGS que vous gérez, chacun avec son propre mot de passe RCON chiffré. Un processus worker les surveille, et les pages se mettent à jour en direct tant que vous les avez ouvertes.
Warcon est un panneau auto-hébergé pour les serveurs dédiés WARDOGS. Gérez vos serveurs depuis un seul endroit, donnez à chaque admin son propre identifiant et son propre rôle, et gardez une trace de ce qui se passe. Le mot de passe RCON reste chiffré sur le serveur : vos admins n’ont jamais besoin de le voir.
Utilisez-le sur console.warcon.app, ou faites tourner votre propre copie avec docker compose up. C’est le même panneau open source dans les deux cas.
La console web officielle appelle le serveur de jeu directement depuis le navigateur en HTTP non chiffré. Elle ne peut donc pas être servie en HTTPS, et chaque admin a besoin du mot de passe RCON.
Warcon effectue ces appels côté serveur. Le mot de passe est stocké chiffré avec AES-GCM, les admins se connectent avec leurs propres comptes, et chaque action est d’abord vérifiée par rapport à leur rôle.
Une ligne d’audit est écrite avant le renvoi de la réponse : qui a fait quoi, sur quel serveur, à qui, et si le jeu l’a accepté.
Ajoutez chaque serveur WARDOGS que vous gérez, chacun avec son propre mot de passe RCON chiffré. Un processus worker les surveille, et les pages se mettent à jour en direct tant que vous les avez ouvertes.
Chaque clan ou communauté est une organisation avec ses propres serveurs et membres. Les liens d’invitation permettent de se connecter avec Discord ou Steam, et les clés d’accès (passkeys) comme les applications d’authentification sont prises en charge. Les rôles sont définis par serveur, et vous pouvez les modifier ou créer les vôtres.
Connexions, modifications d’utilisateurs et de serveurs, et commandes de jeu, avec l’auteur, la cible, le résultat 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.
Le jeu garde peu d’historique, alors le worker l’enregistre : joueurs en ligne dans le temps, disponibilité, temps par carte, heures de pointe, sessions et temps de jeu, et chaque match avec son tableau des scores. Les classements peuvent être rendus publics serveur par serveur.
Ouvrez la fiche d’un joueur pour voir ses sessions, les pseudos qu’il a utilisés et les actions qui l’ont visé sur vos serveurs, avec des notes partagées et une liste de surveillance. Le score de risque, optionnel, n’est qu’un indice : RCON ne donne ni la visée, ni la position, ni les entrées, la triche ne peut donc pas être détectée ainsi.
Messages de bienvenue en chuchotement, annonces programmées, réinitialisation de la carte quand le serveur se vide, règles de kick à la connexion et filtre de pseudos. Vous pouvez tester chaque règle sur les dernières 24 heures avant de l’activer, et tout ce qu’elle fait est journalisé.
Tenez une seule liste de bans et une seule liste de slots réservés pour l’organisation, avec motifs et dates d’expiration, et le worker les applique sur chacun de vos serveurs.
Publiez certains événements d’audit dans un salon, soyez prévenu quand un joueur surveillé se connecte, ou gardez pour chaque serveur une carte de statut en direct qui se met à jour dans le même message.
Statut et tableau des scores, kick, ban, kill, chuchotement, changement d’équipe, annonces, contrôle de la carte et du match, édition de la rotation, slots réservés, score tick, image du sponsor, et ServerSettings.ini avec validation et application.
L’application web sert les pages et tient les sessions. Un processus worker séparé effectue les appels au listener RCON de chaque serveur de jeu. Il interroge chaque serveur toutes les une à deux secondes quand il est actif, moins souvent quand il est vide, et enregistre ce que le jeu ne conserve pas. Les données sont stockées dans Postgres ; avec TimescaleDB, les échantillons plus anciens sont compressés.
Faites-le tourner à côté du serveur de jeu, sur un 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.
Le protocole a été reconstitué par rétro-ingénierie à partir de la console officielle et est documenté dans le dépôt. Une mise à jour du jeu peut le modifier, et certaines choses peuvent alors ne plus fonctionner le temps que Warcon s’adapte.
Docker Compose démarre l’application web, le worker et une base TimescaleDB, et applique d’abord les migrations. Ouvrez l’URL, créez le compte propriétaire, ajoutez un serveur et envoyez un lien d’invitation à vos admins. Un serveur de démo intégré vous permet de faire le tour avant de saisir un vrai mot de passe.
git clone https://github.com/warcon-app/warcon.git warcon && cd warcon
cp .env.example .env
# définissez BETTER_AUTH_SECRET, ENCRYPTION_KEY et RELAY_SECRET avec des valeurs de `openssl rand -base64 32`,
# POSTGRES_PASSWORD, et ORIGIN avec l’URL que les gens ouvriront
docker compose up -dLes rôles sont définis par serveur : un membre peut être admin sur un serveur et viewer sur un autre. Chaque organisation démarre avec les trois rôles ci-dessous. Ses propriétaires peuvent modifier ce que chacun autorise, ou ajouter les leurs, par exemple un rôle d’essai qui peut kicker mais pas bannir.
| Actions | viewer | operator | admin | org owner |
|---|---|---|---|---|
| Statut, joueurs, kills, rotation, bans et slots réservés, statistiques, classements, statistiques des joueurs | ✓ | ✓ | ✓ | ✓ |
| Annonce, chuchotement, kick, kill, changement d’équipe, contrôle du match et de la carte, modifications de rotation en direct, notes sur les joueurs et liste de surveillance | · | ✓ | ✓ | ✓ |
| Bans, slots réservés, listes de bans et de slots réservés de l’organisation, enregistrement de la rotation, configuration et paramètres, automatisation, journal d’audit de tous les membres et journal du serveur, RCON brut | · | · | ✓ | ✓ |
| Serveurs, membres, rôles, liens d’invitation et webhooks Discord ; journal d’audit de l’organisation | · | · | · | ✓ |
Sous licence MIT. Issues et pull requests bienvenues. Les signalements de sécurité passent par le signalement privé de vulnérabilités de GitHub.
Posez vos questions, signalez des problèmes et échangez avec ceux qui développent et font tourner Warcon.
Les endpoints utilisés par la console officielle, dans la mesure où nous les avons compris, documentés pour que vous puissiez aussi créer vos propres outils.
La liste communautaire des serveurs, pour que les joueurs trouvent le vôtre.