Witamy!
Tak więc ze znanych powodów musisz spędzać więcej czasu w domu przed monitorem.
W takim stanie rzeczy trzeba pamiętać o sprawach minionych dni.
Jak wynika z tytułu tego artykułu, porozmawiamy o skonfigurowaniu serwera Synology NAS jako serwera gier.
Uwaga - w artykule znajduje się dużo zrzutów ekranu (zrzuty ekranu można kliknąć)!
Zanim zaczniemy, oto lista narzędzi, których będziemy potrzebować:
W tej chwili (kwiecień 2020) w LinuxGSM dostępnych jest 105 serwerów gier.
Całą listę można zobaczyć tutaj
Serwer gier LinuxGSM ma integrację z
Instalowanie Dockera na serwerze Synology NAS
Na tym etapie wszystko jest proste, przejdź do panelu administracyjnego Synology, następnie do „Centrum pakietów”, znajdź i zainstaluj Dockera.
centrum pakietów
Uruchamiamy i widzimy coś takiego (mam już zainstalowany ten kontener)
Zarządzanie kontenerami
Następnie przejdź do zakładki „Rejestr”, w wyszukiwarce wpisz „gameservermanagers”, wybierz obraz „gameservermanagers/linuxgsm-docker” i kliknij przycisk „Pobierz”.
gameservermanagers/linuxgsm-docker
Następnie przejdź do zakładki „Obraz”, poczekaj, aż obraz się załaduje i kliknij przycisk „Uruchom”.
Pobieranie obrazu
W oknie, które zostanie otwarte, przejdź do „Ustawień zaawansowanych”, następnie do zakładki „Sieć” i zaznacz pole „Użyj tej samej sieci co host Docker”.
Pozostałą część ustawień, jak np. „Nazwa kontenera” zmieniamy według własnego uznania.
Nazwa kontenera - jak można się domyślić, jest to nazwa kontenera, przyda się później. Polecam nazwać to jakoś zwięźle, na przykład niech będzie „test”.
Następnie kliknij kilka razy przycisk „Zastosuj” lub „Dalej”, aż do zakończenia ustawień.
Ustawienia zaawansowane
Przejdź do zakładki „Kontener” i zobacz nowy działający (jeśli nie, uruchom) kontener.
Tutaj możesz zatrzymać, uruchomić, usunąć i wykonać inne czynności.
Konfigurowanie kontenera dokowanego LinuxGSM
Zanim będziesz mógł połączyć się z serwerem Synology NAS przez SSH, musisz włączyć dostęp SSH w panelu administracyjnym.
Łączenie przez SSH
Następnie musisz użyć wewnętrznego adresu IP serwera Synology NAS, aby połączyć się przez SSH.
Idziemy do terminala (lub dowolnego innego analogu, na przykład pod Windowsem to
ssh user_name@IP
W moim przypadku wygląda to tak
ssh [email protected]
Adres IP serwera Synology NAS
Po autoryzacji należy wykonać polecenie przejścia do samego kontenera „testowego” (pole „Nazwa kontenera” w ustawieniach Dockera) pod użytkownikiem „root”
sudo docker exec -u 0 -it test bash
Łączenie z Dockerem
Przed instalacją „LinuxGSM” musisz wykonać kilka kroków.
Ustaw hasło dla użytkownika „root”.
passwd
Następnie zaktualizuj wszystkie pakiety
apt update && apt upgrade && apt autoremove
Czekam na zakończenie procesu...
Aktualizacja pakietów
Następnie zainstaluj niezbędne narzędzia
apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-full
Ponieważ wykonywanie różnych czynności w ramach „root” nie jest najlepszym pomysłem, dodamy „test” nowego użytkownika.
adduser test
I pozwól nowemu użytkownikowi używać „Sudo”
usermod -aG sudo test
Przejście na „test” nowego użytkownika
su test
Instalacja i konfiguracja LinuxGSM
Rozważ przykład konfiguracji LinuxGSM na przykładzie „Counter-Strike”, czyli „CS 1.6”
Przechodzimy do strony z instrukcją „Counter-Strike”
W zakładce „Zależności” skopiuj kod w sekcji „Ubuntu 64-bit”.
W momencie pisania ten kod wygląda następująco:
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
Instalowanie zależności
Podczas procesu instalacji musisz wyrazić zgodę na „Licencję Steam”:
Licencja Steam
Przejdź do zakładki „Instaluj”, skopiuj kod z kroku 2 (krok 1 pomijamy, użytkownik „testowy” już istnieje):
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
Czekam na pobranie:
Pobierać
I zaczynamy instalację:
./csserver install
Jeśli wszystko poszło w normalnym trybie, zobaczymy upragniony komunikat „Instalacja zakończona!”
Instalacja ukończona!
Zaczynamy… i widzimy błąd „Znaleziono wiele adresów IP”.
./csserver start
Znaleziono wiele adresów IP
Następnie musisz wyraźnie powiedzieć serwerowi, jakiego adresu IP ma używać.
W moim przypadku jest to:
192.168.0.166
Przechodzimy do folderu, do którego ścieżka była w wiadomości jako „lokalizacja”:
cd /home/test/lgsm/config-lgsm/csserver
I zobacz, jakie pliki znajdują się w tym folderze:
ls
Lista plików w folderze csserver
Skopiuj zawartość pliku „_default.cfg” do pliku „csserver.cfg”:
cat _default.cfg >> csserver.cfg
I przejdź do trybu edycji pliku „csserver.cfg”:
nano csserver.cfg
Edycja pliku csserver.cfg
Znajdź linię:
ip="0.0.0.0"
I zastępujemy zaproponowany adres IP, w moim przypadku jest to „192.168.0.166”.
Wyjdzie coś takiego:
ip="192.168.0.166"
Wciskamy kombinację klawiszy:
Ctr + X
A po ofercie zapisania kliknij:
Y
Wracamy do folderu użytkownika „test”:
cd ~
I spróbuj ponownie uruchomić serwer. Serwer powinien teraz uruchomić się bez problemów:
./csserver start
Uruchomienie serwera
Aby wyświetlić bardziej szczegółowe informacje, użyj polecenia:
./csserver details
Szczegółowe informacje o serwerze
Z ważnych parametrów, na które warto zwrócić uwagę:
- IP serwera: 192.168.0.166:27015
- Adres IP Internetu: xxx.xx.xxx.xx:27015
- Plik konfiguracyjny: /home/test/serverfiles/cstrike/csserver.cfg
Na tym etapie serwer gry jest już dostępny w sieci lokalnej.
Konfigurowanie przekazywania adresów IP
Gra w sieci lokalnej jest dobra, ale gra z przyjaciółmi przez Internet jest lepsza!
Aby przekazać adres IP, który router otrzymał od dostawcy, korzystamy z mechanizmu NAT.
Warto również zauważyć, że większość dostawców usług internetowych używa dynamicznych adresów IP dla swoich klientów.
Dla wygody i stabilności pracy pożądane jest uzyskanie statycznego adresu IP.
Ponieważ mam router TP-Link Archer C60, podam przykład konfiguracji przekierowania, tak jak jest to zaimplementowane w moim routerze.
Zakładam, że w przypadku innych routerów konfiguracja przekazywania jest podobna.
Tutaj wszystko jest proste - musisz określić 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 routera
To wszystko, po zapisaniu ustawień routera serwer gry będzie dostępny w sieci pod zewnętrznym adresem IP dla określonych portów!
Dodatkowe ustawienia na przykładzie CS 1.6
Na przykładzie CS 1.6 chciałbym podać kilka przydatnych wskazówek.
Istnieją dwa pliki do konfiguracji serwera
Pierwszy z nich jest tutaj:
~/lgsm/config-lgsm/csserver/csserver.cfg
Drugi jest tutaj:
~/serverfiles/cstrike/csserver.cfg
Pierwszy plik zawiera ustawienia ogólne, takie jak adres IP, mapa pierwszego uruchomienia serwera itp.
Drugi plik zawiera ustawienia poleceń, które można wykonać za pośrednictwem konsoli Counter-Strike, takie jak „rcon_password” lub „sv_password”.
W drugim pliku polecam ustawienie hasła do łączenia się z serwerem poprzez CVar "sv_password" oraz ustawienie hasła do zarządzania z konsoli samego serwera poprzez CVar "rcon_password".
Listę wszystkich zmiennych CVar można znaleźć tutaj
Najprawdopodobniej konieczne będzie zainstalowanie dodatkowych kart, na przykład „fy_pool_day”.
Wszystkie mapy do CS 1.6 są tutaj:
~/serverfiles/cstrike/maps
Znajdujemy potrzebną mapę, wgrywamy ją bezpośrednio na serwer (jeśli jest w archiwum, rozpakowujemy), przenosimy plik z rozszerzeniem „.bsp” do folderu z plikami „~/serverfiles/cstrike/maps” i zrestartuj serwer.
~./csserver restart
Nawiasem mówiąc, wszystkie dostępne polecenia serwera można przeglądać w ten sposób
~./csserver
Łączny
Jestem zadowolony z rezultatu. Wszystko działa szybko i nie ma opóźnień.
LinuxGSM ma wiele zaawansowanych ustawień, takich jak integracja z Telegramem i Slackiem w zakresie powiadomień, ale niektóre funkcjonalności wymagają jeszcze udoskonalenia.
Ogólnie polecam używać!
Źródła informacji
UPD
Jak zaznaczono
Źródło: www.habr.com