Counter-Strike Source Orangebox Updatescript

Das letzte Update von Counter-Strike Source brachte viele Änderungen mit sich. Unter anderen ist die Ordnerstruktur nun eine andere.
Das ganze Manuell zu ändern kostet bei meheren Installationen viel Zeit.
Ich habe deswegen ein kleines Bash Script geschrieben, dass man nur einmal aufrufen muss. Es updated dann alle Installationen auf dem Server.

Wer nur wissen will, wie man den CSS Server updated ist bei meinem How To besser aufgehoben.

#/bin/bash
#
# This program is free software: you can redistribute it andor modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
# GNU General Public License for more details. 
# 
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <www.gnu.orglicenses>.  


# Root, oder du kommst ned rein!
if [ ! `id -u` = 0 ]; then
 echo "Du musst root sein, um das Script auszufuehren"
 exit 0
fi

INSTALLATION=`find /home/ -name cstrike -type d | grep -v cstrike/`

for p in $INSTALLATION; do
 USER=`ls -la $p | grep maps | awk '{print $3}'`
 cd $p
 cd ..
 if [[ `ls $p | grep cs_office.wad` ]]; then
 echo "In $p wurde CS 1.6 gefunden. Kein Update ausgefuehrt"
 elif [ -d cspromod ]; then
 echo "In $p wurde cspromod gefunden. Kein Update ausgefuehrt"
 elif [ -d orangebox ]; then
 rm srcds_amd  srcds_i486  srcds_i686  srcds_run
 mv cstrike orangebox
 su -c "screen -A -m -d -L -S cssupdate ./steam -command update -game 'Counter-Strike Source' -dir . -verify_all -retry" $USER
 sleep 60
 if [[ `grep 'Getting version 39 of Steam HLDS Update Tool' screenlog.0` ]]; then
 su -c "screen -A -m -d -L -S cssupdate ./steam -command update -game 'Counter-Strike Source' -dir . -verify_all -retry" $USER
 echo "In $p wurde eine CSS obox Installation gefunden. Update wurde gestartet"
 else
 echo "In $p wurde eine CSS obox Installation gefunden. Update wurde gestartet"
 fi
 elif [ -d ../orangebox ]; then
 cd ..
 su -c "screen -A -m -d -L -S cssupdate ./steam -command update -game 'Counter-Strike Source' -dir . -verify_all -retry" $USER
 sleep 60
 if [[ `grep 'Getting version 39 of Steam HLDS Update Tool' screenlog.0` ]]; then
 su -c "screen -A -m -d -L -S cssupdate ./steam -command update -game 'Counter-Strike Source' -dir . -verify_all -retry" $USER
 echo "In $p wurde ein abgebrochenes Update gefunden. Das Update wurde wieder aufgenommen."
 else
 echo "In $p wurde ein abgebrochenes Update gefunden. Das Update wurde wieder aufgenommen."
 fi
 else
 su -c 'mkdir orangebox' $USER
 rm srcds_amd  srcds_i486  srcds_i686  srcds_run
 mv cstrike orangebox
 su -c "screen -A -m -d -L -S cssupdate ./steam -command update -game 'Counter-Strike Source' -dir . -verify_all -retry" $USER
 sleep 60
 if [[ `grep 'Getting version 39 of Steam HLDS Update Tool' screenlog.0` ]]; then
 su -c "screen -A -m -d -L -S cssupdate ./steam -command update -game 'Counter-Strike Source' -dir . -verify_all -retry" $USER
 echo "In $p wurde eine alte CSS Installation gefunden. Der Ordner orangebox wurde angelegt und das Update gestartet."
 else
 echo "In $p wurde eine alte CSS Installation gefunden. Der Ordner orangebox wurde angelegt und das Update gestartet."
 fi
 fi
done