KorDen, а когда выйдет обновление? Сервера же начнут одновременно обновляться, вот тут и начнется бредятина. Я вот про это говорю как можно решить?
Попробуй запускать по очереди с задержкой в 30-60 ссекунд, ошибок быть не должно. Имеется ввиду запустил один, через 30 секунд после запуска первого запустил второй (не дожидаясь окончания первого) и т.д.
#! /bin/bash
log="./logs/update$(date +%d%m).log"
for i in {1..6}; do
/home/tf2/tf.sh $i stop; sleep 2
done
/home/tf2/steamcmd.sh +login anonymous +force_install_dir /home/tf2/srv_files/ +app_update 232250 +quit #validate +quit
rm -f /home/tf2/srv_files/tf/cfg/config_arena.cfg*
for i in {1..6}; do
/home/tf2/tf.sh $i start
done
#! /bin/bash
ARGS=2
if [ $# != 2 ]; then
echo "Usage: $0 {1 - 6} {start|stop|restart}"; exit 3
fi
port=27014
path="/home/tf2/srv_files/"
run='./srcds_run -game tf -ip 0.0.0.0 +maxplayers 32'
port=$(( $port + $1 ))
map=`head -n 1 ${path}tf/cfg/mapcycle.txt$1`
if [ $1 = 6 ]; then
port=27025
fi
function start
{
screen -A -m -d -S server$1 ${path}${run} -port $port +clientport $(( $port + 100 )) +map $map +mapcyclefile mapcycle.txt$1 +servercfgfile server.cfg$1 +sm_basepath addons/sourcemod$1 +mm_pluginsfile addons/metamod/metaplugins.ini$1 -debug
}
# run command on server $srv
case $2 in
"start" )
if ps ax | grep $port | grep -v grep >/dev/null; then
echo "server $1 already running!"; exit 2; else
echo -ne "Starting server $1..."; start $1 && echo -ne " \t[ok]\n"
fi
;;
"stop" )
echo -ne "Stoping server $1... "; kill -9 `ps ax | grep $port | grep "srcds_run" | grep -v grep | awk '{print $1}'` 2>/dev/null && echo -ne "\t[ok]\n"
screen -wipe > /dev/null
;;
"restart" )
echo -ne "Stoping server $1... "; kill -9 `ps ax | grep $port | grep "srcds_run" | grep -v grep | awk '{print $1}'` 2>/dev/null && echo -ne "\t[ok]\n"; sleep 2
if ps ax | grep $port | grep -v grep >/dev/null; then
echo "server $1 already running!"; exit 2; else
echo -ne "Starting server $1..."; start $1 && echo -ne " \t[ok]\n"
fi
;;
"*" )
echo "Usage: $0 {1 - 6} {start|stop|restart}"; exit 3
;;
esac
;If your plugin came with a .vdf file, you do not need to use this file.
;
;List one plugin per line. Each line should contain the path to the plugin's binary.
;Any line starting with a ';' character is a comment line, and is ignored.
;
;You do not need to include the _i486.so or .dll part of the file name. Example:
; addons/sourcemod/bin/sourcemod_mm
;You may also put an alias in front of the file, for example:
; sm addons/sourcemod/bin/sourcemod_mm
;Will allow you to use "meta load sm" from the console.
;
;********* LIST PLUGINS BELOW ***********
addons/sourcemod1/bin/sourcemod_mm
Папки -uselogdirЗ.Ы.: Кто бы напомнил как указывать имя лог файла параметром запуска, был бы благодарен.