Strona głównaPoradnikiGrySerwer VPS. Jak wykorzystać go w grach?

Serwer VPS. Jak wykorzystać go w grach?

W GaminSociety opisywaliśmy zalety wykorzystywania serwera VPS przez gracza. Pora przejść od słów do czynów i postawić własny serwer dla gier.

Zanim jednak przejdę do właściwej instrukcji, pokrótce przypomnę co sprawia, że posiadanie własnego serwera VPS jest tak dobrym rozwiązaniem. Serwer VPS pozwala na wykorzystanie go w dowolny sposób i zainstalowanie na nim dowolnego oprogramowania, a co za tym idzie – konfigurację na mnóstwo różnych sposobów. Część możemy wykorzystać jako serwer dla ulubionej gry (o czym za chwilę), część pod komunikator, taki jak TeamSpeak, a jeszcze inny fragment pod wymianę plików. Każda instancja serwera będzie całkowicie niezależna od innych, więc nie będzie negatywnie wpływać na ich działanie. Oprócz tego, serwer VPS daje pewność dobrej wydajności. Zalet jest oczywiście znacznie więcej, ale te są najważniejsze – natomiast tę kwestię w pełni opisaliśmy tutaj.

Nazwa.pl oferuje kilka opcji serwerów VPS, my jako serwer testowy wykorzystaliśmy opcję VPS Speed Business.

W tej opcji mamy do dyspozycji 2 procesory Intel Xeon o taktowaniu 3,3 GHz, 4 GB RAM i dysk NVMe o pojemności 50 GB, którą możemy wykorzystać między innymi na mody do gry. Co za tym idzie – możemy nasz serwer rozwijać, dodając modyfikacje, na przykład Sourcemod i Metamod. Więcej wskazówek na temat dedykowanych serwerów pod CS-a znajdziecie na oficjalnej Wiki Valve. Najpierw jednak musimy postawić nasz serwer do gry w „surowej” wersji

Jak skonfigurować własny serwer gier w oparciu o VPS?

Zanim jeszcze przystąpimy do konfiguracji jako takiej, musimy odpowiednio ustawić firewall naszego VPS-a – chodzi o zablokowanie wszystkich portów, oprócz tych, z których będziemy faktycznie korzystać. Na pewno będzie to port 22, który jest wykorzystany do komunikacji z serwerem po SSH (Secure Shell). Oprócz tego – port, które wykorzystuje CS:GO, czyli 27015. Uwaga: całą niniejszą instrukcję przygotowaliśmy w oparciu o system Debian10.

Aby to zrobić, logujemy się do panelu VPS https://vps.nazwa.pl/ i postępujemy według poniższych punktów, aby zainstalować i skonfigurować odpowiednio firewall.

W panelu VPS wybieramy Konsolę, a następnie klikamy “Send CtrlAltDel”. Po uruchomieniu linii komend logujemy się nazwą użytkownika – jest nim zazwyczaj “root” oraz hasłem. Pierwsze hasło jest takie samo jak hasło do naszego panelu klienta.

Następnie wykonujemy następujące czynności:

Wpisujemy „apt-get install ufw”.

Wpisujemy „nano /etc/ufw/ufw.conf” otworzy się plik ufw.conf w edytorze tekstowym Nano jest on wbudowany w system, który obsługuje Wasz serwer. W pliku ufw.conf zmieniacie linijkę „ENABLED=no” na „ENABLED=yes”.

Aby zapisać, używamy skrótu klawiszowego ctrl+x, zatwierdzamy zmiany wpisując Y i naciskając Enter.

Poprzednie kroki miały chwilowo zdeaktywować całkowicie firewall aby potwierdzić czy tak faktycznie się stało, używamy komendy “ufw status verbose” jeśli na ekranie pojawi się komunikat “status: inactive”, to znaczy, że deaktywacja się powiodła. Jeśli pojawi się “status: active”, używamy dodatkowo komendy “ufw disable” i resetujemy firewall do ustawień domyślnych komendą “ufw reset”.

Przechodzimy już do właściwej konfiguracji portów – aby zablokować ruch przychodzący i odblokować wychodzący, używamy dwóch komend: “ufw default deny incoming” oraz “ufw default allow outgoing”. Aby przepuścić ruch przez konkretne, wybrane porty, wpisujemy “ufw allow 22” (w miejsce liczby 22 wpisujecie dowolny port, jaki chcecie odblokować, w tym przypadku chodzi o wspomnianą wcześniej komunikację po SSH, dla CS:GO będzie to 27015).

