Skrypt startowy HLDS by Vikus
Od HLDS.pl
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;