Si ton serveur de jeu ne démarre que quand tu te connectes et que tu double-cliques, chaque redémarrage (une mise à jour de Windows, un redémarrage depuis le panel) le laisse éteint jusqu'à ce que tu t'en rendes compte. Avec le Planificateur de tâches, il démarre tout seul à l'allumage de Windows, sans que personne n'ouvre de session.
1. Un .bat qui lance le serveur
Crée par exemple C:\serveurs\demarrer.bat. Ce qui compte, c'est la ligne cd /d : elle se place dans le dossier du serveur avant de le lancer.
@echo off
cd /d C:\FXServer\server
FXServer.exe
Remplace le dossier et l'exécutable par ceux de ton jeu (par exemple java -Xms6G -Xmx6G -jar paper.jar nogui pour Minecraft). Teste-le d'abord par double-clic : s'il ne démarre pas comme ça, il ne démarrera pas non plus en tâche planifiée.
2. Planifie la tâche
Dans PowerShell en administrateur :
schtasks /Create /TN "Serveur de jeu" /SC ONSTART /DELAY 0001:00 /RU SYSTEM /RL HIGHEST /TR "C:\serveurs\demarrer.bat"
/SC ONSTART: au démarrage de Windows, même si personne n'ouvre de session./DELAY 0001:00: attend une minute, pour que le réseau et la base de données soient prêts./RU SYSTEM: s'exécute en arrière-plan, comme un service.
Teste-la sans redémarrer : schtasks /Run /TN "Serveur de jeu".
Ce qui change quand il démarre ainsi
Le serveur tourne en arrière-plan et tu ne verras pas sa fenêtre en te connectant en Bureau à distance. Administre-le par son panel ou sa console à distance :
- FiveM : txAdmin, sur
http://TON_IP:40120. - Minecraft, Rust, ARK... : par RCON, ou depuis le jeu lui-même avec des droits d'administrateur.
Pour l'arrêter : schtasks /End /TN "Serveur de jeu", ou depuis le Gestionnaire des tâches. Et pour le désactiver : schtasks /Change /TN "Serveur de jeu" /DISABLE.
Qu'il se relance tout seul s'il plante
Pour les jeux qui n'ont pas de panel pour le relancer (txAdmin le fait pour FiveM), une boucle dans le .bat le relance quand il se ferme :
@echo off
cd /d C:\serveurs\rust
:debut
RustDedicated.exe -batchmode +server.port 28015 +server.identity "principal"
timeout /t 10
goto debut
Si un jour tu veux vraiment l'arrêter, désactive d'abord la tâche, sinon la boucle le rallumera.