Bonjour,
Pour raisons techniques, nous avons besoin de redémarrer notre serveur de jeu toutes les 30 minutes.
Ce serveur est lancé à partir d’un fichier .bat.
Voici le contenu dudit fichier :
@echo off
:start
echo Starting L2J Login Server.
echo.
java -Xmx128m -cp javolution.jar;c3p0-0.9.0.jar;mysql-connector-java-3.1.10-bin.jar;l2jserver.jar; net.sf.l2j.loginserver.LoginServer
if ERRORLEVEL 2 goto restart
if ERRORLEVEL 1 goto error
goto end
:restart
echo.
echo Admin Restart ...
echo.
goto start
:error
echo.
echo Server terminated abnormaly
echo.
:end
echo.
echo server terminated
echo.
pause
Nous souhaiterions savoir s’il était possible, par un quelconque moyen, de relancer périodiquement (toutes les 30 minutes) ce serveur.
Si ca n’est pas possible avec du “code”, est-ce qu’il existe un programme permettant de “relancer” une console serveur (en .bat…) sous XP?
Merci d’avance.
En effet, ton histoire de légalité sur ton jeu me laisse dubitatif sur la décision à prendre, mais pour ton probleme on s’en fout. Je t’invite donc à suprimer dans ton post tout le paragraphe suspicieux (si ça reste je serais contraint de fermer).
Et pour ton probleme, tu peux relancer ton batch périodiquement sous xp grace aux taches planifiées (demarrer->programmes->accessoires->outils systemes->taches planifiées)
Si le serveur est sous licence gpl, il n’y a donc aucune restriction sur l’install de son propre serveur.
Désolé pour la réponse tardive.
Le gestionnaire des taches ne peut pas fonctionner : en effet le .bat n’est pas reconnu comme état un processus propre…
(et merci pour l’aide apportée concernant la légalité)
ping -w 1000 -n 1800 127.0.0.1
goto start
Ca ne marche pas le -w 1000 sur la loopback adresse
mais l’idée est bonne si le ping pointe sur une adresse injoignable
+1
il y a aussi un utilitaire "wait.exe" qui attend x secondes
telechargeable ici
le code devient :
call wait.exe 1800
goto start
Le problème, c’est que dans le code du fichier, cela ne va pas plus loin que la commande “java” du début.
Aussi, si j’insère un ping après cette commande, il ne sera pas exécuté.
De la même facon, si je l’exécute avant, certes le bat sera relancé mais le serveur ne sera pas lancé puisque c’est le java qui s’en occupe.
Je ne sais pas si je suis clair…
J’ai tenté d’utiliser un second .bat qui start celui-ci après un ping.
Cela fait donc qu’au bout de 30 minutes de ping (sur une adresse IP inexistante), mon bat lance bien mon serveur.
Mais, toutes les 30 minutes : il relance une nouvelle instance du serveur et je me retrouve avec plein de serveurs ^^.
Je n’ai pas trouvé le moyen de stopper le serveur en lui même avant de le relancer.
La aussi, je ne sais pas si je suis clair