Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

Redémarrage automatique des channels


toblerone

Messages recommandés

Niveau requis  Débutant

Temps estimé :  10 minutes

Bonjour à tous,

 

Ce tutoriel a pour but de vous expliquer comment redémarrer automatiquement vos channels.

Très pratique quand l'un d'eux crash.

 

Pré-requis:

  • Un outil qui vous permet d'accéder à votre serveur tel que WinSCP

 

I. Ajouter le script de redémarrage

Révélation

1. Dans le fichier start.sh qui se trouve dans le dossier metin2 de votre serveur, ajoutez ça à la fin :


./chan_restarter & sleep 2

 

Cela permet de lancer le script de redémarrage automatique.

 

2. Créez un fichier chan_restarter et ajoutez ceci :


echo $$ > pid_chan_restarter.txt

while true
do

if [ -e channel1/pid ];
then
for PID in $(cat channel1/pid); 
do
if ! ps -p $PID > /dev/null
then
cd channel1
rm pid
./game_ch1 & sleep 2
cd ..
echo date  >> chan_restart.log
echo "Channel 1 redémarré" >> chan_restart.log
fi
done  
fi
if [ -e channel2/pid ];
then
for PID in $(cat channel2/pid); 
do
if ! ps -p $PID > /dev/null
then
cd channel2
rm pid
./game_ch2 & sleep 2
cd ..
echo date >> chan_restart.log
echo "Channel 2 redémarré" >> chan_restart.log
fi
done  
fi
if [ -e channel3/pid ];
then
for PID in $(cat channel3/pid); 
do
if ! ps -p $PID > /dev/null
then
cd channel3
rm pid
./game_ch3 & sleep 2
cd ..
echo date >> chan_restart.log
echo "Channel 3 redémarré" >> chan_restart.log
fi
done  
fi
if [ -e channel4/pid ];
then
for PID in $(cat channel4/pid); 
do
if ! ps -p $PID > /dev/null
then
cd channel4
rm pid
./game_ch4 & sleep 2
cd ..
echo date >> chan_restart.log
echo "Channel 4 redémarré" >> chan_restart.log
fi
done  
fi
if [ -e channel5/pid ];
then
for PID in $(cat channel5/pid); 
do
if ! ps -p $PID > /dev/null
then
cd channel5
rm pid
./game_ch5 & sleep 2
cd ..
echo date >> chan_restart.log
echo "Channel 5 redémarré" >> chan_restart.log
fi
done  
fi
if [ -e game99/pid ];
then
for PID in $(cat game99/pid); 
do
if ! ps -p $PID > /dev/null
then
cd game99
rm pid
./game_99 & sleep 2
cd ..
echo date >> chan_restart.log
echo "Channel 99 redémarré" >> chan_restart.log
fi
done  
fi
sleep 10
done

 

3. Ajoutez ensuite ceci au fichier close.sh :


if [ -e pid_chan_restarter.txt ];
then
for PID in $(cat pid_chan_restarter.txt); 
do
if ps -p $PID > /dev/null
then
kill 9 $PID
fi
done  
fi

 

4. Voila ! Il ne vous reste plus qu'à redémarrer votre serveur et le script prendra effet.

Si un channel crash, vous pourrez le voir dans le fichier pid_chan_restarter.txt qui se trouve dans le dossier metin2.

 

Succès ! Ce tutoriel vous permet de redémarrer vos channels lorsqu'ils crash. Considérez ce script comme une sécurité mais ne l'utilisez surtout pas pour " corriger " un problème que vous avez.

 

 

Pour continuer :

  • Vous trouverez de nombreux partages et de tutoriels sur Funky-Emu dans la section Metin2.
  • Cette FAQ pourra répondre à la plupart de vos questions.
  • Une catégorie support est disponible. Si vous avez un problème ou une question, n'hésitez pas à poster une demande !

 

  • Love 5
Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...
  • 1 mois après...
  • 4 mois après...
  • 5 ans après...
  • 5 ans après...

Bonjour, j'ai surment mal compris une partie, car pour moi une erreur au lancement du serveur s'affiche !

./chan_restarter: 8: Syntax error: word unexpected.

quelqu'un peut il m'aider ?

Alors suite a quelque test j'ai réussi. il fonctionne en changent date pour `date` dans chan_restarter. je vais voir si cela fonctionne sur du long terme.

 

Modifié par Root
Lien vers le commentaire
Partager sur d’autres sites



Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.