Skrypt startowy HLDS by Vikus

(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania

Wersja z 01:49, 9 sty 2007

Używanie

  • Uruchamia serwer HLDS
./cs_run start
  • Zatrzymuje serwer HLDS
./cs_run stop
  • Resetuje serwer HLDS
./cs_run restart
  • Sprawdza czy serwer HLDS jest uruchomiony
./cs_run status
  • Laczy sie z serwerem HLDS czyli screenem
./cs_run show

Skrypt

#!/bin/bash
 
#########################################################################
#  Skrypt do uruchamiania servera Counter Strike 1.6 by Vikus      #
#         Ver 2.0                  #
#########################################################################
 
#########################################################################
# Dostepne komedy:
# ------------------
# ./cs_run start   - Uruchamia serwer HLDS
# ./cs_run stop      - Zatrzymuje serwer HLDS
# ./cs_run restart   - Resetuje serwer HLDS
# ./cs_run status   - Sprawdza czy serwer HLDS jest uruchomiony
# ./cs_run show      - Laczy sie z serwerem HLDS czyli screenem
#########################################################################
 
#########################################################################
# W tej czesi skonfiguruj do wlasnych potrzeb
#########################################################################
 
DIR_HLDS="/home/cstrike/hlds_l"   # sciezke do plikow serwera HLDS
PORT="27015"         # port na jakim bedzie serwer
MP="14"            # maxymalna liczba graczy
MAP="de_dust2"         # mapa startowa
CFG="server.cfg"      # plik konfiguracyjny do serwera
NAME=cs_server         # nazwa dla screena
 
PARAMS="-game cstrike -insecure +port $PORT +maxplayers $MP +map $MAP exec $CFG"
 
# Dostepne wartosci ktore mozemy wykorzystac przy starcie serwera
# wystarczy dodac do zmiennej PARAMS
#
# -autoupdate      autoupdate sewera po restarcie
# -debug      tryb debugera
# -insecure      VAC wylaczony
# -nomaster      serwer widoczny w przegladarce (find server)
# +sv_lan 1      serwer na LAN
# +sv_password ""    haslo dla serwera
#
########################################################################
 
function check_proc
{
  ps aux | grep "SCREEN.*$NAME" | grep -v grep > /dev/null
  let R=$?
 
  if [ $R -eq 1 ]
    then
   proc=hlds_down
  else
   proc=hlds_up
  fi
}
 
 
function start_hlds
{
 check_proc
 
  if [ $proc = "hlds_down" ]
    then
        cd $DIR_HLDS
        screen -A -m -d -S $NAME ./hlds_run $PARAMS
   sleep 0.5
        echo ""
        echo -e "\E[32m*\033[0m \E[34mSerwer HLDS zostal uruchomiony!\033[0m"
   echo -e "\E[32m*\033[0m \E[34mScreen name: $NAME \033[0m"
  else
   echo ""
   echo -e "\E[32m*\033[0m \E[31mSerwer HLDS jest juz uruchomiony!\033[0m"
   echo ""
  fi   
}
 
function stop_hlds
{
 check_proc
 
  if [ $proc = "hlds_up" ]
    then
        screen -wipe > /dev/null
        kill -9 `screen -ls | grep -w $NAME | awk -F . '{print $1}' | awk '{print $1}'`
   sleep 0.5
        echo ""
        echo -e "\E[32m*\033[0m \E[34mSerwer HLDS zatrzymany!\033[0m"
  else
   echo ""
   echo -e "\E[32m*\033[0m \E[31mSerwer HLDS nie jest uruchomiony!\033[0m"
   echo ""
  fi
}
 
function restart_hlds
{
 check_proc
 
  if [ $proc = "hlds_up" ]
    then
   stop_hlds   
   start_hlds
   echo ""
   echo -e "\E[32m*\033[0m \E[34mSerwer HLDS zrestartowany!\033[0m"
  else
   echo ""
   echo -e "\E[32m*\033[0m \E[31mSerwer HLDS nie jest uruchomiony!\033[0m"
   echo ""
  fi
}
 
function show_hlds
{
 check_proc
 
  if [ $proc = "hlds_up" ]
    then
   screen -r $NAME
  else
   echo ""
   echo -e "\E[32m*\033[0m \E[31mSerwer HLDS nie jest uruchomiony!\033[0m"
   echo ""
  fi
}
 
function status_hlds
{
 check_proc
 
  if [ $proc = "hlds_up" ]
    then
   echo ""
   echo -e "\E[32m*\033[0m \E[34mSerwer HLDS jest uruchomiony!\033[0m"
   echo -e "\E[32m*\033[0m \E[34mScreen name: $NAME\033[0m"
   echo ""
  else
   echo ""
   echo -e "\E[32m*\033[0m \E[31mSerwer HLDS nie jest uruchomiony!\033[0m"
   echo ""
  fi
}
 
 
if [ "$#" -eq 0 ]
    then
   echo ""
   echo -e "\E[32m#\033[0m\E[36m Podaj parametr:\033[0m"
   echo -e "\E[32m-----------------\033[0m"
   echo -e "\E[32m#\033[0m\E[31m start\033[0m \E[32m- Start serwer HLDS\033[0m"
   echo -e "\E[32m#\033[0m\E[31m stop\033[0m \E[32m - Stop serwer HLDS\033[0m"
   echo -e "\E[32m#\033[0m\E[31m restart\033[0m \E[32m - Restart serwer HLDS\033[0m"
   echo -e "\E[32m#\033[0m\E[31m show\033[0m \E[32m - Polacz sie z serwerem HLDS\033[0m"
   echo -e "\E[32m#\033[0m\E[31m status\033[0m \E[32m - Status serwera HLDS\033[0m"
   echo ""
else
 
if [ "$1" = "start" ]
    then
       start_hlds
fi;
 
if [ "$1" = "stop" ]
    then
        stop_hlds
fi;
 
if [ "$1" = "restart" ]
    then
        restart_hlds
fi;
 
if [ "$1" = "show" ]
    then
   show_hlds
fi;
 
if [ "$1" = "status" ]
    then
   status_hlds
fi;
 
fi;
Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia