
Dobrý den!
Tak, z mnoha známých důvodů musíme trávit více času doma před monitorem.
V takové situaci si musíme vzpomenout na dávno minulé časy.
Jak už je jasné z názvu tohoto článku, budeme se zabývat nastavením Synology NAS jako herního serveru.
Achtung — v článku je spousta screenshotů (screenshoty jsou klikací)!
Než začneme, zde je seznam nástrojů, které budeme potřebovat:
Synology NAS — zde nevidím žádná omezení, myslím, že vyhovuje jakýkoli, pokud nemáte plány mít server pro 10k hráčů.
Docker — nejsou potřeba žádné zvláštní dovednosti, stačí mít základní představu o fungování.
LinuxGSM — o tom, co je LinuxGSM, si můžete přečíst na oficiálních stránkách https://linuxgsm.com.
V současné době (duben 2020) je na LinuxGSM dostupné 105 herních serverů.
Celý seznam si můžete prohlédnout zde https://linuxgsm.com/servers.
Steam — tržiště s hrami.
Herní server LinuxGSM má integraci s SteamCMD, tedy herní server LinuxGSM bude možné používat pouze pro hry ze Steamu.
Instalace Dockeru na Synology NAS
V této fázi je to jednoduché, přejdeme do administrátorské panelu Synology, dále do „Package centre“, najdeme a nainstalujeme Docker.
Package centre
Spustíme a uvidíme zhruba takový obrázek (já už mám tento kontejner nainstalovaný)
Správa kontejneru
Dále přejdeme na záložku „Registry“, zadáme do vyhledávání „gameservermanagers“, vybereme obraz „gameservermanagers/linuxgsm-docker“ a klikneme na tlačítko „Download“.
gameservermanagers/linuxgsm-docker
Poté přejdeme na záložku „Image“, počkáme na dokončení stahování obrazu a klikneme na tlačítko „Launch“.
Stahování obrazu
V otevřeném okně je třeba přejít do „Advanced Settings“, dále na záložku „Network“ a zaškrtnout možnost „Use the same network as Docker Host“.
Ostatní nastavení, například jako „Container Name“, měníme dle vlastního uvážení.
Container Name — jak asi tušíte, to je název kontejneru, který se později bude hodit. Doporučuji nazvat nějak jednoduše, pro příklad ať to je „test“.
Dále klikneme na tlačítko „Apply“ nebo „Next“ několikrát, dokud se konfigurace nedokončí.
Pokročilé nastavení
Přejdeme na záložku „Container“ a vidíme nový spuštěný (pokud ne, spustíme) kontejner.
Zde ho lze zastavovat, spouštět, mazat a provádět další činnosti.
Nastavení Docker kontejneru LinuxGSM
Než se připojíte k Synology NAS přes SSH, musíte aktivovat samotný SSH přístup v administrátorské panelu.
Připojení přes SSH
Dále je nutné použít vnitřní IP adresu Synology NAS serveru pro připojení přes SSH.
Přejdeme do terminálu (nebo jakéhokoli jiného ekvivalentu, například pod Windows to PuTTY) a použijeme následující příkaz:
ssh user_name@IPV mém případě to vypadá takto
ssh admin@192.168.0.166IP adresa serveru Synology NAS
Po autorizaci je třeba vykonat příkaz pro přechod do samotného kontejneru „test“ (pole „Container Name“ v nastavení Dockeru) pod uživatelským jménem „root“
sudo docker exec -u 0 -it test bashPřipojení k Dockeru
Před samotnou instalací „LinuxGSM“ je třeba provést určité kroky.
Nainstalujeme heslo pro uživatele „root“
passwdDále aktualizujeme všechny balíčky
apt update && apt upgrade && apt autoremoveČekáme na dokončení procesu...
Aktualizace balíčků
Dále nainstalujeme potřebné utilitky
apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-fullProtože není nejlepší nápad vykonávat různé akce jako „root“, přidáme nového uživatele „test“.
adduser testA povolíme novému uživateli používat „sudo“
usermod -aG sudo testPřepínáme se na nového uživatele „test“
su testInstalace a konfigurace LinuxGSM
Podíváme se na příklad konfigurace LinuxGSM na příkladu „Counter-Strike“, známý také jako „CS 1.6“ https://linuxgsm.com/lgsm/csserver
Přejdeme na stránku s instrukcemi pro „Counter-Strike“ linuxgsm.com/lgsm/csserver.
Na kartě „Dependencies“ zkopírujeme kód pro „Ubuntu 64-bit“.
V době psaní tohoto článku vypadá tento kód takto:
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
Instalace závislostí
Během instalace je třeba souhlasit s „Steam License“:
Steam License
Přejdeme na kartu „Install“ a zkopírujeme kód z 2. kroku (1. krok přeskočíme, uživatel „test“ již existuje):
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
Čekáme na stažení:
Stahování
A spustíme instalaci:
. /csserver installPokud vše proběhlo podle plánu, uvidíme vzácné „Install Complete!“
Install Complete!
Spouštíme... a vidíme chybu „Multiple IP addresses found.“
. /csserver startMultiple IP addresses found
Dále je třeba jasně určit serveru, který IP má použít.
V mém případě je to:
192.168.0.166Přejdeme do složky, jejíž cesta byla v zprávě jako „location“:
cd /home/test/lgsm/config-lgsm/csserverA podívej se, jaké soubory jsou v této složce:
lsSeznam souborů ve složce csserver
Zkopírujeme obsah souboru „_default.cfg“ do souboru „csserver.cfg“:
cat _default.cfg >> csserver.cfgA přejdeme do režimu úpravy souboru „csserver.cfg“:
nano csserver.cfgÚprava souboru csserver.cfg
Najdeme řádek:
ip="0.0.0.0"A nahradíme IP adresu, která byla navržena, v mém případě to je „192.168.0.166“.
Bude to nějak takto:
ip="192.168.0.166"Stiskneme kombinaci kláves:
Ctr + XA po nabídce uložení klikneme na:
YVrátíme se do složky uživatele «test»:
cd ~A znovu se pokusíme spustit server. Nyní by se server měl spustit bez problémů:
. /csserver startSpuštění serveru
Pro zobrazení podrobnějších informací použijeme příkaz:
./csserver detailsPodrobné informace o serveru
Z důležitých parametrů stojí za zmínku:
- Server IP: 192.168.0.166:27015
- Internet IP: xxx.xx.xxx.xx:27015
- Konfigurační soubor: /home/test/serverfiles/cstrike/csserver.cfg
V tomto stádiu je herní server již dostupný v lokální síti.
Nastavení přesměrování IP adresy
Hrát v lokální síti je fajn, ale hrát s přáteli přes internet je lepší!
Pro přesměrování IP adresy, kterou router dostal od poskytovatele, použijeme mechanismus NAT.
Také se sluší poznamenat, že většina poskytovatelů používá pro své klienty dynamické IP adresy.
Pro pohodlí a stabilitu provozu je žádoucí získat statickou IP adresu.
Jelikož mám router «TP-Link Archer C60», uvádím příklad nastavení přesměrování, jak je to realizováno v mém routeru.
Pro jiné routery předpokládám, že nastavení přesměrování je podobně uspořádáno.
Tady je to jednoduché - je třeba uvést přesměrování z externí IP adresy na interní IP adresu serveru pro dva porty:
- 27015
- 27005
V admin panelu mého routeru to vypadá takto
Admin panel routeru
A to je vše, po uložení nastavení routeru bude herní server dostupný v síti pod externí IP adresou pro uvedené porty!
Další nastavení na příkladu CS 1.6
Na příkladu CS 1.6 bych chtěl nabídnout několik užitečných rad.
Existují dva soubory pro konfiguraci serveru
První je zde:
~/lgsm/config-lgsm/csserver/csserver.cfgDruhý je zde:
~/serverfiles/cstrike/csserver.cfgPrvní soubor obsahuje obecná nastavení, jako jsou IP adresa, mapa pro první načtení serveru atd.
Druhý soubor obsahuje nastavení příkazů, které lze provádět přes konzoli «Counter-Strike», například «rcon_password» nebo «sv_password».
Ve druhém souboru doporučuji nastavit heslo pro připojení k serveru přes CVar «sv_password» a nastavit heslo pro správu z konzole samotného serveru přes CVar «rcon_password».
Seznam všech CVar proměnných můžete najít zde http://txdv.github.io/cstrike-cvarlist
Také pravděpodobně bude potřeba nainstalovat další mapy, například «fy_pool_day».
Všechny mapy pro CS 1.6 najdete zde:
~\/serverfiles\/cstrike\/mapsNajdeme požadovanou mapu, nahrajeme ji přímo na server (pokud je v archivu, rozbalíme), přesuneme soubor s příponou „.bsp“ do složky s soubory „~\/serverfiles\/cstrike\/maps“ a restartujeme server.
~.\/csserver restartMimochodem, všechny dostupné příkazy serveru můžete zobrazit takto
~.\/csserver
Výsledek
Jsem spokojen s výsledkem. Všechno funguje rychle a bez zpoždění.
LinuxGSM má mnoho dalších nastavení, například integraci s Telegramem a Slackem pro upozornění, ale některé funkce ještě vyžadují úpravy.
Celkově doporučuji k použití!
Zdroje
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 jsem si všiml, centralhardware ne všechny Synology NAS mohou běžet v Dockeru, zde je seznam zařízení, které mohou https://www.synology.com/ru-ru/dsm/packages/Docker.
Zdroj: habr.com



