Instalacja serwera Left4Dead 2 na linux

Grudzień 28th, 2009, Autor: Adrian, Kategorie: counter-strike

W poniższym poradniku przedstawię wam, jak szybko i sprawnie pobrać, zainstalować i uruchomić w pełni funkcjonalny serwer dedykowany SRCDS (Source Dedicated Server) dla gry left 4 dead 2 na systemie operacyjnym linux. Po krótkim słowie wstępu, przechodzimy do działania...

Pamiętaj: Komendy zapisane na szaro wpisujemy do konsoli systemu (terminalu) lub przy łączaniu się zdalnie np. do Putty.

Czego potrzebujemy?

- Serwer pod kontrolą systemu linux i zainstalowaną biblioteką glibc 2.3 lub wyższą.
- Prawa do uruchomienia poleceń: wget, screen, chmod.
- Około 1,5 GB wolnego miejsca na dysku.

Instalacja

1. pobieramy plik hldsupdatetool.bin z serwerów steam wykonując poniższą komendę:

wget http://storefront.steampowered.com/download/hldsupdatetool.bin

2. Zmieniamy prawa dostępu do pobranego pliku, aby umożliwić jego uruchomienie:

chmod +x hldsupdatetool.bin

3. Odpalamy hldsupdatetool:

./hldsupdatetool.bin

4. Czytamy pojawiającą się licencję i potwierdzamy jej warunki słowem:

yes

5. Pobraliśmy właśnie program steam, aby go uruchomić nadajemy mu prawa:

chmod +x ./steam

6. Teraz go uruchamiamy, aby zaktualizować pliki steam do najnowszej wersji:

./steam

7. Ostatni i najważniejszy krok, czyli pobranie i instalacja plików serwera l4d2:

./steam -command update -game left4dead2 -dir . -verify_all -retry

Krok ten potrwa dłuższą chwilę, ponieważ pobierane jest około 1,5 GB danych z serwerów Valve, więc radzę uzbroić się w cierpliwość.

Pierwsze uruchomienie

Gdy już zostały pobrane wszystkie dane serwera, dostosuj swój config (Jeżeli nie masz takiego pliku to go stwórz) który znajduje się w folderze left4dead2/cfg/server.cfg i po tym możesz już przejść do pierwszego uruchomienia...

Serwer uruchamiamy specjalną komendą startową w której definiujemy podstawowe parametry naszego serwera. Moja komenda wygląda tak:

./srcds_run -game left4dead2 -ip 192.168.0.1 -port 27015 -maxplayers 16 -tickrate 66 +fps_max 200 +map de_dust2 +servercfgfile server.cfg +tv_enable 1 +tv_maxclients 2 +tv_port 27020 -autoupdate

-game left4dead2 - Mod który chcemy odpalić. W naszym przypadku to left4dead2.
-ip 192.168.0.1 - Adres ip naszej maszyny na której uruchamiamy serwer.
-port 27015 - Port naszego serwera.
-maxplayers 16 - Maksymalna liczba slotów dla graczy.
-tickrate 66 - Ta wartość ustala płynność gry na serwerze.
+fps_max 200 - Maksymalna liczba klatek na sekundę po stronie serwera.
+servercfgfile server.cfg - Definiuje nazwę pliku konfiguracyjnego gry, który jest wczytywany w czasie startu.
+tv_enable 1 - Wartość 1 uruchamia HLTV na serwerze.
+tv_maxclients 2 - Liczba slotów HLTV.
+tv_port 27020 - Port HLTV.
-autoupdate - Automatyczna aktualizacja serwera przy uruchomieniu/restarcie.

Inne komendy startowe:

-debug - Wyświetla komunikat o błędach gdy nasz serwer padnie.
-debuglog - Definiuje nazwę pliku do którego zapisywane będą logi.
-norestart - Nie resetuje serwera po padzie.
-pidfile - zapisuje numer pid procesu do zdefiniowanego przez nas pliku.
-timeout - Liczba sekund po których zostanie wznowiona praca serwera po padzie.
-pingboost - Definiuje pracę serwera. Przyjmowane wartości to 1, 2 lub 3. Wartość 1 daje najsłabsze przyspieszenie, natomiast wartość 3 wyciska od maszyny maksymalnie ile się da, co w efekcie może powodować nadmierne obciążenie naszej maszyny. (działa tylko na linuxie).
-zone - Definiuje rozmiar buforu plików konfiguracyjnych, co może przyspieszyć pracę serwera. Zalecana wartość to 8096.
-insecure - Wyłącza Vac na serwerze.
-nomaster - Nie rejestruje naszego serwera w steamowych master serwerach.
-heapsize - Definiuje ile pamięci ma używać nasz serwer (w kilobajtach).
Domyślna wartość 64000 (64MB).
-sport - Definiuje numer portu używanego do komunikacji z serwerami steam.
-dev - Komunikaty developerskie w konsoli.
-condebug - Tworzy w katalogu danego modu plik qconsole.log, który zawiera wszystkie komunikaty dotyczące serwera, od momentu jego startu.

