# gameservers-control Interface web locale pour consulter et lancer des serveurs de jeux. ## Demarrage ```bash 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. - `*_START_COMMAND`: commande distante executee sur la cible SSH. Pour changer le port, modifier `.env`: ```env PORT=8080 ``` Exemple de lancement distant via SSH: ```env GAME_1_SSH_TARGET=user@192.0.2.10 GAME_1_SSH_PORT=2222 GAME_1_START_COMMAND="bash /opt/game-server-1/start.sh" ``` Le serveur local doit reference ce profil dans `storage/servers.json`: ```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.