Verwandlung des Synology NAS in einen Spieleserver

Verwandlung des Synology NAS in einen Spieleserver

Hallo!

Nun, aus allen bekannten Gründen muss man mehr Zeit zu Hause vor dem Monitor verbringen.
Bei diesem Stand der Dinge kommt man nicht umhin, sich an die Ereignisse längst vergangener Tage zu erinnern.

Wie bereits im Titel dieses Artikels klar wird, geht es um die Konfiguration eines Synology NAS als Spieleserver.

Achtung — der Artikel enthält viele Screenshots (Screenshots sind klickbar)!

Bevor wir beginnen, hier ist eine Liste der Werkzeuge, die wir benötigen werden:

Synology NAS — hier sehe ich keine Einschränkungen, ich denke, jeder wird passen, solange man nicht plant, einen Server für 10.000 Spieler zu betreiben.

Docker — besondere Kenntnisse sind nicht erforderlich, es reicht aus, das Prinzip zu verstehen.

LinuxGSM — was LinuxGSM ist, kann auf der offiziellen Website nachgelesen werden https://linuxgsm.com.

Derzeit (April 2020) sind 105 Spieleserver auf LinuxGSM verfügbar.
Die gesamte Liste kann hier angesehen werden https://linuxgsm.com/servers.

Steam — ein Marktplatz für Spiele.

Spieleserver LinuxGSM hat eine Integration mit SteamCMD, das heißt, der LinuxGSM-Server kann nur für Spiele aus Steam verwendet werden.

Installation von Docker auf dem Synology NAS

In diesem Schritt ist alles einfach, gehen Sie in das Administrationspanel von Synology, dann in das "Paketzentrum", finden Sie Docker und installieren Sie es.

PaketzentrumVerwandlung des Synology NAS in einen Spieleserver
Starten Sie es und sehen Sie ein ähnliches Bild (ich habe diesen Container bereits installiert)

Container verwaltenVerwandlung des Synology NAS in einen Spieleserver
Weiter gehen wir zur Registerkarte „Registry“, geben in die Suche „gameservermanagers“ ein, wählen das Image „gameservermanagers/linuxgsm-docker“ aus und klicken auf die Schaltfläche „Herunterladen“.

gameservermanagers/linuxgsm-dockerVerwandlung des Synology NAS in einen Spieleserver
Danach gehen wir zur Registerkarte „Image“, warten auf den Abschluss des Downloads des Images und klicken auf die Schaltfläche „Starten“.

Download des AbbildsVerwandlung des Synology NAS in einen Spieleserver
Im sich öffnenden Fenster müssen wir zu „Erweiterte Einstellungen“ wechseln, dann zur Registerkarte „Netzwerk“ und das Kästchen „Das gleiche Netzwerk wie der Docker-Host verwenden“ markieren.

Die anderen Einstellungen, wie etwa „Container Name“, ändern wir nach Belieben.
Container Name — wie nicht schwer zu erraten ist, ist dies der Name des Containers, der später nützlich sein wird. Ich empfehle, ihn irgendwie kurz zu halten, zum Beispiel „test“.

Danach klicken wir mehrere Male auf die Schaltfläche „Übernehmen“ oder „Weiter“, bis die Einrichtung abgeschlossen ist.

Erweiterte EinstellungenVerwandlung des Synology NAS in einen Spieleserver
Wir gehen zur Registerkarte „Container“ und sehen den neuen gestarteten Container (falls nicht, starten wir ihn).
Hier kann er gestoppt, gestartet, gelöscht und andere Aktionen durchgeführt werden.

Starten eines ContainersVerwandlung des Synology NAS in einen Spieleserver

Einrichtung des Docker-Containers LinuxGSM

Bevor Sie sich über SSH mit dem Synology NAS verbinden, müssen Sie den SSH-Zugang im Administrationspanel aktivieren.

Verbindung über SSHVerwandlung des Synology NAS in einen Spieleserver
Als nächstes müssen Sie die interne IP-Adresse Synology NAS Server für die Verbindung über SSH verwenden.

Wir gehen in das Terminal (oder ein anderes ähnliches Programm, zum Beispiel unter Windows ist das PuTTY) und verwenden den folgenden Befehl:

ssh Benutzername@IP

In meinem Fall sieht das so aus