Uruchamianie serwera w tle (screen)

Nasz serwer już działa, ale jak chyba już zauważyłeś przy wyjściu z konsoli nasz nowo powstały serwer wyłącza się. Dzieję się tak, ponieważ nie uruchomiliśmy go na screenie. Screen jest programem który pozwala na uruchamianie aplikacji w tle i właśnie dzięki niemu nasz serwer może działać 24/7.

1. Uruchamianie w tle.

Aby uruchomić nasz serwer w tle, wystarczy dodać przed komendą startową przedrostek "screen -A -m -d -S nazwa_procesu", przykład wygląda następująco:

screen -A -m -d -S l4d2 ./srcds_run -game left4dead2 -ip 192.168.0.1 -port 27015 -maxplayers 16 -tickrate 66 +fps_max 200 +map de_dust2 +servercfgfile server.cfg +tv_enable 1 +tv_maxclients 2 +tv_port 27020 -autoupdate

*parametr "-S l4d2" określa nazwę procesu uruchomionego na screenie. W naszym przypadku jest to l4d2.

Od tego momentu nasz serwer powinien zacząć działać w tle

2. Wyłączanie serwera oraz dostęp do konsoli.

Aby wyłączyć nasz serwer lub uzyskać dostęp do konsoli srcds należy wpisać komendę:

screen -r l4d2

Powyższa komenda przeniesie nas do konsoli naszego serwera w której możemy diagnozować problemy oraz wykonywać komendy.

Jeżeli chcemy zamknąć proces naszego serwera na screenie i wyłączyć serwer, to w czasie podłączenia do konsoli z klawiatury wykonujemy kombinację klawiszy:
crtl+c

Natomiast gdy chcemy opuścić konsolę nie wyłączając naszego serwera, należy wcisnąć kombinację klawiszy:
crtl+a+d

Skrypt startowy

Umiemy już włączać i wyłączać serwer działający w tle, ale chyba sami uważacie że odpalanie serwera poprzez wpisywanie kilku linijek linii startowej z palca nie jest najlepszym pomysłem, dlatego też z pomocą przychodzą nam skrypty startowe pozwalające na szybkie uruchomienie naszego serwera bez wpisywania skomplikowanych komend uruchamiających. Udostępniam wam prosty skrypt startowy (nie mojego autorstwa), który robi to samo co komenda w punkcie wyżej, tyle że bez potrzeby wpisywania masy poleceń startowych. Skrypt konfigurujesz tylko raz i później go tylko odpalasz.

Krótka instrukcja:

1. W folderze z grą (w naszym przypadku jest to l4d2) tworzysz plik l4d2.sh i wklejasz do niego poniższy kod, edytując oczywiście komendę startową wg. własnych parametrów i potrzeb.

#!/bin/sh
export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
echo "Start serwera Left4Dead 2"
sleep 1
screen -A -m -d -S l4d2 ./srcds_run -game Left4Dead2 -ip 192.168.0.1 -port 27015 -maxplayers 16 -tickrate 66 +fps_max 200 +map de_dust2 +servercfgfile server.cfg +tv_enable 1 +tv_maxclients 2 +tv_port 27020 -autoupdate

2. Teraz nadajemy uprawnienia dla nowo stworzonego pliku:

chmod +x l4d2.sh

3. No i ostatni punkt czyli odpalenie skryptu i co za tym idzie serwera:

./l4d2.sh

Nasz serwer powinien uruchomić się w tle. Jeżeli chcemy dostać się do konsoli lub uruchomić serwer to stosujcie się do instrukcji w poprzednim punkcie Uruchamianie serwera w tle (screen).





Oddanych komentarzy: 1

  1. gramwzieleni mówi:

    Siemka bardzo dobrze napisany poradnik , wszystko ok , mam ale pytanie czy binarki non-steam z serwera counter strike source będą pasować też do tego serwera L4D , ??

Dodaj komentarz

XHTML: Możesz używać tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>