Control and launch games servers via web page
Find a file
2026-06-13 19:51:30 +02:00
.forgejo/workflows Use deploy SSH key secret 2026-06-12 21:42:30 +02:00
mocked MVP version 2026-06-12 14:34:44 +02:00
public feat: allow only one server to be launched 2026-06-13 19:51:30 +02:00
src feat: allow only one server to be launched 2026-06-13 19:51:30 +02:00
storage MVP version 2026-06-12 14:34:44 +02:00
test feat: allow only one server to be launched 2026-06-13 19:51:30 +02:00
.env.example update workflow and add ssh keys support 2026-06-12 21:29:36 +02:00
.gitignore update workflow and add ssh keys support 2026-06-12 21:29:36 +02:00
package-lock.json MVP version 2026-06-12 14:34:44 +02:00
package.json MVP version 2026-06-12 14:34:44 +02:00
README.md update workflow and add ssh keys support 2026-06-12 21:29:36 +02:00

gameservers-control

Interface web locale pour consulter et lancer des serveurs de jeux.

Demarrage

npm install
cp .env.example .env
npm run dev

Variables utiles:

  • PORT: port HTTP, defaut 3000.
  • GAMESERVERS_STATUS_FILE: chemin du JSON de statut monte en NFS.
  • STORAGE_DIR: dossier de stockage local, defaut storage.
  • SESSION_TTL_HOURS: duree des sessions, defaut 12.
  • *_SSH_TARGET: cible SSH du profil de lancement, alias SSH ou user@host.
  • *_SSH_PORT: port SSH optionnel. Vide par defaut.
  • *_SSH_KEY_FILE: chemin optionnel vers une cle SSH privee.
  • *_START_COMMAND: commande distante executee sur la cible SSH.

Pour changer le port, modifier .env:

PORT=8080

Exemple de lancement distant via SSH:

GAME_1_SSH_TARGET=user@192.0.2.10
GAME_1_SSH_PORT=2222
GAME_1_SSH_KEY_FILE=/home/app/.ssh/game-server-key
GAME_1_START_COMMAND="bash /opt/game-server-1/start.sh"

Le serveur local doit reference ce profil dans storage/servers.json:

{
  "id": "game-1",
  "startProfile": "GAME_1"
}

Au premier demarrage, si aucun groupe n'existe, un groupe admin est cree et son mot de passe temporaire est affiche dans les logs serveur.

Stockage

  • storage/servers.json: configuration locale des serveurs, profils de lancement, secrets.
  • storage/groups.json: groupes et permissions.
  • storage/launch-logs.json: lancements conserves 7 jours.
  • mocked/dev-gameservers-status.json: statut mock de developpement.