Teraz możemy już wyjść z konsoli VPS i mając tak skonfigurowany firewall możemy zacząć grzebać na serwerze, korzystając z SSH. Do połączenia z serwerem przez SSH proponujemy wykorzystać chyba najpopularniejszy program – PuTTy. Aby zalogować się na serwerze przez SSH z użyciem PuTTy, wystarczy w polu konfiguracji połączenia podać adres IP naszego serwera (zobaczycie go po zalogowaniu do panelu VPS nazwy) i zaznaczyć opcję SSH – domyślnie program powinien korzystać z niej na porcie 22, który odblokowaliśmy wcześniej.

Jeśli konsola zapyta nas o certyfikat, potwierdzamy. Następnie podajemy login (root) i hasło – to samo, którym logowaliśmy się do panelu VPSa na początku tej instrukcji. 

Uruchomienie swojego serwera CS:GO zaczynamy od instalacji biblioteki lib32gcc1, korzystając z polecenia “apt-get install lib32gcc1” (jeśli jest taka potrzeba – potwierdzamy, naciskając Y).

Tworzymy użytkownika naszego serwera, nadając mu login steam, za pomocą komendy “useradd -m steam”.

Logujemy się na niego: “su – steam”.

Tworzymy folder Steam i wchodzimy do niego: “mkdir ~/Steam && cd ~/Steam” (podwójne && służy do odpalenia dwóch komend, jedna po drugiej).

Pobieramy najnowszą wersję SteamCMD: “wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz”.

Rozpakowujemy pobrany plik: “tar xf steamcmd_linux.tar.gz”.

Uruchamiamy skrypt SH: “./steamcmd.sh” odpala się instalator.

Jeśli instalacja przeszła bez przeszkód, w konsoli powinniśmy zobaczyć “Steam>:” w miejscu wpisywanego tekstu.

Logujemy się na nasze konto Steam komendą: “login <nick Steam> <hasło Steam>”.

Aby zainstalować CS:GO używamy “force_install_dir ./cs_go/” i instalujemy aktualizację gry: “app_update 740 validate”.

Przechodzimy na stronę http://steamcommunity.com/dev/managegameservers i (po zalogowaniu się na nasze konto) tworzymy tam konto naszego serwera jako App ID podajemy 730 dla CS:GO, tworzymy też własną nazwę dla Tokenu logowania, który przyda nam się później.

Upewniamy się, że w konsoli “Steam>:” zostało zastąpione symbolem “$” żeby tak się stało używamy komendy “exit”. Sprawdzamy też, czy w konsoli serwera jesteśmy w katalogu z zainstalowaną grą używamy komend “ls” do listowania katalogów, “cd <nazwa katalogu>” do wejścia do danego katalogu i “cd ..” do wyjścia jeden poziom wyżej nasza ścieżka do katalogu cs_go powinna wyglądać mniej więcej tak: home/steam/Steam/cs_go.

Uruchamiamy nasz serwer gry, wpisując inną komendę w zależności do tego jakim trybem gry ma być na przykład dla trybu Deathmatch będzie to komenda: “./srcds_run -game csgo -console -usercon +game_type 1 +game_mode 2 +mapgroup mg_allclassic +map de_dust +sv_setsteamaccount <MEMO> -net_port_try” – w miejsce <MEMO> wpisujemy to, co podał nam Steam jako Token logowania w punkcie 12. (uwaga: MEMO co jakiś czas wygasa i trzeba wygenerować nowe).

Kiedy serwer gry wystartuje, to dobry moment by zamknąć port połączenia SSH, z użyciem którego komunikowaliśmy się z naszym VPSem przez PuTTy. Służy do tego komenda „ufw dissallow 22”. Dlaczego to robimy? Nie chcemy przecież zostawiać otwartej furtki dla osób, które chciałyby się włamać na nasz serwer, prawda? Na koniec uruchamiamy z powrotem firewall komendą “ufw enable” i sprawdzamy status wpisując “ufw status”.

Aby przetestować czy cała procedura się powiodła, uruchamiamy sobie lokalnie CS:GO, w polu połączenia z serwerem wpisujemy IP naszego serwera:27015 i klikamy Connect i tak oto postawiliśmy samodzielnie nasz pierwszy serwer do gier.

VPS CSGO

Uwaga: jeśli w punkcie 9. zostaniemy poproszeni o podanie naszego Steam Guard, przepisujemy go z maila.

Oczywiście to, co tutaj opisaliśmy, to najprostszy i najszybszy, ale też najbardziej podstawowy sposób. Możecie dowolnie zmieniać porty (pamiętajcie jednak, by dany port za każdym razem zwolnić w firewallu) czy modyfikować parametry samej gry. Teraz, kiedy poznaliście już podstawy, właściwie ogranicza Was już tylko wyobraźnia.

Poradnik powstał przy współpracy z firmą nazwa.pl.

Bądź na bieżąco

Obserwuj GamingSociety.pl w Google News.

Zbigniew Pławecki
Redaktor, specjalista ds. esportu

ZOSTAW ODPOWIEDŹ

Treść komentarza
Wpisz swoje imię