Verwandeln Sie Synology NAS in einen Spieleserver



Schöne Grüße!

Aus allen bekannten Gründen müssen Sie also mehr Zeit zu Hause vor dem Monitor verbringen.
In dieser Situation ist es notwendig, an die Angelegenheiten vergangener Tage zu erinnern.

Wie bereits aus dem Titel dieses Artikels hervorgeht, werden wir uns mit der Einrichtung Ihres Synology NAS als Spieleserver befassen.

Achtung - der Artikel enthält viele Screenshots (Screenshots können angeklickt werden)!

Bevor Sie beginnen, finden Sie hier eine Liste der Tools, die wir benötigen:

Synology NAS - Ich sehe hier keine Einschränkungen. Ich denke, jeder wird dies tun, wenn nicht geplant ist, einen Server für 10.000 Spieler zu behalten.

Docker - es sind keine besonderen Fähigkeiten erforderlich, im übertragenen Sinne, um das Prinzip der Arbeit zu verstehen.

LinuxGSM - was für ein LinuxGSMkann abgelesen werden. Online https://linuxgsm.com .

Derzeit (April 2020) sind 105 Spieleserver unter LinuxGSM verfügbar.
Die gesamte Liste finden Sie hier https://linuxgsm.com/servers .

Steam ist ein Markt mit Spielen.

Der LinuxGSM-Spieleserver ist in SteamCMD integriert, dh der LinuxGSM-Spieleserver kann nur für Spiele von Steam verwendet werden.

Installieren Sie Docker auf Synology NAS


In diesem Stadium ist alles einfach. Gehen Sie zum Synology Admin-Bereich und suchen und installieren Sie Docker im "Paketcenter".

Paketzentrum

Wir beginnen und sehen so etwas (ich habe diesen Container bereits installiert)

Containermanagement

Gehen Sie als Nächstes zur Registerkarte "Registrierung", rufen Sie die Suche "gameservermanagers" auf, wählen Sie das Bild "gameservermanagers / linuxgsm-docker" aus und klicken Sie auf die Schaltfläche "Download".

gameservermanagers / linuxgsm-docker

Nachdem Sie zur Registerkarte "Bild" gewechselt sind, warten Sie, bis das Bild vollständig geladen ist, und klicken Sie auf die Schaltfläche "Starten".

Bild herunterladen

Gehen Sie im folgenden Fenster zu "Erweiterte Einstellungen", gehen Sie zur Registerkarte "Netzwerk" und aktivieren Sie das Kontrollkästchen "Verwenden Sie dasselbe Netzwerk wie Docker Host".

Andere Einstellungen, wie z. B. "Containername", werden nach unserem Ermessen geändert.
Containername - Wie Sie vielleicht erraten haben, ist dies der Name des Containers, der später nützlich sein wird. Ich empfehle es irgendwie kurz zu nennen, zum Beispiel lass es "Test" sein.

Klicken Sie anschließend mehrmals auf die Schaltfläche „Übernehmen“ oder „Weiter“, bis die Konfiguration abgeschlossen ist.

Erweiterte Einstellungen

Gehen Sie zur Registerkarte "Container" und sehen Sie, wie der neue Container gestartet wird (wenn nicht, starten Sie).
Hier können Sie andere Aktionen stoppen, starten, löschen und ausführen.

Containerstart

Konfigurieren des LinuxGSM Docker Containers


Bevor Sie über SSH eine Verbindung zu Synology NAS herstellen, müssen Sie den SSH-Zugriff im Admin-Bereich aktivieren.

SSH-Verbindung

Als Nächstes müssen Sie die interne IP-Adresse des Synology NAS-Servers verwenden, um eine Verbindung über SSH herzustellen.

Gehen Sie zum Terminal (oder zu einem anderen Analogon, z. B. unter Windows ist es PuTTY ) und verwenden Sie den folgenden Befehl:

ssh user_name@IP

In meinem Fall sieht es so aus

ssh admin@192.168.0.166

IP-Adresse des Synology NAS-Servers

Nach der Autorisierung müssen Sie den Befehl ausführen, um zum "Test" -Container selbst (das Feld "Containername" in den Docker-Einstellungen) unter dem Benutzer "root" zu gelangen.

sudo docker exec -u 0 -it test bash

Stellen Sie eine Verbindung zu Docker her

Vor der Installation von LinuxGSM müssen Sie einige Arbeiten ausführen.

Legen Sie ein Kennwort für den Root-Benutzer fest

passwd

Aktualisieren Sie als Nächstes alle Pakete

apt update && apt upgrade && apt autoremove

Wir warten auf das Ende des Prozesses ...

Paketaktualisierungen

Installieren Sie als Nächstes die erforderlichen Dienstprogramme

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

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

adduser test

Und lassen Sie den neuen Benutzer sudo verwenden

usermod -aG sudo test

Wechseln Sie zum neuen Benutzer "Test"

su test

Dienstprogramme installieren

Installieren und konfigurieren Sie LinuxGSM


Schauen wir uns ein Beispiel für die LinuxGSM-Konfiguration am Beispiel "Counter-Strike" oder "CS 1.6" an. Https://linuxgsm.com/lgsm/csserver

Gehen Sie zu der Seite mit der Anweisung "Counter-Strike" linuxgsm.com/lgsm/csserver .

Kopieren Sie auf der Registerkarte "Abhängigkeiten" den Code unter "Ubuntu 64-Bit".

Zum Zeitpunkt des Schreibens sieht dieser Code folgendermaßen 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

