Serwer Counter-Strike 1.6 Linux
(→Parametry) |
(Wikizacja :D.) |
||
Linia 3: | Linia 3: | ||
− | Wcześniej zobacz [[HLDS]] a dopiero tutaj patrz. | + | Wcześniej zobacz artykuł o [[HLDS]], a dopiero tutaj patrz. |
Linia 10: | Linia 10: | ||
Poniższe FAQ jest przeznaczone dla osób, które chcą zainstalować Serwer Counter-Strike'a. | Poniższe FAQ jest przeznaczone dla osób, które chcą zainstalować Serwer Counter-Strike'a. | ||
− | Aby zacząć cokolwiek robić, musisz mieć przynajmniej jakakolwiek | + | Aby zacząć cokolwiek robić, musisz mieć przynajmniej jakakolwiek wiedzę na temat systemów typu *nix - najlepiej jak najpierw zajrzycie [http://zlobek.tcz.wroclaw.pl tutaj]. |
− | Warto także najpierw zobaczyć podstronę tego artykułu w zależności od posiadanego systemu operacyjnego (''jeśli takowa istnieje'') | + | Warto także najpierw zobaczyć podstronę tego artykułu w zależności od posiadanego systemu operacyjnego (''jeśli takowa istnieje''). |
Wymagania: | Wymagania: | ||
− | *Dostęp do | + | *Dostęp do serwera po przez [[SSH]], albo siedzieć przy nim ;), |
− | *Połączenie z internetem na | + | *Połączenie z internetem na serwerze z Linuksem, |
− | *‘homedir’ gdzie masz prawa zapisu | + | *‘homedir’ gdzie masz prawa zapisu, |
− | *Więcej niż | + | *Więcej niż 600 MB miejsca na dysku, |
− | *wget | + | *pakiet wget, |
− | * | + | *pakiet gzip (unzip). |
=Instalacja Steam'a= | =Instalacja Steam'a= | ||
− | Potrzebujemy pliku z internetu aby | + | Potrzebujemy pliku z internetu, aby zassać serwer. Używamy pakietu ‘wget’, aby pobrać plik. |
wget http://storefront.steampowered.com/download/hldsupdatetool.bin | wget http://storefront.steampowered.com/download/hldsupdatetool.bin | ||
Linia 34: | Linia 34: | ||
./hldsupdatetool.bin | ./hldsupdatetool.bin | ||
− | Po przeczytaniu licencji wpisujemy | + | Po przeczytaniu licencji wpisujemy: |
yes | yes | ||
I tak powstaje plik steam. | I tak powstaje plik steam. | ||
− | + | ||
+ | Jeśli nagle uzyskasz błąd typu: | ||
<pre> | <pre> | ||
sh: line 1: uncompress: command not found | sh: line 1: uncompress: command not found | ||
Linia 44: | Linia 45: | ||
sh: uncompress: | sh: uncompress: | ||
</pre> | </pre> | ||
− | |||
to zajrzyj [[Hldsupdatetool#Problem_z_plikiem|tutaj]] | to zajrzyj [[Hldsupdatetool#Problem_z_plikiem|tutaj]] | ||
Linia 53: | Linia 53: | ||
Teraz uruchamiamy go komendą | Teraz uruchamiamy go komendą | ||
./steam | ./steam | ||
− | W tym momencie steam | + | W tym momencie steam się zaktualizuje i trzeba go uruchomić jeszcze raz, ale o tym to już niżej. |
=Instalacja Serwera= | =Instalacja Serwera= | ||
Linia 62: | Linia 62: | ||
./steam -command update -game <game> -dir <dir> -username <username> -password <password> | ./steam -command update -game <game> -dir <dir> -username <username> -password <password> | ||
− | W miejsce wyrazu między < > | + | W miejsce wyrazu między < > należy podstawić wartość jaką chcemy, aby parametr przyjął. Na przykład jeśli mamy ''-game <game>'', a do wyboru z wartości mamy ''cstrike'', ''dod'', ''czero'' (itd) i chcemy aby parametr miał wartość ''cstrike'' to wpisujemy w ostateczności '''-game cstrike''' |
− | Opcje ''-username <username>'' i ''-password <password>'' | + | Opcje ''-username <username>'' i ''-password <password>'' są opcjonalne dla innych gier, dla CS 1.6 są '''zbędne'''. |
*''<username>'' to twoj@e-mail, lepiej aby był poprawnym emailem | *''<username>'' to twoj@e-mail, lepiej aby był poprawnym emailem | ||
− | *''<password>'' to | + | *''<password>'' to twoje_hasło, najlepiej bez spacji |
*''<game>'' to gra (do wyboru mamy ''cstrike'', ''valve'', ''tfc'', ''ricochet'', ''dod'', ''dmc''), w naszym przypadku jest to ''cstrike'' | *''<game>'' to gra (do wyboru mamy ''cstrike'', ''valve'', ''tfc'', ''ricochet'', ''dod'', ''dmc''), w naszym przypadku jest to ''cstrike'' | ||
− | *''<dir>'' - to | + | *''<dir>'' - to ścieżka do instalacji serwera, tu mamy ~/hlds_l (''może to być /home/user/hlds_l/'') lub "./", wtedy zainstaluje się w katalogu w którym jesteśmy. |
− | + | Można dodać parametry ''-remember_password'' ''-verify_all'', aby zapamiętać hasło oraz aby zawsze sprawdzać wszystkie pliki zasobów serwera (np.: czasem hlds potrafi strącić pliki w wyniku padu zasilania, oracz czasem valve wysyła poprawione wersje map, itp.) | |
W takim przypadku nasz ogólna linia startowa będzie wyglądać jak poniżej: | W takim przypadku nasz ogólna linia startowa będzie wyglądać jak poniżej: | ||
− | + | ./steam -command update -game <game> -dir <dir> -username <username> -password <password> -remember_password -verify_all -retry | |
− | ''-retry'' spowoduje ze na pewno | + | ''-retry'' spowoduje ze na pewno wcześniej czy później ściągnięcie grę. Należy pamiętać o odblokowaniu potrzebnych portów. |
− | Dla przykładu który '''POWINNIŚCIE STOSOWAĆ''' w | + | Dla przykładu który '''POWINNIŚCIE STOSOWAĆ''' w większości przypadków, aby zainstalować '''cstrike''' bez hasła, ani użytkownika, w podkatalogu ~/hlds_l: |
./steam -command update -game cstrike -dir ~/hlds_l -verify_all -retry | ./steam -command update -game cstrike -dir ~/hlds_l -verify_all -retry | ||
− | Teraz następuje | + | Teraz następuje ściąganie wszystkich plików serwera (ok. 340 MB) z serwerów Valve, jeśli masz wolne łącze, to będzie to trwało dość długo. |
− | + | ||
Po ściągnięciu plików możemy przystąpić do pierwszego uruchomienia serwera. | Po ściągnięciu plików możemy przystąpić do pierwszego uruchomienia serwera. | ||
Linia 94: | Linia 93: | ||
==Parametry== | ==Parametry== | ||
− | ''+ip <ip>'' oznacza ze chcemy aby serwer | + | ''+ip <ip>'' oznacza ze chcemy aby serwer był tylko na danym adresie ip , nie musicie tego dawać jeśli chcecie uruchomić serwer widoczny na lanie i internecie (pod warunkiem ze serwer linuksowy ma przekierowanie na routerze odpowiednich portów albo on sam ma publiczny adres ip). |
− | ip są zależne od numerów jaki ma dany serwer i | + | ip są zależne od numerów jaki ma dany serwer i zależy to do jego konfiguracji - warto mieć admina serwera pod ręką :P. |
− | jeśli nie sprecyzujemy parametru ip, to hlds będzie słuchał na | + | jeśli nie sprecyzujemy parametru ip, to hlds będzie słuchał na wszystkich interfejsach sieciowych serwera - użyteczne jak chcemy mieć serwer na przykład w dwóch sieciach komputerowych albo serwer na lan i na internecie (np.: w internet cafe). Przy numerach dynamicznych lepiej nie precyzować numeru ip serwera (np.: mając łącze takie jak Neostrada, itp.) |
− | + | Przykład +ip 192.168.1.10 | |
− | ''+port <port>'' oznacza na jakim porcie chcemy | + | ''+port <port>'' oznacza na jakim porcie chcemy odpalić serwer, przeważnie domyślnie mamy 27015, można zmienić np.: na 27016 jeśli stawiamy drugi serwer |
− | + | ||
+ | Przykład +port 27016 | ||
− | ''+maxplayers <liczba>'' oznacza na ile | + | ''+maxplayers <liczba>'' oznacza na ile slotów chcemy stworzyć serwer, przeważnie chcemy zrobić na 18 graczy, czyli mamy +maxplayers 18. Maksymalna ilość slotów zależy w dużej mierze od wydajności waszego serwera oraz łącza internetowego. |
− | ''+map <mapa>'' każe załadować | + | ''+map <mapa>'' każe załadować mapę, inaczej serwer będzie działał, ale na nim nie zagracie :D, trzeba dodać +map de_dust |
jeśli nie ma mapy powinna być jednak możliwość podłączenia się do serwera poprzez rcon. | jeśli nie ma mapy powinna być jednak możliwość podłączenia się do serwera poprzez rcon. | ||
− | ''-autoupdate'' parametr, dzięki któremu serwer będzie się automatycznie aktualizował po restarcie | + | ''-autoupdate'' parametr, dzięki któremu serwer będzie się automatycznie aktualizował po restarcie. |
'''OSTATECZNIE''' wasza podstawowa linia startowa serwera powinna wyglądać na przykład tak: | '''OSTATECZNIE''' wasza podstawowa linia startowa serwera powinna wyglądać na przykład tak: | ||
− | + | ./hlds_run -autoupdate -game cstrike +maxplayers 18 +exec server.cfg +map de_dust | |
=Pierwsze uruchomienie= | =Pierwsze uruchomienie= | ||
− | Warto najpierw | + | Warto najpierw odpalić serwer bez modów i sprawdzić czy działa. Warto [[HLDS Parametry Startowe|uruchomić serwer z parametrem]] '''-debug -condebug''', dzięki czemu będziemy widzieć o wiele więcej komunikatów o błędach, a większość problemów będzie w pliku cstrike/qconsole.txt |
− | Serwer | + | Serwer powinien wystartować i po chwili pokazać, że chodzi. Możemy się o tym przekonać wpisując w konsoli komendę |
− | + | status | |
− | powinno | + | powinno zwrócić info jaka jest mapa, adres ip, ilość graczy, itd - możemy spróbować się do niego podłączyć. |
− | Jak sobie pobiegamy to teraz można | + | Jak sobie pobiegamy to teraz można wyłączyć serwer (wpisz komendę quit w konsoli serwera) i myśleć nad bardziej zaawansowanym konfigurowaniem, opisanym w innych artykułach. |
=FreeBSD= | =FreeBSD= | ||
Linia 129: | Linia 129: | ||
'''Autor: di0nizy''' | '''Autor: di0nizy''' | ||
Instalacja Klienta Steam pod systemem FreeBSD. | Instalacja Klienta Steam pod systemem FreeBSD. | ||
− | Niestety, aby wszytko | + | Niestety, aby wszytko działało jak należy będzie nam potrzeby root albo superuser. |
− | Po | + | Po aktualizacji portów (aktualizacji systemu) wykonujemy polecenie: |
<pre># cd /usr/ports/emulators/linux_base-suse-9.2 && make install clean</pre> | <pre># cd /usr/ports/emulators/linux_base-suse-9.2 && make install clean</pre> | ||
Linia 142: | Linia 142: | ||
<pre>cd /usr/ports/games/linux-steam && make install clean</pre> | <pre>cd /usr/ports/games/linux-steam && make install clean</pre> | ||
− | Jeśli chcecie zainstalować Steam'a w konkretnej lokalizacji, musisz | + | Jeśli chcecie zainstalować Steam'a w konkretnej lokalizacji, musisz wyedytować plik ''/usr/ports/games/linux-steam/Makefile'' |
W środku znajdziesz linię: | W środku znajdziesz linię: | ||
<pre>INSTALLDIR?= steam</pre> | <pre>INSTALLDIR?= steam</pre> | ||
Zmień ją na: | Zmień ją na: | ||
− | <pre>INSTALLDIR?=/gdziekolwiek/Ci/wygodnie/ | + | <pre>INSTALLDIR?=/gdziekolwiek/Ci/wygodnie/zainstalować/steama/</pre> |
− | System powienien | + | System powienien ściągnąć i zainstalować Steam'a jak i wszystkie niezbędne do jego działania biblioteki. |
Na końcu: | Na końcu: | ||
Linia 164: | Linia 164: | ||
=Gentoo= | =Gentoo= | ||
− | Warto zajrzeć najpierw na [http://gentoo-wiki.com/HOWTO_Halflife_Dedicated_Server_(CounterStrike) Gentoo Wiki] - o ile artykuł jest o Serwerze Source, warto się z nim | + | Warto zajrzeć najpierw na [http://gentoo-wiki.com/HOWTO_Halflife_Dedicated_Server_(CounterStrike) Gentoo Wiki] - o ile artykuł jest o Serwerze Source, warto się z nim zaznajomić i pozmieniać odpowiednie wartości jak "Counter-Strike Source" na cstrike. |
==Potrzebne pakiety== | ==Potrzebne pakiety== | ||
Linia 174: | Linia 174: | ||
app-misc/screen | app-misc/screen | ||
− | Można pobawić | + | Można pobawić się pakietem halflife-steam ale radziłbym stosować opisaną instalację jak dla normalnych linuksów. |
=Wywalanie się serwera z powodu CPU Frequency= | =Wywalanie się serwera z powodu CPU Frequency= | ||
− | + | Jeszcze jedna notka co do wywalającego się serwera, najczęściej objawiająca się komunikatem | |
Unable to determine CPU Frequency | Unable to determine CPU Frequency | ||
Problem leży w katalogu /proc | Problem leży w katalogu /proc | ||
− | [http://forums.steampowered.com/forums/showthread.php? | + | [http://forums.steampowered.com/forums/showthread.php?threadid=288360&highlight=Unable+determine+Frequency SteamPowered Forums thread] |
− | + | Przeważnie chodzi o to, że w systemie linuksowym nie ma dostępu do /proc/cpuinfo albo go w ogóle nie ma - tak się zdarza przy bardzo restrykcyjnie ustawionym systemie (np.: PLD) albo jak nie ma doinstalowanych pakietów (np.: FreeBSD) | |
− | HLDS | + | HLDS używa od jakiegoś czasu dziwnej metody określenia taktowania procesora, czasem mu się udaje, ale jak procesor jest bardzo obciążony to może mu się nie udać (w wyniku przełączania procesów) i wywala błąd - dlatego serwer np startuje ale przy zmianie mapy pada. |
− | + | Rozwiązaniem jest danie userowi na którym działa serwer dostępu do czytania /proc/cpuinfo albo przeczytajcie niżej rozwiązanie dla FreeBSD. | |
---- | ---- | ||
Linia 235: | Linia 235: | ||
// ale wtedy trzeba recznie w konsoli napisc adres serwera aby sie podlaczyc (jesli serwer pelny) | // ale wtedy trzeba recznie w konsoli napisc adres serwera aby sie podlaczyc (jesli serwer pelny) | ||
// ustawiasz np te wartosc na 20 a masz maxplayers 22 i w rzeczywistosci masz 2 wolne sloty na serwerze | // ustawiasz np te wartosc na 20 a masz maxplayers 22 i w rzeczywistosci masz 2 wolne sloty na serwerze | ||
− | |||
exec banned.cfg // laduj bany steamid/wonid | exec banned.cfg // laduj bany steamid/wonid | ||
Linia 251: | Linia 250: | ||
/////////////////////////////////////////////////////////////////////////////////////////////////// | /////////////////////////////////////////////////////////////////////////////////////////////////// | ||
// wydajnosc | // wydajnosc | ||
− | fps_max | + | fps_max 100 // ile fps serwer powinien miec srednio, najlepiej aby byla okolo 100, ale nie wieksza od 200 |
// inaczej serwer zzera za duzo procesora | // inaczej serwer zzera za duzo procesora | ||
host_framerate 0 // cholera wie co to jest | host_framerate 0 // cholera wie co to jest | ||
− | sys_ticrate | + | sys_ticrate 200 // wartosc 125 jest zalecana, najlepiej nie miec wiecej niz 200, niektore mecze wymagaja 1000, ale firmy hostingowe moga forsowac te wartosc na nizsze |
// 10 000 jest wartoscia ekstremalna, jedynie na lany dla wymiataczy | // 10 000 jest wartoscia ekstremalna, jedynie na lany dla wymiataczy | ||
− | // przewaznie zzera tylko | + | // przewaznie zzera tylko niepotrzebnie procesor |
/////////////////////////////////////////////////////////////////////////////////////////////////// | /////////////////////////////////////////////////////////////////////////////////////////////////// | ||
// net | // net | ||
− | sv_maxrate | + | sv_maxrate 20000 // maksymalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna, |
// ustawianie wartosci ponizej 4000 zlaguje graczy i serwer, na lan maksymalna wartość 25000 | // ustawianie wartosci ponizej 4000 zlaguje graczy i serwer, na lan maksymalna wartość 25000 | ||
// na serwer internetowy - zalezy do lacza, sprobuj z 9999 jesli masz lagi, ewentualnie sukcesywnie zmniejszaj o 500 | // na serwer internetowy - zalezy do lacza, sprobuj z 9999 jesli masz lagi, ewentualnie sukcesywnie zmniejszaj o 500 | ||
− | sv_maxupdaterate | + | sv_maxupdaterate 80 // maksymalna wartosc jaka klient moze miec przy cl_updaterate, |
// jesli ma wiecej to bedzie mial tracone pakiety | // jesli ma wiecej to bedzie mial tracone pakiety | ||
sv_minrate 0 // minimalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna, domyslnie 4000, | sv_minrate 0 // minimalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna, domyslnie 4000, | ||
// ustawanie wartosci powyzej 6000 zlaguje serwer i graczy | // ustawanie wartosci powyzej 6000 zlaguje serwer i graczy | ||
− | // zaleca sie | + | // zaleca sie trzymanie wartosci 0 ze wzgledu na serwery HLTV - po prostu mozna zaoszczedzic kase za lacze |
− | sv_maxunlag 1 // | + | |
+ | sv_minupdaterate 10 // minimalna wartosc jaka klient musi miec przy cl_updaterate, | ||
+ | // zaleca sie trzymanie wartosci 10 ze wzgledu na serwery HLTV | ||
+ | |||
+ | sv_maxunlag 1 // maksymalny czas w sekundach kompensacji lagow | ||
/////////////////////////////////////////////////////////////////////////////////////////////////// | /////////////////////////////////////////////////////////////////////////////////////////////////// | ||
Linia 382: | Linia 385: | ||
/////////////////////////////////////////////////////////////////////////////////////////////////// | /////////////////////////////////////////////////////////////////////////////////////////////////// | ||
// ekstra konfigi | // ekstra konfigi | ||
− | exec addons/wwcl/scripts/wwcl_config.cfg // wykonaj confgi wwcl (jesli posiadasz ten plugin, a jak nie to nic zlego sie nie stanie) | + | //exec addons/wwcl/scripts/wwcl_config.cfg // wykonaj confgi wwcl (jesli posiadasz ten plugin, a jak nie to nic zlego sie nie stanie) |
− | exec addons/cdeath/cdeath.cfg // wykonaj confgi Cheating-Death (jesli posiadasz ten plugin, a jak nie to nic zlego sie nie stanie) | + | //exec addons/cdeath/cdeath.cfg // wykonaj confgi Cheating-Death (jesli posiadasz ten plugin, a jak nie to nic zlego sie nie stanie) |
//say "Server.cfg loaded" // ta linia odkomentowana czasem sie przydaje przy wykonywaniu zdalnej komendy | //say "Server.cfg loaded" // ta linia odkomentowana czasem sie przydaje przy wykonywaniu zdalnej komendy |
Wersja z 14:00, 22 kwi 2009
Spis treści |
Counter-Strike 1.6 Linux
Wcześniej zobacz artykuł o HLDS, a dopiero tutaj patrz.
Uwaga!
Poniższe FAQ jest przeznaczone dla osób, które chcą zainstalować Serwer Counter-Strike'a. Aby zacząć cokolwiek robić, musisz mieć przynajmniej jakakolwiek wiedzę na temat systemów typu *nix - najlepiej jak najpierw zajrzycie tutaj.
Warto także najpierw zobaczyć podstronę tego artykułu w zależności od posiadanego systemu operacyjnego (jeśli takowa istnieje).
Wymagania:
- Dostęp do serwera po przez SSH, albo siedzieć przy nim ;),
- Połączenie z internetem na serwerze z Linuksem,
- ‘homedir’ gdzie masz prawa zapisu,
- Więcej niż 600 MB miejsca na dysku,
- pakiet wget,
- pakiet gzip (unzip).
Instalacja Steam'a
Potrzebujemy pliku z internetu, aby zassać serwer. Używamy pakietu ‘wget’, aby pobrać plik.
wget http://storefront.steampowered.com/download/hldsupdatetool.bin
Wykonujemy poniższe komendy w konsoli:
chmod +x hldsupdatetool.bin
a następnie:
./hldsupdatetool.bin
Po przeczytaniu licencji wpisujemy:
yes
I tak powstaje plik steam.
Jeśli nagle uzyskasz błąd typu:
sh: line 1: uncompress: command not found Broken pipe sh: uncompress:
to zajrzyj tutaj
Steam został zainstalowany. Wpisujemy
chmod +x ./steam
Teraz uruchamiamy go komendą
./steam
W tym momencie steam się zaktualizuje i trzeba go uruchomić jeszcze raz, ale o tym to już niżej.
Instalacja Serwera
Do instalki serwera należy uruchomić steam'a z parametrem -update
Ogólna składnia tak:
./steam -command update -game <game> -dir <dir> -username <username> -password <password>
W miejsce wyrazu między < > należy podstawić wartość jaką chcemy, aby parametr przyjął. Na przykład jeśli mamy -game <game>, a do wyboru z wartości mamy cstrike, dod, czero (itd) i chcemy aby parametr miał wartość cstrike to wpisujemy w ostateczności -game cstrike
Opcje -username <username> i -password <password> są opcjonalne dla innych gier, dla CS 1.6 są zbędne.
- <username> to twoj@e-mail, lepiej aby był poprawnym emailem
- <password> to twoje_hasło, najlepiej bez spacji
- <game> to gra (do wyboru mamy cstrike, valve, tfc, ricochet, dod, dmc), w naszym przypadku jest to cstrike
- <dir> - to ścieżka do instalacji serwera, tu mamy ~/hlds_l (może to być /home/user/hlds_l/) lub "./", wtedy zainstaluje się w katalogu w którym jesteśmy.
Można dodać parametry -remember_password -verify_all, aby zapamiętać hasło oraz aby zawsze sprawdzać wszystkie pliki zasobów serwera (np.: czasem hlds potrafi strącić pliki w wyniku padu zasilania, oracz czasem valve wysyła poprawione wersje map, itp.) W takim przypadku nasz ogólna linia startowa będzie wyglądać jak poniżej:
./steam -command update -game <game> -dir <dir> -username <username> -password <password> -remember_password -verify_all -retry
-retry spowoduje ze na pewno wcześniej czy później ściągnięcie grę. Należy pamiętać o odblokowaniu potrzebnych portów.
Dla przykładu który POWINNIŚCIE STOSOWAĆ w większości przypadków, aby zainstalować cstrike bez hasła, ani użytkownika, w podkatalogu ~/hlds_l:
./steam -command update -game cstrike -dir ~/hlds_l -verify_all -retry
Teraz następuje ściąganie wszystkich plików serwera (ok. 340 MB) z serwerów Valve, jeśli masz wolne łącze, to będzie to trwało dość długo.
Po ściągnięciu plików możemy przystąpić do pierwszego uruchomienia serwera.
Podstawowa Konfiguracja Serwera
Uruchamianie serwera jest dość proste, opis wartości dla parametrów podane są niżej. Dla przykładu:
./hlds_run -game cstrike +port <port> +ip <ip> +maxplayers <liczba> +exec server.cfg +map <mapa>
Parametry
+ip <ip> oznacza ze chcemy aby serwer był tylko na danym adresie ip , nie musicie tego dawać jeśli chcecie uruchomić serwer widoczny na lanie i internecie (pod warunkiem ze serwer linuksowy ma przekierowanie na routerze odpowiednich portów albo on sam ma publiczny adres ip). ip są zależne od numerów jaki ma dany serwer i zależy to do jego konfiguracji - warto mieć admina serwera pod ręką :P. jeśli nie sprecyzujemy parametru ip, to hlds będzie słuchał na wszystkich interfejsach sieciowych serwera - użyteczne jak chcemy mieć serwer na przykład w dwóch sieciach komputerowych albo serwer na lan i na internecie (np.: w internet cafe). Przy numerach dynamicznych lepiej nie precyzować numeru ip serwera (np.: mając łącze takie jak Neostrada, itp.)
Przykład +ip 192.168.1.10
+port <port> oznacza na jakim porcie chcemy odpalić serwer, przeważnie domyślnie mamy 27015, można zmienić np.: na 27016 jeśli stawiamy drugi serwer
Przykład +port 27016
+maxplayers <liczba> oznacza na ile slotów chcemy stworzyć serwer, przeważnie chcemy zrobić na 18 graczy, czyli mamy +maxplayers 18. Maksymalna ilość slotów zależy w dużej mierze od wydajności waszego serwera oraz łącza internetowego.
+map <mapa> każe załadować mapę, inaczej serwer będzie działał, ale na nim nie zagracie :D, trzeba dodać +map de_dust jeśli nie ma mapy powinna być jednak możliwość podłączenia się do serwera poprzez rcon.
-autoupdate parametr, dzięki któremu serwer będzie się automatycznie aktualizował po restarcie.
OSTATECZNIE wasza podstawowa linia startowa serwera powinna wyglądać na przykład tak:
./hlds_run -autoupdate -game cstrike +maxplayers 18 +exec server.cfg +map de_dust
Pierwsze uruchomienie
Warto najpierw odpalić serwer bez modów i sprawdzić czy działa. Warto uruchomić serwer z parametrem -debug -condebug, dzięki czemu będziemy widzieć o wiele więcej komunikatów o błędach, a większość problemów będzie w pliku cstrike/qconsole.txt
Serwer powinien wystartować i po chwili pokazać, że chodzi. Możemy się o tym przekonać wpisując w konsoli komendę
status
powinno zwrócić info jaka jest mapa, adres ip, ilość graczy, itd - możemy spróbować się do niego podłączyć.
Jak sobie pobiegamy to teraz można wyłączyć serwer (wpisz komendę quit w konsoli serwera) i myśleć nad bardziej zaawansowanym konfigurowaniem, opisanym w innych artykułach.
FreeBSD
Wymagany artykuł po angielsku - dla admina http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu-lbc-install.html
Autor: di0nizy Instalacja Klienta Steam pod systemem FreeBSD. Niestety, aby wszytko działało jak należy będzie nam potrzeby root albo superuser.
Po aktualizacji portów (aktualizacji systemu) wykonujemy polecenie:
# cd /usr/ports/emulators/linux_base-suse-9.2 && make install clean
Aktywujemy Linux emulation - do pliku /etc/rc.conf należy dopisać:
linux_enable="YES"
Potem musimy wykonać reboot maszyny.
Następnie:
cd /usr/ports/games/linux-steam && make install clean
Jeśli chcecie zainstalować Steam'a w konkretnej lokalizacji, musisz wyedytować plik /usr/ports/games/linux-steam/Makefile W środku znajdziesz linię:
INSTALLDIR?= steam
Zmień ją na:
INSTALLDIR?=/gdziekolwiek/Ci/wygodnie/zainstalować/steama/
System powienien ściągnąć i zainstalować Steam'a jak i wszystkie niezbędne do jego działania biblioteki.
Na końcu:
# cd /gdziekolwiek/Ci/wygodnie/zainstalowac/steama/ # ./steam
i instalujemy jak dla reszty linuksów.
stare -----
Dodatkowo warto zaznajomić się z pakietem http://www.freshports.org/games/hlserver-cs/ Potrzebne będzie też http://www.freshports.org/emulators/linux_base-8/
Gentoo
Warto zajrzeć najpierw na Gentoo Wiki - o ile artykuł jest o Serwerze Source, warto się z nim zaznajomić i pozmieniać odpowiednie wartości jak "Counter-Strike Source" na cstrike.
Potrzebne pakiety
- app-arch/ncompress
- sys-kernel/linux-headers
- sys-libs/libstdc++-v3
Użyteczne pakiety
app-misc/screen
Można pobawić się pakietem halflife-steam ale radziłbym stosować opisaną instalację jak dla normalnych linuksów.
Wywalanie się serwera z powodu CPU Frequency
Jeszcze jedna notka co do wywalającego się serwera, najczęściej objawiająca się komunikatem
Unable to determine CPU Frequency
Problem leży w katalogu /proc
Przeważnie chodzi o to, że w systemie linuksowym nie ma dostępu do /proc/cpuinfo albo go w ogóle nie ma - tak się zdarza przy bardzo restrykcyjnie ustawionym systemie (np.: PLD) albo jak nie ma doinstalowanych pakietów (np.: FreeBSD)
HLDS używa od jakiegoś czasu dziwnej metody określenia taktowania procesora, czasem mu się udaje, ale jak procesor jest bardzo obciążony to może mu się nie udać (w wyniku przełączania procesów) i wywala błąd - dlatego serwer np startuje ale przy zmianie mapy pada.
Rozwiązaniem jest danie userowi na którym działa serwer dostępu do czytania /proc/cpuinfo albo przeczytajcie niżej rozwiązanie dla FreeBSD.
Hey Guys,
I keep getting this error almost every time I try to start up srcds_run. It looks like it starts up ok, then it gives the error "Unable to determine CPU Frequency" and crashes.
After running the srcds_run commands about 5 times, it finally starts up OK. Does anyone know why I would get such an error and how I can fix it?
I'm running FreeBSD 4.11 with a Pentium 4 2.8Ghz prescott CPU.
Any help would be greatly appreciated.
Dan
You need to make sure linux_base is installed and that you have linuxproc fs and mounted i belive try cvsup'ing to RELENG=5.3 i belive.
just found another piece of puzzle here it is: http://www.mail-archive.com/hlds_li...m/msg35818.html in few words - you may need to add the following line to your /etc/fstab file: linprocfs /compat/linux/proc linprocfs rw 0 0 worked for me
Konfiguracja
Już przeczytaliście, że serwer można odpalić z parametrami, istnieją jescze komendy oraz zmienne, które dokładniej określają pracę serwera. Warto zaznajomić się teraz ponownie z artykułem HLDS gdzie są przedstawione podstawowe pliki konfiguracyjne.
Poniżej przykładowy server.cfg
// server.cfg PL // by _KaszpiR_ and PawelS // ver 0.7.1 2006-11-11 // odpal hlds z parametrem +servercfgfile server.cfg // na przyklad ./hlds_run -game cstrike +map de_dust +servercfgfile server.cfg // config ma parametry przygotowanie na serwer ffa // konfiguracja podstawowa sv_lan 0 //ustaw na 1 jesli to jest serwer wylacznie na lan maxplayers 22 //maksymalna ilosc graczy, pamietaj ze systemy rezerwacji slotow na serwerze zabieraa przewaznie 2 sloty sv_visiblemaxplayers -1 // liczba widocznych slotow na serwerze, jesli -1 to jest automatycznie obliczana (standard) // ale wtedy trzeba recznie w konsoli napisc adres serwera aby sie podlaczyc (jesli serwer pelny) // ustawiasz np te wartosc na 20 a masz maxplayers 22 i w rzeczywistosci masz 2 wolne sloty na serwerze exec banned.cfg // laduj bany steamid/wonid exec listip.cfg // laduj bany na ip hostname "Szambo" // nazwa serwera widziana poprzez przegladarki serwerow (np w favourities) mapchangecfgfile "server.cfg" // wykonaj ten confgi podczas zmiany mapy (np aby przywrocic stare ustawienia ) mapcyclefile "mapcycle.txt" // plik zawiera liste map wg ktorych bedzie sie grac po zakonczeniu rozgrywki motdfile "motd.html" // nazwa pliku do wyswietlenia jak sie wchodzi na serwer, to czego ludzie nie czytaja :) servercfgfile "server.cfg" // plik z glownymi ustawieniami na serwerze, odpalany przy pierwszym starcie sv_proxies 1 // liczba hltv proxy jakie moga sie podlaczyc do serwera, standard 1, wiecej nie zalecane sv_region 3 // domyslne 0 - swiat, a poniewaz jestesmy w europie ustawiamy na 3 /////////////////////////////////////////////////////////////////////////////////////////////////// // wydajnosc fps_max 100 // ile fps serwer powinien miec srednio, najlepiej aby byla okolo 100, ale nie wieksza od 200 // inaczej serwer zzera za duzo procesora host_framerate 0 // cholera wie co to jest sys_ticrate 200 // wartosc 125 jest zalecana, najlepiej nie miec wiecej niz 200, niektore mecze wymagaja 1000, ale firmy hostingowe moga forsowac te wartosc na nizsze // 10 000 jest wartoscia ekstremalna, jedynie na lany dla wymiataczy // przewaznie zzera tylko niepotrzebnie procesor /////////////////////////////////////////////////////////////////////////////////////////////////// // net sv_maxrate 20000 // maksymalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna, // ustawianie wartosci ponizej 4000 zlaguje graczy i serwer, na lan maksymalna wartość 25000 // na serwer internetowy - zalezy do lacza, sprobuj z 9999 jesli masz lagi, ewentualnie sukcesywnie zmniejszaj o 500 sv_maxupdaterate 80 // maksymalna wartosc jaka klient moze miec przy cl_updaterate, // jesli ma wiecej to bedzie mial tracone pakiety sv_minrate 0 // minimalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna, domyslnie 4000, // ustawanie wartosci powyzej 6000 zlaguje serwer i graczy // zaleca sie trzymanie wartosci 0 ze wzgledu na serwery HLTV - po prostu mozna zaoszczedzic kase za lacze sv_minupdaterate 10 // minimalna wartosc jaka klient musi miec przy cl_updaterate, // zaleca sie trzymanie wartosci 10 ze wzgledu na serwery HLTV sv_maxunlag 1 // maksymalny czas w sekundach kompensacji lagow /////////////////////////////////////////////////////////////////////////////////////////////////// // rcon i hasla sv_password "" // wymagane haslo aby sie podlaczyc do serwera, //ustawnaie najczesciej na serwery klanowe albo podczas meczu //rcon_password "zupa" // haslo na rcon, nie zalecane aby tu umeszczac, lepiej jesli dasz w parametrach odpalania serwera // jesli ustawisz "" to rcon nie bedzie dzialal // np +rcon_password "zupa" sv_rcon_banpenalty 60 //czas bana za probe uzycia zlego rcon'a za wielokrotne proby (banuje na ip), 0 to na zawsze sv_rcon_minfailures 5 // limit zlych komend rcon aby dostac ban'a sv_rcon_minfailuretime 30 // czas w jakim sa sprawdzane proby rcon, // jak ktos zle wpisze rcon_password (albo nie poda) i wykona zbyt wiele komend rcon to dostanie bana // wtedy pomaga jedynie restart serwera, poniewaz po odbanowaniu kazdy blad spowoduje zalozenie na nowo bana /////////////////////////////////////////////////////////////////////////////////////////////////// // logi // zaleca sie zachowanie ponizszych ustawien jesli chcesz uzywac HLStats albo PsychoStats mp_logdetail 3 // poziom logow, 0 - wylacz, 1 - tylko trafienia przeciwnika standard , 2, - tylko trafienia tp, 3 - loguj oba (tp i wroga) mp_logecho 1 // 1 - wlacza logowanie komendy echo, 0 - wylacza, np jak masz w server.cfg echo SERVER CFG LOADED to bedziesz mial to logowane mp_logfile 1 // logowanie wydarzen multiplayer (koniec rundy itp), 1 - tak (standard), 0 - nie mp_logmessages 1 // loguj komendy say (chat), 1 - tak (standard), 0 - nie sv_logbans 1 // loguj dawanie banow, 1 - tak (standard), 0 - nie sv_logblocks 1 // loguj blokowane proby zmiany zastrzezonych wartosci zmiennych, 1 - tak (standard), 0 - nie sv_logrelay 1 // loguj podlaczenia hltv relay proxy, 1 - tak (standard), 0 - nie /////////////////////////////////////////////////////////////////////////////////////////////////// // voice sv_voicecodec "voice_speex" // rodzaj kodeka, domyslnie voice_miles, zalecany voice_speex - lepsza jakosc kosztem kilku procent uzycia procesora sv_voiceenable 1 // uzywaj opcji voice na serwerze, 1 - tak (domyslnie), 0 - nie sv_voicequality 3 // jakosc glosu, od 1 do 5, im wiecej tym lepiej ale wieksze uzyci proca i sieci, domyslnie 3 sv_alltalk 0 // 0 - (domyslnie) voice mozna uzywac tylko jesli zywy i tylko do tp, 1 - kazdy moze gadac z kazdym (dobre na poczatek i koniec meczu) /////////////////////////////////////////////////////////////////////////////////////////////////// // downlad // zaleca sie zachowanie ponizszych wartosci aby nie miec problemow ze sciaganiem plikow z serwera hpk_maxsize 0.5 // maksymalny rozmiar sumy wszstkich logo graczy na serwerze, w megabajtach // rekomendowana wartosc do 2 mega // ustawianie zbyt wysokich warosci spowoduje ze gracze beda disconnectowani (bo musza to zassac), // a serwer bedzie sie wolniej ladowal // 1 MB = 100 bitmap sv_allowdownload 1 // pozwalaj na download, 1 - tak (standard), 0 - nie sv_allowupload 1 // pozwalaj na upload (np loga), 1 - tak (standard), 0 - nie sv_send_logos 1 //pozwalaj na wysylanie logo graczy (sprej na sciane) sv_send_resources 1 // pozwalaj na dowload listy wymaganych plikow aby grac na mapie, 1 - tak (standard), 0 - nie //sv_downloadurl "http://szambo/hlds/dlurl/" // url do lokacji skad mozna zasysac pliki serwerowe (pamietaj aby ograniczyc dostep do waznych plikow - katalog addons, server.cfg itp) sv_downloadurl "http://bagno/hlds/" mp_decals 300 // maximum wyswietlanych logo itp na serwerze /////////////////////////////////////////////////////////////////////////////////////////////////// // rozgrywka mp_autoteambalance 0 // przerzucaj graczy do innych druzyn jesli nierowne sklady, 0 - nie (domyslnie), 1 - tak mp_buytime 0.25 // czas kupowania na pocz rundy, w ulamku minuty ( jedna minuta = 1.0, 30 sekund = 0.25) mp_c4timer 35 // czas w sekundach na rozbrojenie bomby (bo inaczej bedzie bum :), domyslnie 35 mp_consistency 1 // 0 - nie pozwol graczom na uzywanie wlasnych modeli postaci i broni (standard) , 0 - pozwalaj (bo czituja) mp_flashlight 1 // 1 - mozna uzywac latarki (standard), 0 - latarka zablokowana mp_footsteps 1 // 1 - slychac kroki graczy podczas biegu (standard), 0 - wylaczone (quake 1 mode), dobre do cwiczenia refleksu :) mp_freezetime 6 // czas w sekundach wstrzymania na poczatku rundy (na reload i kupno broni), ustaw na 0 na mapach aim mp_friendly_grenade_damage 1 // 0 - granaty nie rania tp (ale zabiebraja armor), 1 - granaty rania graczy z druzyny (standard) mp_friendlyfire 1 // 0 - jak strzelasz do swoich to ich nie ranisz, 1 - ranisz swoich (standard) mp_ghostfrequency 0.1 // czestosc odswiezania stanu dla obserwatorow mp_hostagepenalty 0 // ilosc zabic zakladnikow po ktorym dostajesz kicka, 0 - wylaczone mp_limitteams 0 // ilu graczy moze byc niesymetrycznie po jedej z druzyn, 0 - bez limitu, 2 - maxymalnie moze byc w jednej z druzyn 2 graczy wiecej mp_maxrounds 0 // maksymalna liczba rund do grania, 0 - brak limitu (standard) mp_mirrordamage 0 // jak trafiasz swojego to tak jabys trafial siebie, domyslnie 0, 1 - wlacza (nie zalecane) mp_payerid 0 // wyswietla nick gracza po nacelowaniu, 0 - widac wsztkich (w kolorach) (standard), 1 - tylko tp i zakladnicy, 2 - nikogo nie pokazuje mp_roundtime 1.75 // czas trwania rundy w minutach , standard to 3 minuty, albo 1.75 na szybkie rozgrywki (aby sie nie nudzic na obsie), wartosci od 1 do 9 mp_startmoney 800 // liczba kasy na poczatku rundy mp_timelimit 20 // limit czasu grania na mapie (po nim nastepuje zmiana mapy), w minutach, ustaw na 0 na brak limitu czasu, mp_tkpunish 0 // karanie smiercia na poczatku nastepnej rundy za zabicie swojego, 0 - nie (domyslnie), 1 - tak mp_winlimit 0 // limit rund do wygrania, jak jakas druzyna osiagnie te wartosc to nastepuje zmiana mapy, 0 - brak limitu (standard) pausable 0 // 0 (standard) nie pozwala graczom pauzowac gry na serwerze, 1 - pozwala, czasem na meczach sie tak ustawia sv_maxspeed 320 // maksymalna predkosc biegu gracza , standard (320) /////////////////////////////////////////////////////////////////////////////////////////////////// // obserwatorzy allow_spectators 1 // pozwalaj na obserwatorow (osoby kompletnie nie grajace), 1 - tak (standard), 0 - nie, mp_fadetoblack 0 // 1 - ekran sie sciemnia po smierci gracza (wymagane na niektorych meczach), 0 - bez sciemnienia mp_forcecamera 2 // forsuj spectarora na: 0 - nie forsuj, 1 - widok z oczu gracza i z chase mode , 2 - tylko widok z oczu gracza, zalecana wartosc 1 albo 2 mp_forcechasecam 1 // 0 - gracz moze latac po calej mapie, 1 - mozna ogladac typo swoich tp, 2 - klient nie rusza sie z miejsca gdzie umarl mp_autokick 0 // automatyczne kickowanie za zabijanie swoich albo dlugie nie ruszanie sie z miejsca sv_timeout 120 // czas w sekundach, jesli gracz nie odpowie w tym czasie uznawany jest za odlaczony od serwera (jak komus sie komp zwiesi/padnie na chwile lacze) sv_spectatormaxspeed 500 // maksymalna predkosc latania obserwatora , normalny gracz biega z predkoscia 320, standard jest 500 mp_chattime 3 // po ilu sekundach po osiagnieciu timelimitu/maxrounds zmienia sie mapa /////////////////////////////////////////////////////////////////////////////////////////////////// // inne mp_autocrosshair 0 // default 0 sv_aim 0 //0 ((standard) wylacza autocelowanie, 1 - zalacza auto celowanie (nie zalecane) sv_airaccelerate 10 // akcleracja w powietrzu (bunnyjump), wartosc od 0 do 10 , 10 standardowo sv_airmove 1 // pozwala na ruch w powietrzu (bunnyjump), 1 - tak (standard), 0 - nie sv_challengetime 150 // czas w sekundach, jesli gracz sie nie podlaczy do gry w tym czasie bedzie uznawany za odlaczonego, zwieksz jesli gracze maja slabe kompy albo duzo sciagaja z serwera :D sv_cheats 0 // 0 (standard) nie pozwala na komendy give weapon, god, noclip i takie tam, 1 - dla deweloperow map albo serwero for fun sv_clienttrace 1 // (standard) 1 sv_friction 4 // poslizg na powierzchni podczas biegania, ma wplyw na predkosc kompletnego zatrzymania sie, 4 (standard) sv_gravity 800 // grawitacja, domyslnie 800, im wiecej tym trudniej skakac (przy pewnych wartosciach zejscie z malego schodka jest smiertelne a granaty padaja pod nogami) // 0 wylacza grawitacje - jak podskoczysz to juz nie upadniesz // wartosc 100, 200, 400 sanajczesciej spotykane na serwerach niekonwecjonalnych /////////////////////////////////////////////////////////////////////////////////////////////////// // status serwera poprzez www // sprawdzenie statusu serwera tez zzera troche procesora i lacza, domyslne wartosci sa wystarczajace max_queries_global 20 // jak czesto mozna w sumie sprawdzic status serwera max_queries_sec 3 // jak czesto klient moze sprawdzac status serwera (all seeing eye, skrypty www) max_queries_window 30 // rozmiar okna czasowego na sprawdzanie zapytan ,jak masz problemy z timeoutem w hlsw ustaw na 10 /////////////////////////////////////////////////////////////////////////////////////////////////// // ekstra konfigi //exec addons/wwcl/scripts/wwcl_config.cfg // wykonaj confgi wwcl (jesli posiadasz ten plugin, a jak nie to nic zlego sie nie stanie) //exec addons/cdeath/cdeath.cfg // wykonaj confgi Cheating-Death (jesli posiadasz ten plugin, a jak nie to nic zlego sie nie stanie) //say "Server.cfg loaded" // ta linia odkomentowana czasem sie przydaje przy wykonywaniu zdalnej komendy //echo "Server.cfg loaded" // to samo co wyzej, ale aby bylo zalogowane musi byc zmienna mp_logecho 1 // rcon exec server.cfg // wtedy latwiej sie upewnic ze dobrze wpisalismy komende // koniec