Instalacja serwera HLDS na linuxie by me.
Poradnik oparty na Debianie lenny, ale na innych też powinno śmigać, np. w centosie zamienimy tylko apt-get na yum.
1. Wstępna konfiguracja i dociąganie dennych plików steama
Na początek zassijmy nieco softu który potem może się przydać
[unix]apt-get install mc && apt-get install htop && apt-get install ifstat && apt-get install nload && apt-get install screen[/unix]
teraz możemy przejść do instalacji serwera HLDS. Skupię się na CS, ale do innych opartych na silniku HL robi się tak samo.
Dla bezpieczeństwa nie odpalajmy serwera na roocie. Tworzymy sobie konto, np hlds
[unix]adduser hlds[/unix]
Wypełniamy formularz i logujemy się na nasze konto [unix]su hlds[/unix]
Tworzymy sobie w katalogu /home/hlds katalog pod serwer, np. serwer1.
[unix]cd /home/hlds && mkdir serwer1 && cd serwer1[/unix]
Zasysamy pliki potrzebne do odpalenia serwera i nadajemy chmod
[unix]wget http://storefront.steampowered.com/down ... tetool.bin && chmod +x hldsupdatetool.bin[/unix]
Po sciągnięciu pliku odpalamy i wypełniamy jakieś tam licencje, opiera się to w sumie na wklikaniu yes i naciśnięciu enter
[unix]./hldsupdatetool.bin[/unix]
Po tym zabiegu pojawi nam się plik steam. Nadajmy na niego chmody i dociągnijmy najnowszą wersję steama i ściągnijmy pliki do gry. Cstrike możemy zamienić na dowolną grę, np. czero.
[unix]chmod +x steam && ./steam && ./steam -command update -game cstrike -dir /home/hlds/serwer1[/unix]
UWAGA, może to trochę potrwać, a możliwe że za pierwszym razem będziecie musieli nacisnąć ctrl+c i ponownie odpalić, proces lubi się zawieszać i jest czaso/proceso chłonny.
2. Pora odpalić serwer.
Serwer odpalamy poprzez komendę [unix]./hlds[/unix] przy czym wypada dodać do niej kilka parametrów takich jak...
-port 27015 - określa na jakim porcie ma śmigać serwer
-game cstrike - rodzaj gry
-maxplayers 20 - ilość graczy. jeśli nie podamy, będzie szukac w server.cfg
+map de_dust - startowa mapa, nie wymagane.
-binary ./hlds_i686 - z jakiej binarki korzystać. w sumie ta jest zalecana, warto zostawić i686 bo chyba na przedpotopowych sempronach nikt nie stawia serwerów.
-master/nomaster - czy ma serwer pokazywać w zakładce internet, zostawmy na -master
-secure/insecure - czy ma włączać vaca czy nie. jeśli nie, to dajemy insecure i dodatkowo w /cstrike/liblist.gam dajemy secure 0 i analogicznie dla -secure.
To chyba tyle z podstaw. stwórzmy sobie teraz skrypt którym za jednym zamachem odpalimy nasz serwerek.
[unix]mcedit start[/unix]
wklejamy w edytor
[unix]
#!/bin/bash
IP="195.2.255.141"
PORT="27015"
MP="20"
CFG="server.cfg"
NAME="hlds"
MAP="de_dust2"
CMD="-binary ./hlds_i686 -game cstrike -master -secure +ip $IP +port
$PORT +maxplayers $MP +map $MAP +exec $CFG"
screen -AmdS $NAME ./hlds_run $CMD
[/unix]
Dane oczywiście zmieniamy wedle uznania. Naciskamy ctrl+x zapisując plik i nadajemy chmody [unix]chmod +x start[/unix]
Jeśli nie screenuje to znaczy że nie mamy screena. Po wpisaniu screen -ls proces powinien być widoczny, a aby do niego przejść wpisujemy screen -r hlds .
3. Dodatki.
Oczywiście chcemy aby na serwerze mogli grać non stimowcy, amx i milionami pluginów i żeby svc bad nie było.
Tu będzie potrzebne WinSCP, lub jakiś klient z sFTP, chyba że sami ogarniecie konfiguracje FTP(ja do dziś tego nie umiem:P).
Zasysamy sobie paczkuszkę stad, rozpakowujemy i przerzucamy na serwer tak aby katalog amxmodx/metamod znajowały się w /cstrike/addons.
Plik liblist.gam nadpisujemy z istniejącym. I mamy już metamoda i amxmodx ze wszystkimi bajerami. teraz pora na serwer 2 protokołowy.
W paczce jest kolejna paczka z dproto. Rozpakowujemy i przerzucamy tak aby pliki znajdowały się w takiej strukturze:
/dproto.cfg (przed cstrike
/cstrike/addons/dproto/dproto_i386.so
Dopisujemy to /cstrike/server.cfg
[unix]sv_lan 0[/unix]
Restartujemy serwer, wchodząc do screena(screen -r hlds), klikając ctrl+c i ponownie odpalając nasz skrypt /start. Serwer powinien już śmigać na 2 protokoły.
4. Kilka przydatnych narzędzi.
htop - w bardzo ładny sposób przedstawia nam aktualne zużycie procesora, ramu itp. Przydaje się przy lokalizowaniu przyczyny lagów etc.
ifstat/nload - monitory zużycia łącza, można nimi wyliczyć zużywany transfer.
Poradnik oparty na Debianie lenny, ale na innych też powinno śmigać, np. w centosie zamienimy tylko apt-get na yum.
1. Wstępna konfiguracja i dociąganie dennych plików steama
Na początek zassijmy nieco softu który potem może się przydać
[unix]apt-get install mc && apt-get install htop && apt-get install ifstat && apt-get install nload && apt-get install screen[/unix]
teraz możemy przejść do instalacji serwera HLDS. Skupię się na CS, ale do innych opartych na silniku HL robi się tak samo.
Dla bezpieczeństwa nie odpalajmy serwera na roocie. Tworzymy sobie konto, np hlds
[unix]adduser hlds[/unix]
Wypełniamy formularz i logujemy się na nasze konto [unix]su hlds[/unix]
Tworzymy sobie w katalogu /home/hlds katalog pod serwer, np. serwer1.
[unix]cd /home/hlds && mkdir serwer1 && cd serwer1[/unix]
Zasysamy pliki potrzebne do odpalenia serwera i nadajemy chmod
[unix]wget http://storefront.steampowered.com/down ... tetool.bin && chmod +x hldsupdatetool.bin[/unix]
Po sciągnięciu pliku odpalamy i wypełniamy jakieś tam licencje, opiera się to w sumie na wklikaniu yes i naciśnięciu enter
[unix]./hldsupdatetool.bin[/unix]
Po tym zabiegu pojawi nam się plik steam. Nadajmy na niego chmody i dociągnijmy najnowszą wersję steama i ściągnijmy pliki do gry. Cstrike możemy zamienić na dowolną grę, np. czero.
[unix]chmod +x steam && ./steam && ./steam -command update -game cstrike -dir /home/hlds/serwer1[/unix]
UWAGA, może to trochę potrwać, a możliwe że za pierwszym razem będziecie musieli nacisnąć ctrl+c i ponownie odpalić, proces lubi się zawieszać i jest czaso/proceso chłonny.
2. Pora odpalić serwer.
Serwer odpalamy poprzez komendę [unix]./hlds[/unix] przy czym wypada dodać do niej kilka parametrów takich jak...
-port 27015 - określa na jakim porcie ma śmigać serwer
-game cstrike - rodzaj gry
-maxplayers 20 - ilość graczy. jeśli nie podamy, będzie szukac w server.cfg
+map de_dust - startowa mapa, nie wymagane.
-binary ./hlds_i686 - z jakiej binarki korzystać. w sumie ta jest zalecana, warto zostawić i686 bo chyba na przedpotopowych sempronach nikt nie stawia serwerów.
-master/nomaster - czy ma serwer pokazywać w zakładce internet, zostawmy na -master
-secure/insecure - czy ma włączać vaca czy nie. jeśli nie, to dajemy insecure i dodatkowo w /cstrike/liblist.gam dajemy secure 0 i analogicznie dla -secure.
To chyba tyle z podstaw. stwórzmy sobie teraz skrypt którym za jednym zamachem odpalimy nasz serwerek.
[unix]mcedit start[/unix]
wklejamy w edytor
[unix]
#!/bin/bash
IP="195.2.255.141"
PORT="27015"
MP="20"
CFG="server.cfg"
NAME="hlds"
MAP="de_dust2"
CMD="-binary ./hlds_i686 -game cstrike -master -secure +ip $IP +port
$PORT +maxplayers $MP +map $MAP +exec $CFG"
screen -AmdS $NAME ./hlds_run $CMD
[/unix]
Dane oczywiście zmieniamy wedle uznania. Naciskamy ctrl+x zapisując plik i nadajemy chmody [unix]chmod +x start[/unix]
Jeśli nie screenuje to znaczy że nie mamy screena. Po wpisaniu screen -ls proces powinien być widoczny, a aby do niego przejść wpisujemy screen -r hlds .
3. Dodatki.
Oczywiście chcemy aby na serwerze mogli grać non stimowcy, amx i milionami pluginów i żeby svc bad nie było.
Tu będzie potrzebne WinSCP, lub jakiś klient z sFTP, chyba że sami ogarniecie konfiguracje FTP(ja do dziś tego nie umiem:P).
Zasysamy sobie paczkuszkę stad, rozpakowujemy i przerzucamy na serwer tak aby katalog amxmodx/metamod znajowały się w /cstrike/addons.
Plik liblist.gam nadpisujemy z istniejącym. I mamy już metamoda i amxmodx ze wszystkimi bajerami. teraz pora na serwer 2 protokołowy.
W paczce jest kolejna paczka z dproto. Rozpakowujemy i przerzucamy tak aby pliki znajdowały się w takiej strukturze:
/dproto.cfg (przed cstrike
/cstrike/addons/dproto/dproto_i386.so
Dopisujemy to /cstrike/server.cfg
[unix]sv_lan 0[/unix]
Restartujemy serwer, wchodząc do screena(screen -r hlds), klikając ctrl+c i ponownie odpalając nasz skrypt /start. Serwer powinien już śmigać na 2 protokoły.
4. Kilka przydatnych narzędzi.
htop - w bardzo ładny sposób przedstawia nam aktualne zużycie procesora, ramu itp. Przydaje się przy lokalizowaniu przyczyny lagów etc.
ifstat/nload - monitory zużycia łącza, można nimi wyliczyć zużywany transfer.