Автоматизация нескольких серверов

Тема в разделе "Counter-Strike: Global Offensive", создана пользователем denetti, 17 авг 2013.

  1. denetti

    denetti

    Сообщения:
    23
    Симпатии:
    1
    Собственно нужно поставить, чтобы несколько серверов при одновременной работе могли обновиться.
    Если запускаю по очереди, обновляются спокойно. Ставлю 2 и более на обновление, 1 начинает обновляться, на 2 появляются различные ошибки.
     
  2. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    denetti, Увы, да, при одновременном запуске SteamCMD глючит.. Попробуй запускать по очереди с задержкой в 30-60 ссекунд, ошибок быть не должно. Имеется ввиду запустил один, через 30 секунд после запуска первого запустил второй (не дожидаясь окончания первого) и т.д.
     
  3. denetti

    denetti

    Сообщения:
    23
    Симпатии:
    1
    KorDen, а когда выйдет обновление? Сервера же начнут одновременно обновляться, вот тут и начнется бредятина. Я вот про это говорю как можно решить?
     
  4. SaInT.P

    SaInT.P

    Сообщения:
    1.270
    Симпатии:
    237
    Тебе же написали!
     
  5. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    SaInT.P, верный вопрос, он про автообновление судя по всему..

    denetti, тут нужно по идее синхронизировать рестарты серверов плагинами, это уже веселее будет... Чисто теоретически реализуемо, а на практике...
     
  6. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Я, может быть, не вовремя написал, но:
    @ShutdownOnFailedCommand 0 //Установите 0 для обновления нескольких серверов за раз
    @NoPromptForPassword 1

    login anonymous
    force_install_dir АБСОЛЮТНЫЙ ПУТЬ
    app_update 740 validate
    quit
     
  7. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    TolikCorp, Это совершенно ни при чем, это актуально при ПОСЛЕДОВАТЕЛЬНОМ обновлении нескольких серверов в одном скрипте
     
  8. tiger_by

    tiger_by Гл. Админ SourceGames.RU

    Сообщения:
    629
    Симпатии:
    279
    У меня все работает на ура.
    Серверные файлы одни на несколько серверов.
    И нижие покажу как уменя набыдлокодены скрипты апдейта и запуска в том виде, как есть.
    PHP:
    #! /bin/bash

    log="./logs/update$(date +%d%m).log"

    for i in {1..6}; do
        /
    home/tf2/tf.sh $i stopsleep 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
    PHP:
    #! /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 + $))
        
    map=`head -n 1 ${path}tf/cfg/mapcycle.txt$1`
        if [ $
    ]; then
            port
    =27025
        fi

    function start
    {
    screen ----S server$${path}${run} -port $port +clientport $(( $port 100 )) +map $map +mapcyclefile mapcycle.txt$+servercfgfile server.cfg$+sm_basepath addons/sourcemod$+mm_pluginsfile addons/metamod/metaplugins.ini$-debug
    }

    # run command on server $srv

    case $2 in

    "start" )
            if 
    ps ax grep $port grep -v grep >/dev/nullthen
                    
    echo "server $1 already running!"; exit 2; else
                    echo -
    ne "Starting server $1..."start $&& echo -ne " \t[ok]\n"
            
    fi

    ;;

    "stop" )
        echo -
    ne "Stoping server $1... "kill -`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 -`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/nullthen
                    
    echo "server $1 already running!"; exit 2; else
                    echo -
    ne "Starting server $1..."start $&& echo -ne " \t[ok]\n"
            
    fi
            
    ;;

    "*" )
        echo 
    "Usage: $0 {1 - 6} {start|stop|restart}"; exit 3
    ;;

    esac
    cat srv_files/tf/addons/metamod/metaplugins.ini1
    PHP:
    ;If your plugin came with a .vdf fileyou 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

    З.Ы.: Кто бы напомнил как указывать имя лог файла параметром запуска, был бы благодарен.
     
    R1KO и Aldo нравится это.
  9. Vaio

    Vaio

    Сообщения:
    628
    Симпатии:
    218
    Папки -uselogdir
     
    tiger_by нравится это.