Un script de détection du plantage et redémarrage automatique du client Guild Wars 2 ... car au téléchargement sous Linux il plante souvent !
/!\ /!\ /!\ Work in progress, ça bug un peu et ça reste sans doute à optimiser mais pour moi ça marche bien mieux avec que sans ! /!\ /!\ /!\
Ce script est adapté à l'installation GW2 par PlayOnLinux, sinon il faudra justement adapter la ligne contenant "playonlinux" qui se charge de relancer le jeu.
A copier dans GW2chk.sh que vous rendrez exécutable et que vous lancerez en daemon par "GW2chk.sh &" après avoir lancé le client de téléchargement du jeu.
Contactez-moi si vous avez du mal à le faire fonctionner. 🙂
(Inutile et non souhaitable de le lancer en root !)
#!/bin/bash
WAITTIME=8640 # = 8640 X 10 sec = 24 h minimum (+ les attentes de netstat et si redémarrage du client GW2 ...) on prévoit large.
clear
sleep 3
for (( TIMER=0 ; TIMER < "$WAITTIME" ; TIMER++ ))
do
netstat -t |grep 81.52.160 >TCPSTATE.log
TCPCONNECTED=`cat TCPSTATE.log |wc -l`
TCPCLOSING=`cat TCPSTATE.log |grep CLOSE |wc -l`
sleep 10
ISRUNNING=`ps -A|grep Gw2.exe |wc -l`
echo Debug : connected = "$TCPCONNECTED", closing = "$TCPCLOSING", GW2 running = "$ISRUNNING"
if [ "$TCPCONNECTED" -lt 4 ] || [ "$TCPCLOSING" -gt 0 ]
then
pkill Gw2.exe
sleep 3
nohup /usr/share/playonlinux/playonlinux --run "Guild Wars 2" &
sleep 10
fi
if [ "$TCPCONNECTED" -gt 0 ] && [ "$ISRUNNING" = 0 ]
then
pkill Gw2.exe
echo "Closing GW2chk.sh & Gw2.exe, Gw2.exe had been stopped by user"
exit 0
fi
done
exit 0