shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Script para admin de jogos online


From: leobash10
Subject: Script para admin de jogos online
Date: Tue, 11 Jul 2006 16:30:30 -0300

Pessoal..

assim como o amigo Klaus ae, eu sempre tô de olho na lista e aprendendo
coisas novas...
Fiz um script para administrar salas de CounterStrike, Day of Dfet e
Condition Zero porque toda hora que eu ia derrubar uma sala era um
transtorno, caia outras salas etc.O script está funcionando belezinha mas
ele ficou meio feião eu acho... Nos 'params' eu não pude deixar em uma linha
só porque no tenho 'secure' e 'insecure' e os nomes dos mapas quem mudam, e
eu ia ter que aumentar mais 2 campo na passagem de parametros, ia para 7 e
achei muito..
Se alguem puder dar alguma dica para otimizar agradeço, aí aprendo mais. Com
certeza tem outras formas de se fazez, esta foi a minha, e gostaria de
escutar a opinião de vocês mais experientes.

Valeu
law

OS: quem joga CounterStrike e quiser jogar é só me mandar um zémail off-list
para passar os IPS e porta.

Segue script:

if [ -z $1 ] || [ -z $2 ] || [ -z $3 ] || [ -z $4 ] || [ -z $5 ]; then
   echo "Usar: ./hlds.sh stop/start cliente porta game(cstrike/czero/dod)
jogadores (min12/max20)"
            echo "Exemplo: start cliente 27100 cstrike 20"
  exit 100
fi
if [ -n "$6" ]; then
  /bin/echo "Usar somente 5 argumentos"
  exit 100
fi

ACAO=$1
CLIENTE=$2
PORTA=$3
GAME=$4
JOG=$5
DIR=/opt/lwg/$2
PARAMS="./hlds_run -console -game $GAME +port $PORTA +map de_dust2
+maxplayers $JOG -secure -autoupdate +log on"
PARAMS2="./hlds_run -console -game $GAME +port $PORTA +map de_dust_cz
+maxplayers $JOG -secure -autoupdate +log on"
PARAMS3="./hlds_run -console -game $GAME +port $PORTA +map dod_forest
+maxplayers $JOG -secure -autoupdate +log on"
PARAMS4="./hlds_run -console -game $GAME +port $PORTA +map de_dust2
+maxplayers $JOG -insecure -autoupdate +log on"
PARAMS5="./hlds_run -console -game $GAME +port $PORTA +map de_dust_cz
+maxplayers $JOG -insecure -autoupdate +log on"
PARAMS6="./hlds_run -console -game $GAME +port $PORTA +map dod_forest
+maxplayers $JOG -insecure -autoupdate +log on"

case "$1" in
 'start' )
        echo -n "Deseja ligar esta sala com VAC(secure)? [s/n]"
       read resposta
       if [ $resposta = s ]; then
            if [ "$GAME" = cstrike ]
             then
              cd $DIR
              echo "Reiniciando $CLIENTE game $GAME..."
              nohup $PARAMS / -$CLIENTE gcc &
              sleep 2
              echo "Sala $CLIENTE game $GAME reiniciada...VAC OK."
           elif [ "$GAME" = czero ]
            then
              cd $DIR
              echo "Reiniciando $CLIENTE game $GAME..."
              nohup $PARAMS2 / -$CLIENTE gcc &
              sleep 2
              echo "Sala $CLIENTE game $GAME reiniciada...VAC OK."
           else [ "$GAME" = dod ]
              cd $DIR
              echo "Reiniciando $CLIENTE game $GAME..."
              nohup $PARAMS3 / -$CLIENTE gcc &
              sleep 2
              echo "Sala $CLIENTE game $GAME reiniciada...VAC OK."
             exit 0
           fi
      else
             if [ "$GAME" = cstrike ]
             then
              cd $DIR
              echo "Reiniciando $CLIENTE game $GAME..."
              nohup $PARAMS4 / -$CLIENTE gcc &
              sleep 2
              echo "Sala $CLIENTE game $GAME reiniciada...VAC NO."
           elif [ "$GAME" = czero ]
            then
              cd $DIR
              echo "Reiniciando $CLIENTE game $GAME..."
              nohup $PARAMS5 / -$CLIENTE gcc &
              sleep 2
              echo "Sala $CLIENTE game $GAME reiniciada...VAC NO."
           else [ "$GAME" = dod ]
              cd $DIR
              echo "Reiniciando $CLIENTE game $GAME..."
              nohup $PARAMS6 / -$CLIENTE gcc &
              sleep 2
              echo "Sala $CLIENTE game $GAME reiniciada...VAC NO."
             exit 0
           fi
     fi
          ;;

 'stop' )
      echo "Parando $CLIENTE game $GAME..."
     sudo kill -9 `ps aux | grep $PORTA | awk '{print $2}'`
      echo "Sala $CLIENTE game $GAME parada..."
    ;;
 *)
esac
exit 0



[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]