
Hallo!
Aus bekannten Gründen muss man nun mehr Zeit vor dem Computer zu Hause verbringen.
In dieser Situation erinnert man sich an vergangene Zeiten.
Wie bereits im Titel dieses Artikels angedeutet, geht es um die Konfiguration eines Synology NAS als Spieleserver.
Achtung — der Artikel enthält viele Screenshots (die Screenshots sind anklickbar)!
Bevor wir beginnen, hier eine Liste der Werkzeuge, die wir benötigen:
Synology NAS — hier gibt es keine Einschränkungen, ich denke, es passt jeder, solange man keine Pläne hat, einen Server mit 10.000 Spielern zu betreiben.
Docker — spezielle Fähigkeiten sind nicht erforderlich, es genügt, grob das Prinzip zu verstehen.
LinuxGSM — was LinuxGSM ist, kann auf der offiziellen Website nachgelesen werden. https://linuxgsm.com.
Aktuell (April 2020) sind 105 Spieleserver für LinuxGSM verfügbar.
Die gesamte Liste kann hier eingesehen werden https://linuxgsm.com/servers.
Steam — Marktplatz für Spiele.
Spieleserver LinuxGSM integriert sich mit SteamCMD, d.h. der LinuxGSM-Spieleserver kann nur für Spiele von Steam verwendet werden.
Installation von Docker auf Synology NAS
In diesem Schritt ist alles einfach, gehen Sie zum Admin-Bereich von Synology, dann zum 'Paketzentrum', suchen Sie nach Docker und installieren Sie es.
Paketzentrum
Wir starten und sehen etwa so aus (ich habe diesen Container bereits installiert)
Containerverwaltung
Nun wechseln wir zum Tab „Registry“, geben in die Suche „gameservermanagers“ ein, wählen das Image „gameservermanagers/linuxgsm-docker“ aus und klicken auf die Schaltfläche „Download“.
gameservermanagers/linuxgsm-docker
Anschließend wechseln wir zum Tab „Image“, warten auf den Abschluss des Downloads des Images und klicken auf die Schaltfläche „Starten“.
Herunterladen des Images
Im sich öffnenden Fenster müssen wir zu „Erweiterte Einstellungen“ gehen, dann zum Tab „Netzwerk“ und das Kästchen „Dasselbe Netzwerk wie Docker Host verwenden“ aktivieren.
Die anderen Einstellungen, wie z. B. „Containername“, können nach Belieben geändert werden.
Der Containername – wie man sich denken kann, ist das der Name des Containers, der später nützlich sein wird. Ich empfehle, ihn kurz und prägnant zu wählen, als Beispiel nehmen wir „test“.
Jetzt klicken wir mehrmals auf die Schaltfläche „Übernehmen“ oder „Weiter“, bis die Einstellung abgeschlossen ist.
Erweiterte Einstellungen
Wir gehen zum Tab „Container“ und sehen den neuen laufenden (falls nicht, starten wir ihn) Container.
Hier kann er gestoppt, gestartet, gelöscht und andere Aktionen durchgeführt werden.
Einrichten des Docker-Containers LinuxGSM
Bevor Sie sich über SSH mit dem Synology NAS verbinden, müssen Sie den SSH-Zugang im Admin-Panel aktivieren.
Verbindung über SSH
Dann müssen Sie das interne IP-Adresse Synology NAS Server für die Verbindung über SSH.
Öffnen Sie das Terminal (oder ein beliebiges anderes Programm, zum Beispiel unter Windows ist das PuTTY) und verwenden Sie den folgenden Befehl:
ssh benutzer_name@IPIn meinem Fall sieht das so aus:
ssh admin@192.168.0.166IP-Adresse des Synology NAS-Servers
Nach der Authentifizierung müssen Sie den Befehl eingeben, um in den Container "test" (das Feld "Container Name" in den Docker-Einstellungen) als Benutzer "root" zu wechseln.
sudo docker exec -u 0 -it test bashVerbindung zu Docker
Vor der Installation von „LinuxGSM“ sind einige Schritte notwendig.
Setzen wir ein Passwort für den Benutzer „root“
passwdDann aktualisieren wir alle Pakete:
apt update && apt upgrade && apt autoremoveWarten Sie, bis der Prozess abgeschlossen ist…
Pakete werden aktualisiert
Danach installieren wir die benötigten Tools:
apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-fullDa es nicht die beste Idee ist, verschiedene Aktionen als „root“ auszuführen, fügen wir einen neuen Benutzer „test“ hinzu.
adduser testUnd erlauben dem neuen Benutzer, „sudo“ zu verwenden:
usermod -aG sudo testWechseln Sie zum neuen Benutzer „test“:
su testInstallation und Konfiguration von LinuxGSM
Betrachten wir ein Beispiel für die Konfiguration von LinuxGSM anhand von „Counter-Strike“, auch bekannt als „CS 1.6“ https://linuxgsm.com/lgsm/csserver
Gehen Sie zur Anleitung für „Counter-Strike“ linuxgsm.com/lgsm/csserver.
Im Reiter „Dependencies“ kopieren wir den Code unter „Ubuntu 64-bit“.
Zum Zeitpunkt der Erstellung dieses Artikels sieht der 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
Installation der Abhängigkeiten
Während der Installation muss man den „Steam License“ zustimmen:
Steam License
Wir wechseln zum Reiter „Install“ und kopieren den Code aus Schritt 2 (Schritt 1 wird übersprungen, der Benutzer „test“ existiert bereits):
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
Wir warten auf den Download:
Download
Und starten die Installation:
./csserver installWenn alles reibungslos verlaufen ist, sehen wir das gewünschte „Install Complete!“
Install Complete!
Wir starten… und sehen den Fehler „Multiple IP addresses found.“
./csserver startMultiple IP addresses found
Als nächstes müssen wir dem Server klar angeben, welche IP er verwenden soll.
In meinem Fall ist das:
192.168.0.166Wir wechseln in den Ordner, dessen Pfad in der Nachricht als „location“ angegeben war:
cd /home/test/lgsm/config-lgsm/csserverUnd schauen, welche Dateien sich in diesem Ordner befinden:
lsListe der Dateien im csserver-Ordner
Wir kopieren den Inhalt der Datei „_default.cfg“ in die Datei „csserver.cfg“:
cat _default.cfg >> csserver.cfgUnd wechseln in den Bearbeitungsmodus der Datei „csserver.cfg“:
nano csserver.cfgBearbeitung der Datei csserver.cfg
Wir finden die Zeile:
ip="0.0.0.0"Und wir ersetzen die vorgeschlagene IP-Adresse, in meinem Fall ist das „192.168.0.166“.
So wird es dann aussehen:
ip="192.168.0.166"Wir drücken die Tastenkombination:
Ctr + XUnd nach dem Angebot, zu speichern, drücken wir:
YWir kehren in den Benutzerordner „test“ zurück:
cd ~Und versuchen erneut, den Server zu starten. Jetzt sollte der Server ohne Probleme starten:
./csserver startServerstart
Um detailliertere Informationen zu sehen, verwenden wir den Befehl:
./csserver detailsDetaillierte Informationen über Server
Zu den wichtigen Parametern gehören:
- Server-IP: 192.168.0.166:27015
- Internet-IP: xxx.xx.xxx.xx:27015
- Konfigurationsdatei: /home/test/serverfiles/cstrike/csserver.cfg
An dieser Stelle ist der Spielserver bereits im lokalen Netzwerk verfügbar.
Einrichtung der IP-Adressweiterleitung
Spielen im lokalen Netzwerk ist gut, aber mit Freunden über das Internet zu spielen ist besser!
Für die Weiterleitung der IP-Adresse, die der Router vom Anbieter erhalten hat, verwenden wir das NAT-Verfahren.
Es ist auch bemerkenswert, dass die meisten Anbieter dynamische IP-Adressen für ihre Kunden verwenden.
Für den Komfort und die Stabilität der Verbindung ist es ratsam, eine statische IP-Adresse zu erhalten.
Da ich den Router „TP-Link Archer C60“ habe, zeige ich ein Beispiel für die Einrichtung der Weiterleitung, wie es in meinem Router umgesetzt ist.
Für andere Router nehme ich an, dass die Einrichtung der Portweiterleitung ähnlich funktioniert.
Hier ist alles einfach — es muss eine Weiterleitung von der externen IP-Adresse zur internen IP-Adresse des Servers für zwei Ports angegeben werden:
- 27015
- 27005
In der Admin-Oberfläche meines Routers sieht das so aus
Admin-Oberfläche des Routers
Das war's! Nach dem Speichern der Router-Einstellungen wird der Spielserver über die externe IP-Adresse für die angegebenen Ports im Netzwerk 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 Konfigurationsdateien für den Server.
Die erste befindet sich hier:
~/lgsm/config-lgsm/csserver/csserver.cfgDie zweite befindet sich hier:
~/serverfiles/cstrike/csserver.cfgDie erste Datei enthält allgemeine Einstellungen wie IP-Adresse, Karte für den ersten Serverstart usw.
Die zweite Datei enthält Einstellungen für Befehle, die über die Konsole von 'Counter-Strike' ausgeführt werden können, wie z.B. 'rcon_password' oder 'sv_password'.
In der zweiten Datei empfehle ich, ein Passwort für den Zugriff auf den Server über CVar 'sv_password' festzulegen und ein Passwort für die Verwaltung über die Serverkonsole selbst über CVar 'rcon_password' zu setzen.
Die Liste aller CVar-Variablen kann hier eingesehen werden. http://txdv.github.io/cstrike-cvarlist
Es wird wahrscheinlich auch notwendig sein, zusätzliche Karten zu installieren, z. B. „fy_pool_day“.
Alle Karten für CS 1.6 finden Sie hier:
~/serverfiles/cstrike/mapsSuchen Sie die benötigte Karte, laden Sie sie direkt auf den Server hoch (falls sie im Archiv ist, entpacken Sie sie), verschieben Sie die Datei mit der Erweiterung „.bsp“ in den Ordner „~/serverfiles/cstrike/maps“ und starten Sie den Server neu.
~./csserver restartÜbrigens, alle verfügbaren Serverbefehle können so angezeigt werden
~./csserver
Zusammenfassung
Ich bin mit dem Ergebnis zufrieden. Alles läuft schnell und ohne Lag.
LinuxGSM bietet viele zusätzliche Einstellungen, wie z. B. die Integration mit Telegram und Slack für Benachrichtigungen, aber einige Funktionen benötigen noch Verbesserungen.
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
UDP
Wie bereits festgestellt von centralhardware , unterstützen nicht alle Synology NAS Docker; hier ist die Liste der Geräte, die dies können. https://www.synology.com/ru-ru/dsm/packages/Docker.
Quelle: habr.com