ssh admin@192.168.0.166

IP-Adresse des Synology NAS-ServersVerwandlung des Synology NAS in einen Spieleserver
Nach der Autorisierung müssen wir den Befehl ausführen, um in den Container "test" (das Feld "Container Name" in den Docker-Einstellungen) unter dem Benutzer "root" zu gelangen.

sudo docker exec -u 0 -it test bash

Verbindung zu DockerVerwandlung des Synology NAS in einen Spieleserver
Vor der Installation von "LinuxGSM" müssen einige Schritte durchgeführt werden.

Wir setzen ein Passwort für den Benutzer "root" fest.

passwd

Dann aktualisieren wir alle Pakete

apt update && apt upgrade && apt autoremove

Wir warten, bis der Prozess abgeschlossen ist…

PaketaktualisierungVerwandlung des Synology NAS in einen Spieleserver
Dann installieren wir die benötigten Utilities

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

Da es keine gute Idee ist, verschiedene Aktionen unter "root" auszuführen, fügen wir einen neuen Benutzer "test" hinzu.

adduser test

Und erlauben dem neuen Benutzer, "sudo" zu verwenden.

usermod -aG sudo test

Wir wechseln zu dem neuen Benutzer "test"

su test

Installation der UtilitiesVerwandlung des Synology NAS in einen Spieleserver

Installation und Konfiguration von LinuxGSM

Wir betrachten ein Beispiel für die Konfiguration von LinuxGSM am Beispiel von "Counter-Strike", auch bekannt als "CS 1.6". https://linuxgsm.com/lgsm/csserver

Wir gehen zur Anleitungsseite "Counter-Strike" linuxgsm.com/lgsm/csserver.

Im Tab "Dependencies" kopieren wir den Code für "Ubuntu 64-bit".

Zum Zeitpunkt des Verfassens des Artikels sieht dieser Code so aus:

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

Installation der AbhängigkeitenVerwandlung des Synology NAS in einen Spieleserver
Während der Installation müssen wir mit der "Steam-Lizenz" einverstanden sein:

Steam LicenseVerwandlung des Synology NAS in einen Spieleserver
Wir gehen zum Tab "Install" und kopieren den Code aus Schritt 2 (Schritt 1 überspringen, der Benutzer "test" existiert bereits):

InstallierenVerwandlung des Synology NAS in einen Spieleserver

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

Wir warten auf den Download:

DownloadVerwandlung des Synology NAS in einen Spieleserver
Und starten die Installation:

./csserver install

Wenn alles reibungslos abläuft, sehen wir das ersehnte „Install Complete!“

Install Complete!Verwandlung des Synology NAS in einen Spieleserver
Wir starten… und sehen den Fehler „Multiple IP addresses found.“

./csserver start

Multiple IP addresses foundVerwandlung des Synology NAS in einen Spieleserver
Jetzt müssen wir dem Server ausdrücklich mitteilen, welche IP er verwenden soll.

In meinem Fall ist das:

192.168.0.166

Wir gehen in den Ordner, dessen Pfad in der Nachricht als „location“ angegeben war:

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

Und schauen uns an, welche Dateien in diesem Ordner vorhanden sind:

ls

Dateiliste im Ordner csserverVerwandlung des Synology NAS in einen Spieleserver
Wir kopieren den Inhalt der Datei „_default.cfg“ in die Datei „csserver.cfg“:

cat _default.cfg >> csserver.cfg

Und wechseln in den Bearbeitungsmodus der Datei „csserver.cfg“:

nano csserver.cfg

Bearbeitung der Datei csserver.cfgVerwandlung des Synology NAS in einen Spieleserver
Wir suchen die Zeile:

ip="0.0.0.0"

Und ersetzen die vorgeschlagene IP-Adresse, in meinem Fall ist das „192.168.0.166“.

So wird es etwa aussehen:

ip="192.168.0.166"

Drücken Sie die Tastenkombination:

Ctr + X

Und nach der Aufforderung zum Speichern klicken wir auf:

Y

Wir kehren in den Benutzerordner «test» zurück:

cd ~

Und versuchen erneut, den Server zu starten. Jetzt sollte der Server ohne Probleme gestartet werden:

./csserver start

