SRCDS - skrypcior
Od HLDS.pl
(Różnice między wersjami)
(→Morderca serwera) |
(→Startowy serwera) |
||
(Nie pokazano 18 wersji utworzonych przez 3 użytkowników) | |||
Linia 1: | Linia 1: | ||
+ | {{linuxonly}} | ||
+ | == Uwaga == | ||
+ | Powinno (''chyba'') działać - nie testowałem :D | ||
+ | Podane ścieżki do katalogów są przykładowe. | ||
+ | |||
==Startowy serwera == | ==Startowy serwera == | ||
− | Wrzućmy go do | + | Wrzućmy go do katalogu z serwerem gry i dajmy mu prawa wykonywalne (''chmod +x'') |
− | < | + | <bash> |
#!/bin/bash | #!/bin/bash | ||
############### | ############### | ||
− | S_WORKDIR="/home/ | + | S_WORKDIR="/home/hlds/srcds"; # definuje katalog gdzie jest serwer |
− | S_BIN=" | + | S_BIN="./srcds_run"; # definiuje pik do wykonania |
− | S_GAME=" | + | S_GAME="dod"; # defiuje mod gry |
− | S_PORT=" | + | S_PORT="27015"; # port na jakim ma stac serwer gry |
− | S_MAXPL=" | + | S_MAXPL="18"; # maksymalna ilosc graczy |
− | S_RCON="******" | + | S_RCON="******"; # haslo rcon |
− | S_MAP=" | + | S_MAP="dod_anzio"; # startowa mapa |
− | S_CFG="server.cfg" | + | S_CFG="server.cfg" # startowy konfig serwera oraz wykonywany konfig co zmiane mapy |
− | S_PID="srcds.pid" | + | S_PID="srcds.pid" # plik gdzie przechowywany jest process id serwera, wymagany do mordowania serwera |
− | S_TIC=" | + | S_TIC="66" # tickrate, jak plynnie sie bedzie gralo, nie dawac wiecej niz 100 |
− | S_PORT=" | + | S_PORT="27014" # port do steam |
+ | S_PLIK="_crash.log" # nazwa pliku do ktorego bedzie zapisywane kiedy serwer sie zrestartowal | ||
################## | ################## | ||
− | while | + | while true; |
+ | do | ||
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 -tickrate $S_TIC -debug -sport $S_PORT -pidfile $S_PID | |
+ | |||
+ | echo "Serwer zrestartowal sie: `date`" >> $S_PLIK | ||
done | done | ||
− | </ | + | </bash> |
− | == Morderca serwera== | + | == Morderca serwera == |
− | + | Zapisujemy jako /home/hl/hlds_css/killer i dajemy prawa do wykonywania (''chmod +x) | |
+ | <bash> | ||
+ | #!/bin/bash | ||
− | + | ################# | |
− | + | MOD_NAME="/home/users/serwery/srcds/dod"; #Wpisz tutaj sciezke bezwzgledna do moda jaki odpalasz (cstrike ,dod czy inny). | |
− | + | ################ | |
− | + | echo "Zamykam SRCDS..." | |
− | + | cd $MOD_NAME | |
+ | kill -9 `cat srcds.pid` >/dev/null 2>&1 | ||
+ | if [ "$?" == "0" ]; then | ||
+ | #rm -rf srcds.pid | ||
+ | echo "SRCDS wylaczony pomyslnie" | ||
+ | else | ||
+ | echo "Nie ma odpalonego SRCDS!" | ||
+ | fi | ||
+ | </bash> | ||
− | + | == Crontab == | |
− | + | Co 12 godzin będzie mordował serwer, o żądanej godzinie | |
− | Wciskamy | + | |
− | : | + | Wpisujemy w [[konsola|konsoli]]: |
+ | crontab -e | ||
+ | Wciskamy klawisz Insert i strzałeczkami dochodzmiy do pierwszej linii. Wpisujemy w niej taki oto tekst: | ||
− | + | 00 11 * * * /home/hl/hlds_css/killer srcds.pid | |
+ | 00 23 * * * /home/hl/hlds_css/killer srcds.pid | ||
+ | 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 | ||
[[Kategoria:SRCDS]] | [[Kategoria:SRCDS]] | ||
[[Kategoria:Linux]] | [[Kategoria:Linux]] | ||
[[Kategoria:Serwery gier]] | [[Kategoria:Serwery gier]] | ||
+ | [[Kategoria:skróty]] | ||
+ | [[Kategoria:Skrypty]] |
Aktualna wersja na dzień 17:47, 6 mar 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 katalogu z serwerem gry i dajmy mu prawa wykonywalne (chmod +x)
#!/bin/bash ############### S_WORKDIR="/home/hlds/srcds"; # definuje katalog gdzie jest serwer S_BIN="./srcds_run"; # definiuje pik do wykonania S_GAME="dod"; # 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="dod_anzio"; # startowa mapa S_CFG="server.cfg" # startowy konfig serwera oraz wykonywany konfig co zmiane mapy S_PID="srcds.pid" # plik gdzie przechowywany jest process id serwera, wymagany do mordowania serwera S_TIC="66" # tickrate, jak plynnie sie bedzie gralo, nie dawac wiecej niz 100 S_PORT="27014" # port do steam 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 -tickrate $S_TIC -debug -sport $S_PORT -pidfile $S_PID echo "Serwer zrestartowal sie: `date`" >> $S_PLIK done
Morderca serwera
Zapisujemy jako /home/hl/hlds_css/killer i dajemy prawa do wykonywania (chmod +x)
#!/bin/bash ################# MOD_NAME="/home/users/serwery/srcds/dod"; #Wpisz tutaj sciezke bezwzgledna do moda jaki odpalasz (cstrike ,dod czy inny). ################ echo "Zamykam SRCDS..." cd $MOD_NAME kill -9 `cat srcds.pid` >/dev/null 2>&1 if [ "$?" == "0" ]; then #rm -rf srcds.pid echo "SRCDS wylaczony pomyslnie" else echo "Nie ma odpalonego SRCDS!" fi
Crontab
Co 12 godzin będzie mordował serwer, o żądanej godzinie
Wpisujemy w konsoli:
crontab -e
Wciskamy klawisz Insert i strzałeczkami dochodzmiy do pierwszej linii. Wpisujemy w niej taki oto tekst:
00 11 * * * /home/hl/hlds_css/killer srcds.pid 00 23 * * * /home/hl/hlds_css/killer srcds.pid
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