Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/bash
- logfile="/var/log/trackmania2/servercheck.log"
- function checkIt()
- {
- serverdata=$(php /home/tm2launcher/Scripts/RPCUtils/sendcmd.php "$1" GetNetworkStats)
- uptime=$(echo "$serverdata" | jq '.Uptime')
- uptimedays=$(($uptime/86400))
- uptimelimit=1728000
- nbplayers=$(echo "$serverdata" | jq '.PlayerNetInfos | length')
- if [ "$uptime" -ge $uptimelimit ]
- then
- if [ "$nbplayers" -eq 0 ]
- then
- echo "[RESTART]$(date '+%Y-%m-%d %H:%M:%S'): TM2 $1 server started 20+ days ago ($uptimedays). $nbplayers player on it, restarting it." >> $logfile;
- if [ $1 == 'stadium' ]; then
- /etc/init.d/trackmania2 restart >> $logfile
- elif [ $1 == 'rpg' ]; then
- /etc/init.d/trackmania2_rpg restart >> $logfile
- elif [ $1 == 'rpgbeg' ]; then
- /etc/init.d/trackmania2_rpg restart beg >> $logfile
- elif [ $1 == 'rpgint' ]; then
- /etc/init.d/trackmania2_rpg restart int >> $logfile
- elif [ $1 == 'rpgadv' ]; then
- /etc/init.d/trackmania2_rpg restart adv >> $logfile
- elif [ $1 == 'rpgexp' ]; then
- /etc/init.d/trackmania2_rpg restart exp >> $logfile
- elif [ $1 == 'rpgprv' ]; then
- /etc/init.d/trackmania2_rpg restart prv >> $logfile
- # elif [ $1 == 'ccpall' ]; then
- # /etc/init.d/trackmania2_ccp restart all >> $logfile
- # elif [ $1 == 'ccpesl' ]; then
- # /etc/init.d/trackmania2_ccp restart esl >> $logfile
- # elif [ $1 == 'ccpalp' ]; then
- # /etc/init.d/trackmania2_ccp restart alp >> $logfile
- fi;
- else
- echo "[PENDING]$(date '+%Y-%m-%d %H:%M:%S'): TM2 $1 server started 20+ days ago ($uptimedays). $nbplayers player(s) on it, restart delayed." >> $logfile;
- fi;
- else
- echo "[OK]$(date '+%Y-%m-%d %H:%M:%S'): TM2 $1 server is running for less than 20 days ($uptimedays)." >> $logfile;
- fi;
- }
- checkIt "stadium";
- checkIt "rpg";
- checkIt "rpgbeg";
- checkIt "rpgint";
- checkIt "rpgadv";
- checkIt "rpgexp";
- checkIt "rpgprv";
- #checkIt "ccpall";
- #checkIt "ccpesl";
- #checkIt "ccpalp";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement