Derzeit ist nur eine Windows-Version des V Rising Servers verfügbar. Es ist jedoch möglich, den Server auf einem Linux-System mit Wine auszuführen.
Hosting eines Servers (Mietdienstleister)
Alternativ können Sie einen Server bei einem Gameserver-Hosting-Provider hosten.
- Überlebensserver!
Ihr Server wird sofort gestartet!
Einführung und Voraussetzungen
Kurz nachdem ich dieses Spiel gekauft und eine Weile im Singleplayer rumgespielt hatte, wollte ich mit Freunden zusammen spielen. Und da ich bereits einen VPS (mit installiertem CentOS) zur Verfügung hatte, dachte ich, warum nicht den verwenden.
Also habe ich die offizielle Anleitung gelesen und herausgefunden, dass es nur eine Server-Executable für Windows gibt. Ich erinnerte mich an andere Anleitungen, die ich gesehen hatte, die zeigten, wie man Wine zum Ausführen von ausführbaren Windows-Dateien verwendet, und ich entschied mich, es mit diesem Spiel zu versuchen, und es funktionierte. Hier ist also meine Anleitung dazu.
Wie zuvor und im Titel gesagt, habe ich dies auf einem CentOS-System gemacht, aber ich denke, diese Lösung würde im Prinzip auch auf anderen Linux-Distributionen funktionieren.
Ich habe versucht, diese Anleitung für jeden leicht verständlich zu machen. Die einzigen Dinge, die Sie wissen müssen, sind die Verwendung des Terminals und das Bearbeiten von Dateien. CentOS wird mit vi als Texteditor geliefert, der verwendet werden kann, um dieser Anleitung zu folgen, aber eine Erklärung zur Verwendung von vi ist nicht Teil dieser Anleitung.
In dieser Anleitung beginnen Befehle mit $, # oder>. Befehle, die mit # beginnen, müssen ausgeführt werden, wenn Sie als root angemeldet sind oder sudo verwenden. Befehle mit $ können von einem normalen Benutzer ausgeführt werden und Befehle mit> sind Befehle für den steamcmd.
$, #,> sind nicht Teil der eigentlichen Befehle.
Anforderungen
Um den Server zu betreiben, benötigen wir wine und xvfb. Wine wird verwendet, um ausführbare Windows-Dateien auf LInux auszuführen, und wir verwenden xvfb, um einen virtuellen Monitor zu erstellen, sodass wir keinen tatsächlichen Monitor an den Server anschließen müssen.
Wir brauchen auch die steamcmd, um die Serverdateien herunterzuladen und zu aktualisieren.
Installieren Sie die steamcmd-Anforderungen mit:
# yum install glibc.i686 libstdc++.i686 -y
Der einfachste Weg, Wine zu installieren, ist die Verwendung des EPEL-Repositorys, also fügen wir es wie folgt hinzu:
# yum install epel-release -y
Dann installiere wine und xvfb:
# yum install wine -y
# yum install xorg-x11-server-Xvfb -y
SteamCMD installieren
Bevor wir steamcmd oder den Server installieren, sollten wir einen Benutzer erstellen, mit dem wir steamcmd und später den Spielserver selbst ausführen. Die Verwendung des Root-Benutzers für steamcmd oder den Gameserver ist ein Sicherheitsrisiko. Ich nenne diesen Benutzer Steam, aber Sie können einen beliebigen Namen wählen.
Erstellen Sie den Benutzer und melden Sie sich als dieser neue Benutzer an:
# useradd steam
# su steam
Wir wechseln dann in das Home-Verzeichnis des neuen Benutzers und erstellen ein Verzeichnis, in dem wir die steamcmd und ein weiteres Verzeichnis für den Spieleserver installieren werden:
$ cd
$ mkdir steamcmd
$ cd steamcmd
$ mkdir VRising
Jetzt laden wir die steamcmd herunter und extrahieren sie:
$ curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Spielserver installieren
Wir starten den steamcmd mit dem Skript, das im vorherigen Schritt extrahiert wurde:
$ ./steamcmd.sh
Der erste Start von steamcmd wird einige Zeit in Anspruch nehmen und Updates herunterladen. Nachdem die Aktualisierung abgeschlossen ist, können wir den steamcmd verwenden und als ersten Schritt geben wir das zuvor erstellte Verzeichnis als Installationsverzeichnis für das Spiel an:
> force_install_dir VRising
Bevor wir die Serverdateien herunterladen, müssen wir uns bei Steam anmelden, aber wir können den anonymen Login verwenden:
> login anonymous
Die App-ID für den V Rising-Server lautet 1829350, sodass wir den Server wie folgt installieren können:
> app_update 1829350
Nachdem der Server installiert wurde, geben Sie
ein> quit
Zum Beenden von steamcmd.
Ausführen und Konfigurieren des Spielservers
Wechseln Sie in das Verzeichnis, in dem wir den Server installiert haben:
$ cd VRising
Und starten Sie dann den Server wie folgt:
$ export WINEARCH=win64
$ xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine VRisingServer.exe -persistentDataPath ./save-data -logFile server.log
Dadurch wird der Server gestartet und der Spielstand in dem Verzeichnis erstellt, das wir im vorherigen Befehl als dauerhaften Datenpfad angegeben haben, in diesem Fall im Speicherdatenordner.
Warten Sie etwas und schließen Sie den Server dann wieder, indem Sie Strg-C drücken.
Konfiguration
Erstellen Sie den Settings-Ordner im Save-Data-Verzeichnis:
$ mkdir save-data/Settings
Jetzt kopieren wir die Standardeinstellungen in dieses neue Verzeichnis:
$ cp VRisingServer_Data/StreamingAssets/Settings/*.json save-data/Settings
Der Ordner „Settings“ enthält jetzt zwei Konfigurationsdateien, ServerHostSettings.json für die Hostkonfiguration wie Servername, Passwort, Ports usw. und ServerGametSettings.json für Spieleinstellungen wie Herstellungsraten, Schadensmultiplikatoren usw.
Sie können Ihren bevorzugten Texteditor verwenden, um die Einstellungen in diesen Dateien zu bearbeiten.
Verwendung von Systemd zur Steuerung des Servers
Wir könnten jetzt den Befehl verwenden, den wir zuvor verwendet haben, um den Server zu starten, aber dies würde erfordern, dass wir das Terminal, das wir verwenden, immer offen halten, um den Server am Laufen zu halten. Stattdessen konfigurieren wir systemd den Server als Dienst, der im Hintergrund läuft.
Um die Dinge einfacher zu machen, erstellen wir zuerst ein Shell-Skript, um den Server zu starten. Erstellen Sie mit einem Texteditor Ihrer Wahl eine neue Datei mit folgendem Inhalt:
#!/bin/bash
export WINEARCH=win64
/usr/bin/xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' /usr/bin/wine VRisingServer.exe -persistentDataPath server1_saves/ -logFile server.log
Speichern Sie die Datei als run_server.sh im Verzeichnis des Spielservers. Machen Sie die Datei mit diesem Befehl zu einer ausführbaren Datei:
$ chmod ug+x run_server.sh
Das ist alles, was wir als Steam-Benutzer tun müssen. Wir können jetzt mit:
zu einem Benutzer mit Root-Rechten zurückwechseln$ exit
Erstellen Sie eine neue Datei für den systemd-Dienst mit folgendem Inhalt:
[Unit]
After=network.target
[Service]
User=steam
Group=steam
WorkingDirectory=/home/steam/steamcmd/VRising
ExecStart=/home/steam/steamcmd/VRising/run_server.sh
[Install]
WantedBy=multi-user.target
Und speichern Sie die Datei als:
/etc/systemd/system/VRising.service
Wir können jetzt systemctl verwenden, um den Server zu starten und zu stoppen. Um den Server zu starten, verwenden Sie:
# systemctl start VRising
Wenn wir den Server stoppen wollen, können wir verwenden:
# systemctl stop VRising
Wir können auch prüfen, ob der Prozess noch läuft:
# systemctl status VRising
Beachten Sie, dass, wenn der Server abstürzt, dies immer noch anzeigen kann, dass der Prozess aktiv ist, weil nur der Serverprozess abgestürzt ist, Wine aber noch läuft.
Firewall konfigurieren
Nachdem wir den Server nun mit systemd zum Laufen gebracht haben, müssen wir nur noch die Firewall konfigurieren.
Sofern Sie dies nicht in ServerHostSettings.json geändert haben, verwendet das Spiel die UDP-Ports 9876 und 9877.
Regeln für diese beiden Ports zur Firewall hinzufügen:
# firewall-cmd --add-port=9876/udp
# firewall-cmd --add-port=9877/udp
Dann behalten wir die neuen Regeln bei, damit der Port auch nach einem Neustart offen bleibt, und laden die Firewall neu:
# firewall-cmd --runtime-to-permanent
# firewall-cmd --reload
Aktualisieren des Spiels
Die Aktualisierung ist einfach. Fahren Sie zuerst den Server herunter und melden Sie sich wie bei der Installation des Spiels bei dem Benutzer an, den wir für die steamcmd erstellt haben, und starten Sie die steamcmd:
# systemctl stop VRising
# su steam
$ cd ~/steamcmd
$. ./steamcmd
Melden Sie sich bei einem anonymen Steam-Profil an, aktualisieren Sie das Spiel, warten Sie, bis das Update abgeschlossen ist, und schließen Sie steamcmd:
> login anonymous
> app_update 1829350
> quit
Das Spiel ist nun aktualisiert und wir können den Server neu starten.
# systemctl start VRising