#! /bin/bashfunction alle { servers="dust2 funcustom gr gungame hnf" if [ "$2" = "j" ]; then servers="$servers clan cl2n" fi for server in $servers; do $0 $1 $server done}case "$1" in start) echo "CSS Server '$2': Versuche zu starten..." if [ "$2" = "alle" ]; then alle "start" $3 else if [ -z "`screen -list | cut -d '.' -f 2 | grep -w css_$2`" ]; then optionen="+map de_dust2 +maxplayers 4 -tickrate 33 -port 28018" if [ "$2" = "clan" ]; then optionen="+map de_dust2 +maxplayers 10 -port 50000 -tickrate 100"; fi if [ "$2" = "cl2n" ]; then optionen="+map de_dust2 +maxplayers 10 -port 50001 -tickrate 100"; fi if [ "$2" = "dust2" ]; then optionen="+map de_dust2 +maxplayers 16 -tickrate 100 -port 27016"; fi if [ "$2" = "funcustom" ]; then optionen="+map aim_ag_texture +maxplayers 12 -tickrate 100 -port 40000"; fi if [ "$2" = "gr" ]; then optionen="+map surf_greatriver_v4 +maxplayers 12 -port 4464 -tickrate 100"; fi if [ "$2" = "gungame" ]; then optionen="+map gg_aim_ag_texture2 +maxplayers 14 -port 30000 -tickrate 100"; fi if [ "$2" = "hnf" ]; then optionen="+map cs_office +maxplayers 10 -tickrate 100 -port 20000"; fi if [ "$2" = "test" ]; then optionen="+map de_dust2 +maxplayers 4 -port 23456 -tickrate 33"; fi if [ "$2" != "clan" -a "$2" != "cl2n" -a "$2" != "dust2" -a "$2" != "hnf" -a "$2" != "funcustom" -a "$2" != "gr" -a "$2" != "gungame" -a "$2" != "test" ]; then echo "CSS Server '$2': Nicht gefunden!" else if [ -d "/home/server/$2" ]; then echo "CSS Server '$2': Startparameter wurden geladen..." echo "CSS Server '$2': Wird gestartet..." cd "$2" screen -A -m -d -S css_$2 ./srcds_run $optionen -autoupdate +ip 83.142.82.222 sleep 3 if [ -z "screen -list | grep '$2'" ]; then echo "CSS Server '$2': Erfolgreich gestartet!" else echo "CSS Server '$2': Konnte nicht gestartet werden!" fi cd ../ else echo "CSS Server '$2': Ordner nicht gefunden!" fi fi else echo "CSS Server '$2': Läuft bereits!" fi fi ;; stop) echo "CSS Server '$2': Versuche zu beenden..." if [ "$2" = "alle" ]; then alle "stop" $3 else if [ -z "`screen -list | cut -d '.' -f 2 | grep -w css_$2`" ]; then echo "CSS Server '$2': Wird beendet..." screen -S css_$2 -X quit sleep 3 if [ -z "`screen -list | cut -d '.' -f 2 | grep -w css_$2`" ]; then echo "CSS Server '$2': Erfolgreich beendet!" else echo "CSS Server '$2': Konnte nicht beendet werden!" fi else echo "CSS Server '$2': Läuft nicht!" fi fi ;; restart) echo "CSS Server '$2': Versuche zu restarten..." if [ "$2" = "alle" ]; then alle "stop" $3 alle "start" $3 else $0 stop $2 $0 start $2 fi ;; status) echo "CSS Server '$2': Versuche Status zu bekommen..." if [ "$2" = "alle" ]; then alle "status" $3 else if [ "$2" != "clan" -a "$2" != "cl2n" -a "$2" != "dust2" -a "$2" != "hnf" -a "$2" != "funcustom" -a "$2" != "gr" -a "$2" != "gungame" -a "$2" != "test" ]; then echo "CSS Server '$2': Nicht gefunden!" else if [ ! -z "`screen -list | cut -d '.' -f 2 | grep -w css_$2`" ]; then echo "CSS Server '$2': Am laufen!" else echo "CSS Server '$2': Nicht am laufen!" fi fi fi ;; update) echo "CSS HauptServer: Versuche zu updaten..." if [ -d "/home/server/css_setup" ]; then echo "CSS HauptServer: Wird geupdated..." cd "css_setup" ./steam -command update -game "Counter-Strike Source" -dir /home/server/css cd ../ echo "CSS HauptServer: Erfolgreich geupdated!" else echo "CSS HauptServer: Ordner nicht gefunden!" fi ;; symlink) echo "CSS Server '$2': Versuche Symlink zu updaten..." if [ "$2" = "alle" ]; then alle "symlink" $3 else if [ "$2" != "clan" -a "$2" != "cl2n" -a "$2" != "dust2" -a "$2" != "hnf" -a "$2" != "funcustom" -a "$2" != "gr" -a "$2" != "gungame" -a "$2" != "test" ]; then echo "CSS Server '$2': Nicht gefunden!" else if [ -d "/home/server/$2" ]; then echo "CSS Server '$2': Symlink wird geupdated..." cp -sR /home/server/css/* /home/server/$2 2>/dev/null echo "CSS Server '$2': Symlink erfolgreich geupdated!" else echo "CSS Server '$2': Ordner nicht gefunden!" fi fi fi ;; ts) if [ "$2" != "start" -a "$2" != "stop" -a "$2" != "restart" ]; then echo "TS2 Server: Kommando nicht gefunden!" else echo "TS2 Server: Wird ausgeführt..." cd /home/server/ts2/server ./script $2 cd ../../ echo "TS2 Server: Erfolgreich ausgeführt!" fi ;; perlmod) if [ "$2" != "start" -a "$2" != "stop" -a "$2" != "restart" ]; then echo "TS2 PerlMod: Kommando nicht gefunden!" else echo "TS2 PerlMod: Wird ausgeführt..." cd /home/server/ts2/perlmod ./script $2 cd ../../ echo "TS2 PerlMod: Erfolgreich ausgeführt!" fi ;; webch) cd /var/www chmod -R 777 ./ cd /home/server ;; *) echo "CSS Server: ./script (start|stop|restart|status|symlink) Name" echo "CSS HauptServer: ./script update" echo "TS2 Server: ./script ts (start|stop|restart)" echo "TS2 PerlMod: ./script perlmod (start|stop|restart)" echo "Webserver CHMOd: ./script webch"esacexit 0