Przekształcanie Synology NAS w serwer gier

Przekształcanie Synology NAS w serwer gier

Witam!

Z powodu powszechnie znanych powodów trzeba spędzać więcej czasu w domu przed monitorem.
W tej sytuacji trzeba przypomnieć sobie sprawy sprzed lat.

Jak już jasno wynika z tytułu tego artykułu, będzie mowa o konfiguracji Synology NAS jako serwera gier.

Uwaga — w artykule znajduje się wiele zrzutów ekranu (zrzuty ekranu są klikalne)!

Przed rozpoczęciem oto lista narzędzi, które będą potrzebne:

Synology NAS — nie widzę tutaj ograniczeń, myślę, że nada się każdy, o ile nie planujesz trzymać serwera dla 10 tysięcy graczy.

Docker — nie są wymagane specjalne umiejętności, wystarczy obrazowo rozumieć zasadę działania.

LinuxGSM — o tym, czym jest LinuxGSM, można przeczytać na oficjalnej stronie. https://linuxgsm.com.

Na chwilę obecną (kwiecień 2020) na LinuxGSM dostępnych jest 105 serwerów gier.
Całą listę można zobaczyć tutaj https://linuxgsm.com/servers.

Steam — rynek gier.

Serwer gier LinuxGSM ma integrację z SteamCMD, co oznacza, że serwer gier LinuxGSM będzie można używać tylko do gier z Steam.

Instalacja Docker na Synology NAS

Na tym etapie wszystko jest proste, przechodzimy do panelu administracyjnego Synology, następnie do „Centrum pakietów”, szukamy i instalujemy Docker.

Centrum pakietówPrzekształcanie Synology NAS w serwer gier
Uruchamiamy i widzimy mniej więcej taki widok (mam już zainstalowany ten kontener)

Zarządzanie konteneremPrzekształcanie Synology NAS w serwer gier
Następnie przechodzimy do zakładki „Rejestr”, wpisujemy w wyszukiwarce „gameservermanagers”, wybieramy obraz „gameservermanagers/linuxgsm-docker” i klikamy przycisk „Pobierz”.

gameservermanagers/linuxgsm-dockerPrzekształcanie Synology NAS w serwer gier
Potem przechodzimy do zakładki „Obraz”, czekamy na zakończenie pobierania obrazu i klikamy przycisk „Uruchom”.

Pobieranie obrazuPrzekształcanie Synology NAS w serwer gier
W otwartym oknie należy przejść do „Zaawansowane ustawienia”, a następnie do zakładki „Sieć” i zaznaczyć pole „Użyj tej samej sieci co host Docker”.

Pozostałe ustawienia, takie jak „Nazwa kontenera”, zmieniamy według własnego uznania.
Nazwa kontenera — jak łatwo się domyślić, to jest nazwa kontenera, która będzie przydatna. Zalecam nazywanie jej w sposób zwięzły, na przykład „test”.

Następnie klikamy przycisk „Zastosuj” lub „Dalej” kilka razy, aż do zakończenia konfiguracji.

Ustawienia zaawansowanePrzekształcanie Synology NAS w serwer gier
Przechodzimy do zakładki „Kontener” i widzimy nowo uruchomiony (jeśli nie, uruchamiamy) kontener.
Można nim tutaj zarządzać — zatrzymywać, uruchamiać, usuwać oraz wykonywać inne działania.

Uruchamianie konteneraPrzekształcanie Synology NAS w serwer gier

Konfiguracja kontenera Docker LinuxGSM

Przed podłączeniem się do Synology NAS przez SSH należy aktywować sam dostęp SSH w panelu administracyjnym.

Podłączenie przez SSHPrzekształcanie Synology NAS w serwer gier
Następnie konieczne jest użycie wewnętrznego adresu IP Synology NAS serwera do połączenia przez SSH.

Przechodzimy do terminala (lub innego dowolnego odpowiednika, na przykład pod Windows to PuTTY) i używamy następującej komendy:

ssh user_name@IP

W moim przypadku wygląda to tak

ssh admin@192.168.0.166

