#!/bin/sh
#############################################
##     Script de lancement des serveur ##
#############################################
#############################################
##          Début des variables ##
#############################################
# Nom de l'utilisateur
SRCDS_USER="***"
# Nom du screen
SRCDS_NAME="only"
# Binaire du serveur
SRCDS_BIN="./srcds_run"
# Repertoire du serveur
SRCDS_PATH="/home/serveur/only/"
# Options de lancement
SRCDS_OPTS="-game cstrike \
    -console \
    -tickrate 100 \
    +maxplayers 20 \
    +map de_dust2 \
    -ip 91.121.81.12 \
    -pingboost 3 \
    -fps_max 1000 \
    -port 27015"
# Ligne de commande pour l'update
STEAM_UPDATE="./steam -game cstrike -command update"
#############################################
##            Fin des variables ##
#############################################
usage() {
    echo 
"---------------------------------------------------------------------"
    echo "Usage: ${SRCDS_NAME} (stop|start|restart|update|patch)"
    echo 
"---------------------------------------------------------------------"
    exit 2
}
if [ -z $1 ]; then
    usage fi srcds_start() {
    echo 
"---------------------------------------------------------------------"
    echo "Lancement du serveur : Debut de la sequence"
    echo 
"---------------------------------------------------------------------"
    OWD=`pwd`
    cd $SRCDS_PATH
    su ${SRCDS_USER} -c "screen -AmdS ${SRCDS_NAME} ${SRCDS_BIN} 
${SRCDS_OPTS}"
    cd $OWD
    echo 
"---------------------------------------------------------------------"
    echo "Lancement du serveur : Fin de la sequence"
    echo 
"---------------------------------------------------------------------"
}
srcds_stop() {
    echo 
"---------------------------------------------------------------------"
    echo "Arret du serveur : Debut de la sequence"
    echo 
"---------------------------------------------------------------------"
    su ${SRCDS_USER} -c "screen -dr ${SRCDS_NAME} -X quit"
    echo 
"---------------------------------------------------------------------"
    echo "Arret du serveur : Fin de la sequence"
    echo 
"---------------------------------------------------------------------"
}
srcds_restart() {
    echo 
"---------------------------------------------------------------------"
    echo "Reboot du serveur : Debut de la sequence"
    echo 
"---------------------------------------------------------------------"
    srcds_stop
    srcds_start
    echo 
"---------------------------------------------------------------------"
    echo "Reboot du serveur : Fin de la sequence"
    echo 
"---------------------------------------------------------------------"
}
srcds_update() {
    echo 
"---------------------------------------------------------------------"
    echo "Reboot du serveur avec mise a jour : Debut de la sequence"
    echo 
"---------------------------------------------------------------------"
    srcds_stop
    OWD=`pwd`
    cd $SRCDS_PATH
    su ${SRCDS_USER} -c "${STEAM_UPDATE}"
    cd $OWD
    srcds_patch
    srcds_start
    echo 
"---------------------------------------------------------------------"
    echo "Reboot du serveur avec mise a jour : Fin de la sequence"
    echo 
"---------------------------------------------------------------------"
}
srcds_patch () {
	echo 
"---------------------------------------------------------------------"
	echo "Lancement du patch pour Gameinfo.txt : Debut de la 
sequence"
	echo 
"---------------------------------------------------------------------"
	echo "Resultat :"
	${SRCDS_PATH}cstrike/gameinfopatch.sh
	echo "Copie du fichier motd.bak en motd.txt"
	rm -f ${SRCDS_PATH}cstrike/motd.txt
	cp ${SRCDS_PATH}cstrike/motd.bak ${SRCDS_PATH}cstrike/motd.txt
	echo "Attribution des droits"
	chown ${SRCDS_USER} ${SRCDS_PATH}cstrike/motd.txt
	chown ${SRCDS_USER} ${SRCDS_PATH}cstrike/gameinfo.txt
	echo 
"---------------------------------------------------------------------"
	echo "Fin du patch pour Gameinfo.txt : Fin de la sequence"
	echo 
"---------------------------------------------------------------------"
}
case $1 in
    stop)
        srcds_stop
    ;;
    start)
        srcds_start
    ;;
    restart)
        srcds_restart
    ;;
    update)
        srcds_update
    ;;
    patch)
        srcds_patch
    ;;
    *)
        usage esac exit 0
			
		
 
	
Partager