Server startenVerwandlung des Synology NAS in einen Spieleserver
Um detailliertere Informationen anzuzeigen, verwenden wir den Befehl:

.\/csserver details

Detaillierte Informationen zu ServerVerwandlung des Synology NAS in einen Spieleserver
Von wichtigen Parametern sind folgende zu erwähnen:

  • Server IP: 192.168.0.166:27015
  • Internet IP: xxx.xx.xxx.xx:27015
  • Konfigurationsdatei: \/home\/test\/serverfiles\/cstrike\/csserver.cfg

In diesem Schritt ist der Spieleserver bereits im lokalen Netzwerk verfügbar.

IP-Adressweiterleitung einrichten

Im lokalen Netzwerk zu spielen ist gut, aber mit Freunden über das Internet zu spielen – das ist besser!

Um die vom Provider zugewiesene IP-Adresse weiterzuleiten, verwenden wir den NAT-Mechanismus.

Es ist auch erwähnenswert, dass die meisten Anbieter dynamische IP-Adressen für ihre Kunden verwenden.

Zur Bequemlichkeit und Stabilität des Betriebs ist es wünschenswert, eine statische IP-Adresse zu erhalten.

Da ich einen Router „TP-Link Archer C60“ habe, gebe ich ein Beispiel für die Einrichtung der Weiterleitung an, wie sie in meinem Router umgesetzt ist.

Für andere Router gehe ich davon aus, dass die Einrichtung der Weiterleitung ähnlich gestaltet ist.

Hier ist alles einfach – Sie müssen die Weiterleitung von der externen IP-Adresse auf die interne IP-Adresse des Servers für zwei Ports angeben:

  • 27015
  • 27005

In der Administrationsoberfläche meines Routers sieht das so aus

Admin-Oberfläche des RoutersVerwandlung des Synology NAS in einen Spieleserver
Das ist alles, nachdem die Einstellungen des Routers gespeichert wurden, wird der Spieleserver im Netzwerk über die externe IP-Adresse für die angegebenen Ports verfügbar sein!

Zusätzliche Einstellungen am Beispiel von CS 1.6

Am Beispiel von CS 1.6 möchte ich einige nützliche Tipps geben.

Es gibt zwei Dateien zur Serverkonfiguration

Die erste befindet sich hier:

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

Die zweite befindet sich hier:

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

Die erste Datei enthält allgemeine Einstellungen wie die IP-Adresse, die Karte für den ersten Serverstart usw.

Die zweite Datei enthält die Einstellungen für Befehle, die über die „Counter-Strike“-Konsole ausgeführt werden können, z.B. „rcon_password“ oder „sv_password“.

In der zweiten Datei empfehle ich, ein Passwort für die Verbindung zum Server über CVar „sv_password“ festzulegen und ein Passwort zur Steuerung des Servers über die Konsole mit CVar „rcon_password“ festzulegen.

Die Liste aller CVar-Variablen finden Sie hier http://txdv.github.io/cstrike-cvarlist

Es wird wahrscheinlich auch notwendig sein, zusätzliche Karten zu installieren, wie z.B. „fy_pool_day“.

Alle Karten für CS 1.6 befinden sich hier:

~\/serverfiles\/cstrike\/maps

Suchen Sie die benötigte Karte, laden Sie sie direkt auf den Server (falls sie im Archiv ist, entpacken Sie sie), verschieben Sie die Datei mit der Erweiterung „.bsp“ in den Ordner mit den Dateien „~\/serverfiles\/cstrike\/maps“ und starten Sie den Server neu.

~.\/csserver restart

Übrigens können Sie alle verfügbaren Serverbefehle so anzeigen:

~.\/csserver

 

Fazit

Ich bin mit dem Ergebnis zufrieden. Alles läuft schnell und ohne Lags.

LinuxGSM bietet viele zusätzliche Einstellungen, wie zum Beispiel die Integration mit Telegram und Slack für Benachrichtigungen, aber einige Funktionen müssen noch überarbeitet werden.

Insgesamt empfehle ich es zur Nutzung!

Quellen

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

Wie ich festgestellt habe centralhardware können nicht alle Synology NAS in Docker verwendet werden, hier ist eine Liste der Geräte, die es können https://www.synology.com/ru-ru/dsm/packages/Docker.

Quelle: habr.com

60GB SSD 8Gb DDR4