Abhängigkeitsinstallation

Während des Installationsvorgangs müssen Sie der „Steam-Lizenz“ zustimmen:

Steam-Lizenz

Gehen Sie zur Registerkarte "Installieren" und kopieren Sie den Code aus dem 2. Schritt (überspringen Sie den 1. Schritt, der Benutzer "Test" ist bereits vorhanden):

Installieren

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

Warten auf Download:

Herunterladen

Und starten Sie die Installation:

./csserver install

Wenn alles wie gewohnt gelaufen ist, sehen wir das geschätzte "Install Complete!"

Installation abgeschlossen!

Wir starten ... und sehen den Fehler "Mehrere IP-Adressen gefunden".

./csserver start

Mehrere IP-Adressen gefunden

Als Nächstes müssen Sie dem Server explizit mitteilen, welche IP verwendet werden soll.

In meinem Fall ist es:

192.168.0.166

Gehen Sie zu dem Ordner, dessen Pfad in der Nachricht als "Speicherort" angegeben war:

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

Und sehen Sie, welche Dateien sich in diesem Ordner befinden:

ls

Liste der Dateien im Ordner csserver

Kopieren Sie den Inhalt der Datei "_default.cfg" in die Datei "csserver.cfg":

cat _default.cfg >> csserver.cfg

Und gehen Sie in den Bearbeitungsmodus der Datei "csserver.cfg":

nano csserver.cfg

Bearbeiten der Datei csserver.cfg

Finden Sie die Linie:

ip="0.0.0.0"

Und ersetzen Sie die vorgeschlagene IP-Adresse, in meinem Fall "192.168.0.166".

Es wird sich ungefähr so ​​herausstellen:

ip="192.168.0.166"

Klemmen Sie die Tastenkombination:

Ctr + X

Und nach dem Speichern des Angebots klicken Sie auf:

Y

Wir kehren zum Benutzerordner "test" zurück:

cd ~

Und wieder versuchen wir den Server zu starten. Jetzt sollte der Server ohne Probleme starten:

./csserver start

Serverstart

Verwenden Sie den folgenden Befehl, um detailliertere Informationen anzuzeigen:

./csserver details

Detaillierte Serverinformationen

Von den wichtigen Parametern ist es erwähnenswert:

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

Zu diesem Zeitpunkt ist der Spieleserver bereits im lokalen Netzwerk verfügbar.

IP-Weiterleitung einstellen


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

Um die IP-Adresse weiterzuleiten, die der Router vom Anbieter erhalten hat, verwenden wir den NAT- Mechanismus .

Es ist auch zu beachten, dass die meisten Anbieter dynamische IP-Adressen für ihre Kunden verwenden.

Aus Gründen der Bequemlichkeit und Stabilität ist es ratsam, eine statische IP-Adresse zu erhalten.

Da ich einen TP-Link Archer C60-Router habe, gebe ich ein Beispiel für das Einrichten der Anrufweiterleitung, wie sie in meinem Router implementiert ist.

Für andere Router gehe ich davon aus, dass die Weiterleitungseinstellung ähnlich ist.

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

  • 27015
  • 27005


Im Admin-Bereich meines Routers sieht es so aus

Admin Router Panel

Das ist alles, nachdem der Router die Einstellungen gespeichert hat, ist der Spieleserver im Netzwerk unter einer externen IP-Adresse für die angegebenen Ports verfügbar!

Zusätzliche Einstellungen am Beispiel von CS 1.6


Zum Beispiel möchte CS 1.6 einige nützliche Tipps geben.

Es gibt zwei Dateien für die Serverkonfiguration.

Die erste befindet sich hier:

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

Der zweite ist hier:

~/serverfiles/cstrike/csserver.cfg

Die erste Datei enthält allgemeine Einstellungen wie IP-Adresse, Zuordnung für den ersten Start des Servers 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 Kennwort für die Verbindung zum Server über CVar "sv_password" und ein Kennwort für die Verwaltung über die Konsole des Servers selbst über CVar "rcon_password" festzulegen.

Eine Liste aller CVar-Variablen finden Sie hier http://txdv.imtqy.com/cstrike-cvarlist

Außerdem müssen höchstwahrscheinlich zusätzliche Karten installiert werden, z. B. "fy_pool_day".

Alle Karten für CS 1.6 sind hier:

~/serverfiles/cstrike/maps

Wir finden die gewünschte Map, laden sie direkt auf den Server hoch (falls im Archiv, entpacken Sie sie), verschieben die Datei mit der Erweiterung ".bsp" in den Ordner mit den Dateien "~ / serverfiles / cstrike / maps" und starten den Server neu.

~./csserver restart

Übrigens können alle verfügbaren Serverbefehle so angezeigt werden

~./csserver

Gesamt


Ich bin mit dem Ergebnis zufrieden. Alles funktioniert schnell und bleibt nicht hängen.

LinuxGSM verfügt über viele zusätzliche Einstellungen, z. B. die Integration von Telegramm und Slack für Benachrichtigungen. Einige Funktionen müssen jedoch noch verbessert werden.

Generell empfehle ich zu verwenden!

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-Spiel-unter-Linux-Voll-Tutorial-a25f20ff1149
http://txdv.imtqy.com/cstrike-cvarlist

UPD


Wie bemerkt ZentralhardwareNicht alle Synology NAS können in Docker, hier ist eine Liste von Geräten, die https://www.synology.com/ru-ru/dsm/packages/Docker können .

All Articles