Adres IP serwera Synology NASPrzekształcanie Synology NAS w serwer gier
Po autoryzacji należy wykonać komendę, aby przejść do kontenera „test” (pole „Nazwa kontenera” w ustawieniach Docker) jako użytkownik „root”

sudo docker exec -u 0 -it test bash

Połączenie z DockeremPrzekształcanie Synology NAS w serwer gier
Przed samą instalacją „LinuxGSM” należy wykonać kilka czynności.

Ustawimy hasło dla użytkownika „root”

passwd

Następnie zaktualizujemy wszystkie pakiety

apt update && apt upgrade && apt autoremove

Czekamy na zakończenie procesu…

Aktualizacja pakietówPrzekształcanie Synology NAS w serwer gier
Następnie zainstalujemy potrzebne narzędzia

apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-full

Ponieważ wykonywanie różnych działań jako „root” nie jest najlepszym pomysłem, dodamy nowego użytkownika „test”.

adduser test

I pozwolimy nowemu użytkownikowi używać „sudo”

usermod -aG sudo test

Przechodzimy na nowego użytkownika „test”

su test

Instalacja narzędziPrzekształcanie Synology NAS w serwer gier

Instalacja i konfiguracja LinuxGSM

Rozważymy przykład konfiguracji LinuxGSM na przykładzie „Counter-Strike”, znanego również jako „CS 1.6” https://linuxgsm.com/lgsm/csserver

Przechodzimy na stronę instrukcji „Counter-Strike” linuxgsm.com/lgsm/csserver.

W zakładce „Dependencies” kopiujemy kod dla „Ubuntu 64-bit”.

Na moment pisania artykułu ten kod wygląda tak:

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 lib32stdc++6 steamcmd

Instalacja zależnościPrzekształcanie Synology NAS w serwer gier
W trakcie instalacji należy zgodzić się z „Steam License”:

Steam LicensePrzekształcanie Synology NAS w serwer gier
Przechodzimy do zakładki „Install”, kopiujemy kod z 2. kroku (1. krok pomijamy, użytkownik „test” już istnieje):

ZainstalujPrzekształcanie Synology NAS w serwer gier

wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver

Czekamy na pobranie:

PobieraniePrzekształcanie Synology NAS w serwer gier
I uruchamiamy instalację:

./csserver install

Jeśli wszystko poszło zgodnie z planem, zobaczymy upragnione „Install Complete!”

Install Complete!Przekształcanie Synology NAS w serwer gier
Uruchamiamy… i widzimy błąd „Multiple IP addresses found.”

./csserver start

Multiple IP addresses foundPrzekształcanie Synology NAS w serwer gier
Następnie musimy jawnie wskazać serwerowi, jaki adres IP ma używać.

W moim przypadku jest to:

192.168.0.166

Przechodzimy do folderu, którego ścieżka była w wiadomości jako „lokacja”:

cd /home/test/lgsm/config-lgsm/csserver

I sprawdzamy, jakie pliki są w tym folderze:

ls

Lista plików w folderze csserverPrzekształcanie Synology NAS w serwer gier
Kopiujemy zawartość pliku „_default.cfg” do pliku „csserver.cfg”:

cat _default.cfg >> csserver.cfg

I przechodzimy do trybu edycji pliku „csserver.cfg”:

nano csserver.cfg

Edycja pliku csserver.cfgPrzekształcanie Synology NAS w serwer gier
Znajdujemy linię:

ip="0.0.0.0"

I zamieniamy adres IP, który został zaproponowany, w moim przypadku to "192.168.0.166".

Wygląda to mniej więcej tak:

ip="192.168.0.166"

Naciskamy kombinację klawiszy:

Ctr + X

I po zapytaniu o zapisanie klikamy:

Y

Wracamy do folderu użytkownika „test”:

cd ~

I ponownie próbujemy uruchomić serwer. Teraz serwer powinien się uruchomić bez problemów:

./csserver start

Uruchamianie serweraPrzekształcanie Synology NAS w serwer gier
Aby zobaczyć szczegółowe informacje, użyjemy komendy:

.\/csserver details

