
Vitajte!
Tak, z rôznych známych dôvodov sa musí viac času tráviť doma pred monitorom.
V tejto situácii si musíme pripomenúť záležitosti z dávnych čias.
Ako už naznačuje názov tohto článku, budeme sa zaoberať nastavením Synology NAS ako herného servera.
Achtung — v článku je veľa screenshotov (screenshoty sú klikateľné)!
Predtým, než začneme, tu je zoznam nástrojov, ktoré budeme potrebovať:
Synology NAS — tu nevidím obmedzenia, myslím, že akýkoľvek variant bude vhodný, ak nemáte v pláne hostiť server pre 10 000 hráčov.
Docker — žiadne špeciálne zručnosti nie sú potrebné, stačí mať základné porozumenie pracovnímu princípu.
LinuxGSM — o tom, čo LinuxGSM predstavuje, si môžete prečítať na oficiálnej stránke. https://linuxgsm.com.
V súčasnosti (apríl 2020) je na LinuxGSM dostupných 105 herných serverov.
Celý zoznam si môžete pozrieť tu https://linuxgsm.com/servers.
Steam — obchod s hrami.
Herný server LinuxGSM má integráciu s SteamCMD, to znamená, že herný server LinuxGSM bude možné používať iba pre hry zo Steamu.
Inštalácia Dockeru na Synology NAS
V tejto fáze je všetko jednoduché, prejdeme do administračného panela Synology, potom do "Package centre", nájdeme a nainštalujeme Docker.
Package centre
Spustíme a vidíme približne takýto obraz (už mám tento kontajner nainštalovaný).
Správa kontajnera
Potom prejdeme na kartu "Registry", do vyhľadávania zadáme "gameservermanagers", vyberieme obraz "gameservermanagers/linuxgsm-docker" a klikneme na tlačidlo "Download".
gameservermanagers/linuxgsm-docker
Potom prejdeme na kartu "Image", počkáme na dokončenie sťahovania obrazu a klikneme na tlačidlo "Launch".
Sťahovanie obrazu
V otvorenom okne je potrebné prejsť do "Advanced Settings", potom na kartu "Network" a zaškrtnúť políčko "Use the same network as Docker Host".
Ostatné nastavenia, napríklad také, ako "Container Name", môžete zmeniť podľa vlastného uváženia.
Container Name — ako nie je ťažké uhádnuť, ide o názov kontajnera, ktorý neskôr využijeme. Odporúčam nazvať ho nejako jednoducho, napríklad "test".
Potom klikneme na tlačidlo "Apply" alebo "Next" niekoľkokrát, až kým nedokončíme nastavenie.
Advanced Settings
Prejdeme na kartu "Container" a vidíme nový spustený (ak nie, spustíme) kontajner.
Tu ho môžete zastavovať, spúšťať, mazať a vykonávať ďalšie akcie.
Nastavenie Docker kontajnera LinuxGSM
Predtým, než sa pripojíte k Synology NAS cez SSH, musíte aktivovať SSH prístup v administračnom paneli.
Pripojenie cez SSH
Ďalej je potrebné používať interný IP adresu Synology NAS servera na pripojenie cez SSH.
Prejdeme do terminálu (alebo akéhokoľvek iného ekvivalentu, napríklad pod Windows je to PuTTY) a použijeme nasledujúci príkaz:
ssh user_name@IPV mojom prípade to vyzerá takto
ssh admin@192.168.0.166IP adresa servera Synology NAS
Po prihlásení je potrebné vykonať príkaz na prechod do samotného kontajnera "test" (pole "Container Name" v nastaveniach Docker) ako používateľ "root"
sudo docker exec -u 0 -it test bashPripojenie k Dockeru
Pred samotnou inštaláciou "LinuxGSM" je potrebné vykonať niektoré akcie.
Nastavíme heslo pre používateľa "root"
passwdPotom aktualizujeme všetky balíky
apt update && apt upgrade && apt autoremoveČakáme na dokončenie procesu…
Aktualizácia balíkov
Následne nainštalujeme potrebné nástroje
apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-fullKeďže vykonávať rôzne akcie pod „root“ nie je najlepším nápadom, pridáme nového používateľa „test“.
adduser testA umožníme novému používateľovi používať „sudo“
usermod -aG sudo testPrepneme sa na nového používateľa „test“
su testInštalácia a nastavenie LinuxGSM
Zvážime príklad nastavenia LinuxGSM na príklade „Counter-Strike“, tiež známy ako „CS 1.6“ https://linuxgsm.com/lgsm/csserver
Prejdeme na stránku s pokynmi pre „Counter-Strike“ linuxgsm.com/lgsm/csserver.
Na karte „Dependencies“ skopírujeme kód pod „Ubuntu 64-bit“.
V čase písania tohto článku tento kód vyzerá 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
Inštalácia závislostí
Počas inštalácie je potrebné súhlasiť s „Steam License“:
Steam License
Prejdeme na kartu „Install“ a skopírujeme kód z 2. kroku (1. krok preskočíme, používateľ „test“ už existuje):
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
Čakáme na stiahnutie:
Sťahovanie
A spustíme inštaláciu:
./csserver installAk všetko prebehlo bez problémov, uvidíme vytúžené „Install Complete!“
Install Complete!
Spúšťame… a vidíme chybu „Multiple IP addresses found.“
./csserver startMultiple IP addresses found
Ďalej je potrebné jasne určiť serveru, ktorú IP má použiť.
V mojom prípade je to:
192.168.0.166Prejdeme do priečinka, ktorého cesta bola v správe označená ako „location“:
cd /home/test/lgsm/config-lgsm/csserverA pozrieme sa, aké súbory sú v tomto priečinku:
lsZoznam súborov v priečinku csserver
Skopírujeme obsah súboru „_default.cfg“ do súboru „csserver.cfg“:
cat _default.cfg >> csserver.cfgA prejdeme do režimu úprav súboru „csserver.cfg“:
nano csserver.cfgÚprava súboru csserver.cfg
Nájdeme riadok:
ip="0.0.0.0"A nahradíme IP adresu, ktorá bola navrhnutá, v mojom prípade je to „192.168.0.166“.
Bude to asi takto:
ip="192.168.0.166"Stlačte klávesovú kombináciu:
Ctr + XA po výzve na uloženie stlačte:
YVrátime sa do zložky používateľa „test“:
cd ~A opäť sa pokúšame spustiť server. Teraz by mal server naštartovať bez problémov:
./csserver startSpustenie servera
Na zobrazenie podrobnejších informácií použijeme príkaz:
./csserver detailsPodrobné informácie o serveri
Z dôležitých parametrov stojí za zmienku:
- Server IP: 192.168.0.166:27015
- Internet IP: xxx.xx.xxx.xx:27015
- Konfiguračný súbor: /home/test/serverfiles/cstrike/csserver.cfg
V tejto fáze je herný server už dostupný v lokálnej sieti.
Nastavenie preposielania IP adresy
Hrať v lokálnej sieti je dobré, ale hrať s priateľmi cez internet je lepšie!
Na preposielanie IP adresy, ktorú router dostal od poskytovateľa, používame mechanizmus NAT.
Je taktiež vhodné poznamenať, že väčšina poskytovateľov používa dynamické IP adresy pre svojich klientov.
Pre pohodlie a stabilitu práce je žiadúce získať statickú IP adresu.
Keďže mám router „TP-Link Archer C60“, uvádzam príklad nastavenia preposielania, ako to je implementované v mojom routeri.
Pre iné routery predpokladám, že nastavenie preposielania je podobné.
Tu je to jednoduché - je potrebné uviesť preposielanie z vonkajšej IP adresy na vnútornú IP adresu servera pre dva porty:
- 27015
- 27005
V administrátorskej nástroji môjho routera to vyzerá takto
Admin panel routera
A to je všetko, po uložení nastavení routera bude herný server dostupný v sieti pod vonkajšou IP adresou pre uvedené porty!
Dodatočné nastavenia na príklade CS 1.6
Na príklade CS 1.6 by som chcel poskytnúť niekoľko užitočných rád.
Existujú dva súbory na konfiguráciu servera
Prvý sa nachádza tu:
~ /lgsm/config-lgsm/csserver/csserver.cfgDruhý sa nachádza tu:
~ /serverfiles/cstrike/csserver.cfgPrvý súbor obsahuje všeobecné nastavenia, ako sú IP adresa, mapa pre prvé načítanie servera atď.
Druhý súbor obsahuje nastavenia príkazov, ktoré možno vykonávať cez konzolu „Counter-Strike“, ako napríklad „rcon_password“ alebo „sv_password“.
V druhom súbore odporúčam nastaviť heslo na pripojenie k serveru pomocou CVar „sv_password“ a nastaviť heslo na správu zo samotnej konzoly servera pomocou CVar „rcon_password“.
Zoznam všetkých premenných CVar si možno pozrieť tu http://txdv.github.io/cstrike-cvarlist
Taktiež bude pravdepodobne potrebné nainštalovať ďalšie mapy, napríklad „fy_pool_day“.
Všetky mapy pre CS 1.6 sa nachádzajú tu:
~\/serverfiles\/cstrike\/mapsNájdeme potrebnú mapu, nahráme priamo na server (ak je v archíve, rozbalíme to), presunieme súbor s príponou „.bsp“ do priečinka so súbormi „~\/serverfiles\/cstrike\/maps“ a reštartujeme server.
~.\/csserver restartMimochodom, všetky dostupné príkazy servera si môžete pozrieť takto
~.\/csserver
Záver
Som spokojný s výsledkom. Všetko funguje rýchlo a bez lagovania.
LinuxGSM má veľa ďalších nastavení, napríklad integráciu s Telegramom a Slackom na upozornenia, ale niektoré funkcie ešte vyžadujú vylepšenia.
Celkovo odporúčam na používanie!
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
Ako si všimol centralhardware nie všetky Synology NAS môžu bežať v Dockeri, tu je zoznam zariadení, ktoré môžu https://www.synology.com/ru-ru/dsm/packages/Docker.
Zdroj: habr.com



