Control and launch games servers via web page
|
Some checks failed
Deploy Gameservers Control / deploy (push) Failing after 3s
Reviewed-on: #2 |
||
|---|---|---|
| .forgejo/workflows | ||
| mocked | ||
| public | ||
| src | ||
| storage | ||
| test | ||
| .env.example | ||
| .gitignore | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
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, defaut3000.GAMESERVERS_STATUS_FILE: chemin du JSON de statut monte en NFS.STORAGE_DIR: dossier de stockage local, defautstorage.SESSION_TTL_HOURS: duree des sessions, defaut12.*_SSH_TARGET: cible SSH du profil de lancement, alias SSH ouuser@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.