Szczegółowe informacje o serwerzePrzekształcanie Synology NAS w serwer gier
Z ważnych parametrów warto zwrócić uwagę na:

  • IP serwera: 192.168.0.166:27015
  • IP internetowe: xxx.xx.xxx.xx:27015
  • Plik konfiguracyjny: \/home\/test\/serverfiles\/cstrike\/csserver.cfg

Na tym etapie serwer gier jest już dostępny w lokalnej sieci.

Konfiguracja przekierowania adresu IP

Gra w lokalnej sieci jest dobra, ale granie z przyjaciółmi przez internet — lepsze!

Aby przekierować adres IP, który router otrzymał od dostawcy, używamy mechanizmu NAT.

Warto również zauważyć, że większość dostawców używa dynamicznych adresów IP dla swoich klientów.

Dla wygody i stabilności działania warto uzyskać statyczny adres IP.

Ponieważ mam router „TP-Link Archer C60”, podaję przykład konfiguracji przekierowania, jak jest to zrealizowane w moim routerze.

W przypadku innych routerów przypuszczam, że konfiguracja przekierowania wygląda podobnie.

Tutaj wszystko jest proste — należy wskazać przekierowanie z zewnętrznego adresu IP na wewnętrzny adres IP serwera dla dwóch portów:

  • 27015
  • 27005

W panelu administracyjnym mojego routera wygląda to tak

Panel administracyjny routeraPrzekształcanie Synology NAS w serwer gier
I to wszystko, po zapisaniu ustawień routera, serwer gier będzie dostępny w sieci pod zewnętrznym adresem IP dla wskazanych portów!

Dodatkowe ustawienia na przykładzie CS 1.6

Na przykładzie CS 1.6 chciałbym dać kilka przydatnych wskazówek.

Są dwa pliki konfiguracyjne serwera

Pierwszy znajduje się tutaj:

~\/lgsm\/config-lgsm\/csserver\/csserver.cfg

Drugi znajduje się tutaj:

~\/serverfiles\/cstrike\/csserver.cfg

Pierwszy plik zawiera ogólne ustawienia, takie jak adres IP, mapa do pierwszego załadowania serwera itd.

Drugi plik zawiera ustawienia poleceń, które można wykonując przez konsolę „Counter-Strike”, na przykład „rcon_password” lub „sv_password”.

W drugim pliku zalecam ustawienie hasła do połączenia z serwerem za pomocą CVar „sv_password” oraz ustawienie hasła do zarządzania z konsoli samego serwera za pomocą CVar „rcon_password”.

Pełną listę wszystkich zmiennych CVar można zobaczyć tutaj http://txdv.github.io/cstrike-cvarlist

Prawdopodobnie będzie też potrzeba zainstalowania dodatkowych map, na przykład „fy_pool_day”.

Wszystkie mapy do CS 1.6 znajdują się tutaj:

~\/serverfiles\/cstrike\/maps

Znaleźliśmy potrzebną mapę, ładujemy ją bezpośrednio na serwer (jeśli jest w archiwum, rozpakowujemy), przenosimy plik z rozszerzeniem „.bsp” do folderu z plikami „~\/serverfiles\/cstrike\/maps” i restartujemy serwer.

~.\/csserver restart

Notabene, wszystkie dostępne komendy serwera można zobaczyć w ten sposób

~.\/csserver

 

Podsumowanie

Jestem zadowolony z rezultatu. Wszystko działa szybko i nie laguje.

LinuxGSM ma wiele dodatkowych ustawień, na przykład integrację z Telegramem i Slackiem do powiadomień, ale niektóre funkcje wciąż wymagają dopracowania.

Ogólnie, polecam do użycia!

Źródła

https://linuxgsm.com
https://docs.linuxgsm.com
https://digitalboxweb.wordpress.com/2019/09/02/serveur-counter-strike-go-sur-nas-synology
https://medium.com/@konpat/how-to-host-a-counter-strike-1-6-game-on-linux-full-tutorial-a25f20ff1149
http://txdv.github.io/cstrike-cvarlist

UPD

Jak zauważył centralhardware nie wszystkie Synology NAS mogą działać w Dockerze, oto lista urządzeń, które mogą https://www.synology.com/ru-ru/dsm/packages/Docker.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster