HLDS - skrypcior
Od HLDS.pl
(Różnice między wersjami)
(+kategoria skrypty) |
m (→Crontab) |
||
(Nie pokazano 2 wersji utworzonych przez jednego użytkownika) | |||
Linia 18: | Linia 18: | ||
S_MAP="de_dust"; # startowa mapa | S_MAP="de_dust"; # startowa mapa | ||
S_CFG="server.cfg" # startowy konfig serwera oraz wykonywany konfig co zmiane mapy | S_CFG="server.cfg" # startowy konfig serwera oraz wykonywany konfig co zmiane mapy | ||
− | S_PID=" | + | S_PID="hlds.pid" # plik gdzie przechowywany jest process id serwera, wymagany do mordowania serwera |
S_EXTRA="-pingboost 1" # dodatkowe komendy dodawane do parametru startowego serwera | S_EXTRA="-pingboost 1" # dodatkowe komendy dodawane do parametru startowego serwera | ||
+ | S_PLIK="_crash.log" # nazwa pliku do ktorego bedzie zapisywane kiedy serwer sie zrestartowal | ||
################## | ################## | ||
Linia 26: | Linia 27: | ||
cd $S_WORKDIR | cd $S_WORKDIR | ||
$S_BIN -game $S_GAME +port $S_PORT +maxplayers $S_MAXPL +rcon_password $S_RCON +map $S_MAP +exec $S_CFG +mapchangecfgfile $S_CFG -debug -pidfile $S_PID $S_EXTRA | $S_BIN -game $S_GAME +port $S_PORT +maxplayers $S_MAXPL +rcon_password $S_RCON +map $S_MAP +exec $S_CFG +mapchangecfgfile $S_CFG -debug -pidfile $S_PID $S_EXTRA | ||
+ | |||
+ | echo "Serwer zrestartowal sie: `date`" >> $S_PLIK | ||
done | done | ||
</bash> | </bash> | ||
Linia 35: | Linia 38: | ||
################# | ################# | ||
− | MOD_NAME="/home/hlds/hlds_l/"; #Wpisz tutaj sciezke bezwzgledna do | + | MOD_NAME="/home/hlds/hlds_l/"; #Wpisz tutaj sciezke bezwzgledna do serwera. |
################ | ################ | ||
Linia 54: | Linia 57: | ||
Wpisujemy w [[konsola|konsoli]]: | Wpisujemy w [[konsola|konsoli]]: | ||
crontab -e | crontab -e | ||
− | Wciskamy klawisz Insert i strzałeczkami | + | Wciskamy klawisz Insert i strzałeczkami dochodzimy do pierwszej linii. Wpisujemy w niej taki oto tekst: |
− | 00 11 * * * /home/hlds/hlds_l/killer | + | 00 11 * * * /home/hlds/hlds_l/killer |
− | 00 23 * * * /home/hlds/hlds_l/killer | + | 00 23 * * * /home/hlds/hlds_l/killer |
− | Potem wciskamy klawisz ESC i | + | Potem wciskamy klawisz ESC i wpisujemy (''pojawi się na dole ekranu'') |
:w | :w | ||
− | Wciskamy Enter ('' | + | Wciskamy Enter (''powinien na dole się pojawić tekst o zapisaniu pliku''), wpisujemy znowu: |
:q | :q | ||
Aktualna wersja na dzień 22:49, 19 lut 2007
UWAGA ten artykuł jest wyłącznie pod Linuksa |
Spis treści |
Uwaga
Powinno (chyba) działać - nie testowałem :D Podane ścieżki do katalogów są przykładowe.
Startowy serwera
Wrzućmy go do /home/hlds/hlds_l/_serv1 i dajmy mu prawa wykonywalne (chmod +x)
#!/bin/bash ############### S_WORKDIR="/home/hlds/hlds_l"; # definuje katalog gdzie jest serwer S_BIN="./hlds_run"; # definiuje pik do wykonania S_GAME="cstrike"; # defiuje mod gry S_PORT="27015"; # port na jakim ma stac serwer gry S_MAXPL="18"; # maksymalna ilosc graczy S_RCON="******"; # haslo rcon S_MAP="de_dust"; # startowa mapa S_CFG="server.cfg" # startowy konfig serwera oraz wykonywany konfig co zmiane mapy S_PID="hlds.pid" # plik gdzie przechowywany jest process id serwera, wymagany do mordowania serwera S_EXTRA="-pingboost 1" # dodatkowe komendy dodawane do parametru startowego serwera S_PLIK="_crash.log" # nazwa pliku do ktorego bedzie zapisywane kiedy serwer sie zrestartowal ################## while true; do cd $S_WORKDIR $S_BIN -game $S_GAME +port $S_PORT +maxplayers $S_MAXPL +rcon_password $S_RCON +map $S_MAP +exec $S_CFG +mapchangecfgfile $S_CFG -debug -pidfile $S_PID $S_EXTRA echo "Serwer zrestartowal sie: `date`" >> $S_PLIK done
Morderca serwera
Zapisujemy jako /home/hlds/hlds_l/killer i dajemy prawa do wykonywania (chmod +x)
#!/bin/bash ################# MOD_NAME="/home/hlds/hlds_l/"; #Wpisz tutaj sciezke bezwzgledna do serwera. ################ echo "Zamykam HLDS..." cd $MOD_NAME kill -9 `cat hlds.pid` >/dev/null 2>&1 if [ "$?" == "0" ]; then #rm -rf hlds.pid # usun "kratke", jesli chcesz, aby plik z numerem procesu byl usuwany przy wylaczaniu serwera echo "HLDS wylaczony pomyslnie" else echo "Nie ma odpalonego HLDS!" fi
Crontab
Co 12 godzin będzie mordował serwer, o żądanej godzinie
Wpisujemy w konsoli:
crontab -e
Wciskamy klawisz Insert i strzałeczkami dochodzimy do pierwszej linii. Wpisujemy w niej taki oto tekst:
00 11 * * * /home/hlds/hlds_l/killer 00 23 * * * /home/hlds/hlds_l/killer
Potem wciskamy klawisz ESC i wpisujemy (pojawi się na dole ekranu)
:w
Wciskamy Enter (powinien na dole się pojawić tekst o zapisaniu pliku), wpisujemy znowu:
:q