SSD Nodes Learn Hosting plans →
Anleitungen Matt ConnorVon Matt Connor

FiveM-Server auf einem VPS installieren

Installieren Sie FXServer auf Ubuntu, pinnen Sie einen Artifact-Build, hinterlegen Sie den Cfx.re-Lizenzschluessel und oeffnen Sie Port 30120 fuer TCP und UDP. txAdmin bleibt privat.

Was ein FiveM-Server auf einem VPS benötigt

Ein FiveM-Server auf einem VPS besteht aus einem unprivilegierten Linux-Benutzer, einem Artifact-Build von Cfx.re, einem Lizenzschlüssel sowie einem Port, der für TCP und UDP geöffnet ist. Die Installation dauert etwa zehn Minuten. Der Rest dieses Leitfadens behandelt die Faktoren, die darüber entscheiden, ob der Server spielbar ist: die Leistung eines einzelnen CPU-Kerns, den Speicherbedarf Ihrer Resources und ein Verwaltungs-Panel, das niemals unter einer öffentlichen Adresse erreichbar sein sollte.

Drei Voraussetzungen sind fest vorgegeben. Die Server-Binärdateien, die als Artifacts bezeichnet werden, stammen aus der offiziellen Cfx.re-Build-Auflistung. Den Lizenzschlüssel erhalten Sie im Cfx.re-Portal unter portal.cfx.re, dem Dienst, den ältere Anleitungen als keymaster bezeichnen. Der Schlüssel ist an die Adresse des Rechners gebunden, der ihn verwendet. Jeder Spieler, der eine Verbindung herstellt, benötigt eine eigene rechtmäßig erworbene Kopie von GTA V (Grand Theft Auto V) auf Steam, dem Rockstar Games Launcher oder Epic Games sowie ein kostenloses Cfx.re-Konto. Der Client prüft beim Start, ob das Spiel im Besitz des Benutzers ist. Deshalb funktioniert ein auf andere Weise bereitgestellter Server nicht. Inhalte zur Umgehung dieser Prüfung werden hier nicht behandelt.

Das Hosten des Servers ist eine andere Aufgabe als das Spielen auf diesem Rechner. Dabei geht es um die Frage, ob Sie das Spiel selbst auf einem VPS ausführen können. Das ist eine separate Frage mit einer anderen Antwort.

Warum die Single-Core-Leistung entscheidend dafür ist, wie sich ein FiveM-Server anfühlt

FXServer, die FiveM-Server-Binärdatei, führt die Spiellogik in einem Hauptthread aus. Jedes Resource-Skript, jeder Event-Handler und jede Statusaktualisierung durchläuft diese eine Schleife. Zusätzliche Kerne unterstützen den Kernel, die Datenbank und den Netzwerk-Stack. Sie teilen die Spielelschleife jedoch nicht auf. Deshalb ruckelt ein Server mit 4 vCPUs auf einem langsamen Kern unter Last, während ein Server mit 2 vCPUs auf einem schnellen Kern flüssig läuft.

Das kehrt die übliche Gewohnheit bei der VPS-Auswahl um, bei der die Anzahl der Kerne als wichtigste Kennzahl gilt. Prüfen Sie die Geschwindigkeit pro Kern, bevor Sie Geld ausgeben. Beginnen Sie mit dem CPU-Modell:

lscpu | grep -E 'Model name|MHz'

Suchen Sie anschließend nach dem veröffentlichten Single-Thread-Wert dieses Modells. Sowohl die Single-Thread-Bewertung von PassMark als auch der Single-Core-Wert von Geekbench sind öffentlich verfügbar. Beide messen die Arbeit eines einzelnen Kerns. Genau diese Kennzahl ist hier entscheidend. Messen Sie danach den tatsächlich bereitgestellten Server:

sudo apt update && sudo apt install -y sysbench
sysbench cpu --cpu-max-prime=20000 --threads=1 run

Lesen Sie die Zeile events per second. Führen Sie denselben Befehl bei zwei potenziellen Providern aus. So können Sie sie zuverlässig vergleichen, weil die Arbeitslast identisch ist und auf einen Kern begrenzt bleibt. Ein wiederholbarer VPS-Benchmarklauf zeigt, wie Sie diese Werte zwischen Servern vergleichbar halten.

Prüfen Sie anschließend, ob der Kern tatsächlich für Sie verfügbar ist:

vmstat 1 5

Die letzte Spalte, st, bezeichnet die Steal Time. Sie gibt den Anteil der Zeit an, in der Ihre virtuelle CPU ausführungsbereit war, der Hypervisor sie jedoch warten ließ. Ein dauerhaft hoher Wert über 1 oder 2 bedeutet, dass Sie sich einen physischen Kern mit ausgelasteten Nachbarn teilen. Eine Spielelschleife zeigt sich dann sofort durch Rubberbanding. Steal Time durch einen ausgelasteten Nachbarn erklärt, wie Sie diese Spalte auswerten und was Sie dagegen tun können.

Der Speicherbedarf steigt mit den ausgeführten Ressourcen, nicht allein mit der Slot-Anzahl. Die grundlegenden Serverdaten von Cfx.re benötigen einige hundert Megabyte. Ein Roleplay-Framework mit vierzig oder fünfzig Ressourcen und einer MariaDB-Datenbank auf demselben Server ist eine andere Größenordnung: 4 GB sind ein sinnvoller Mindestwert, und 8 GB bieten bei 32 bis 64 Slots ausreichend Spielraum. Diese Werte stammen typischerweise aus veröffentlichten Community-Setups. Verwenden Sie sie daher als Ausgangspunkt und überwachen Sie free -m unter realer Spielerauslastung.

Einen Benutzer anlegen und die Abhängigkeiten installieren

Führen Sie den Server als normalen Benutzer aus, niemals als root. Dafür gibt es zwei Gründe. root zu verwenden, ist bei jedem aus dem Internet erreichbaren Dienst eine schlechte Praxis. Außerdem läuft das Linux-Artefakt in einem gebündelten Alpine-Linux-Root-Dateisystem. Daher können von root entpackte Dateien von keinem anderen Benutzer ausgeführt werden. Das ist der häufigste Grund dafür, dass ein frischer Installationsversuch nicht startet.

sudo adduser --disabled-password --gecos "" fivem
sudo apt update
sudo apt install -y git xz-utils curl tcpdump
sudo -iu fivem

Alle folgenden Schritte werden als Benutzer fivem ausgeführt. xz-utils wird benötigt, weil es sich beim Download um ein .tar.xz-Archiv handelt. git wird verwendet, um die Basis-Serverdaten zu klonen.

Einen unveränderlichen Build herunterladen

Der Linux-Build befindet sich im Kanal build_proot_linux des Cfx.re-Artefaktservers. In der Auflistung ist ein Build als aktuell empfohlener Build gekennzeichnet. Diese Kennzeichnung wechselt alle paar Wochen zu einem neuen Build. Verwenden Sie stattdessen den nummerierten Ordner. Wenn Sie Ihren Server nächsten Monat neu erstellen, erhalten Sie dann dieselbe Binärdatei, die Sie diesen Monat getestet haben. Ein Upgrade wird dadurch zu einer bewussten Entscheidung.

mkdir -p ~/FXServer/server
cd ~/FXServer/server
curl -fLO https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/25770-8ddccd4e4dfd6a760ce18651656463f961cc4761/fx.tar.xz
tar xf fx.tar.xz
ls

Als ich die Auflistung im August 2026 gelesen habe, trug Build 25770 die Kennzeichnung als empfohlen. Öffnen Sie dasselbe Verzeichnis in einem Browser, um den aktuellen Build anzuzeigen. Übernehmen Sie anschließend den Namen dieses Ordners in die URL. Er besteht aus der Buildnummer und einem Commit-Hash.

ls sollte nun run.sh und ein Verzeichnis alpine anzeigen. Dieses Verzeichnis ist der entscheidende Punkt: Das Linux-Artefakt enthält ein eigenes kleines Alpine-Root-Dateisystem und startet den Server darin mit proot. proot ist ein Userspace-Tool, das chroot ohne Root-Berechtigungen nachbildet. Deshalb läuft ein einziger Download unter Ubuntu, Debian und Rocky, ohne distributionsspezifische Pakete zu benötigen.

Klonen Sie nun die Basis-Serverdaten. Sie enthalten die Standardressourcen, mit denen Ihr server.cfg startet:

git clone https://github.com/citizenfx/cfx-server-data.git ~/FXServer/server-data

Lizenzschlüssel abrufen und server.cfg schreiben

Melden Sie sich mit Ihrem Cfx.re-Konto bei portal.cfx.re an und erstellen Sie einen Serversschlüssel. Das Portal fragt nach der IP-Adresse des Rechners, auf dem der Schlüssel verwendet wird. Der Schlüssel ist an diese Adresse gebunden. Bei einem Wechsel auf einen neuen VPS müssen Sie den Schlüssel im Portal bearbeiten, nicht einen zweiten Schlüssel erstellen. Die Änderung gilt sofort. FXServer prüft den Schlüssel jedoch erst nach einem Neustart erneut.

Schreiben Sie ~/FXServer/server-data/server.cfg:

endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap

sv_hostname "My FiveM server"
sv_maxclients 48
set onesync on
sv_scriptHookAllowed false

sv_licenseKey ChangeMe

add_ace group.admin command allow
add_principal identifier.fivem:1 group.admin

sv_maxclients akzeptiert einen Wert von 1 bis 2048. Für einen Wert ab 32 muss onesync auf on oder legacy gesetzt sein. Für einen Wert über 64 ist außerdem on erforderlich. OneSync legt fest, welche Zustandsinformationen der Server verwaltet. Dadurch kann ein Server die geringe Slot-Anzahl des Basisspiels überschreiten. Wenn Sie 128 Slots mit deaktiviertem OneSync setzen, erhalten Sie keine 128 Slots. Sie erhalten eine Konfiguration, die der Server ablehnt.

sv_licenseKey übernimmt den Schlüssel ohne Anführungszeichen und ohne nachgestelltes Leerzeichen. FXServer teilt diese Zeile an Leerzeichen auf. Bereits ein einzelnes zusätzliches Zeichen führt daher zu einer ungültigen Prüfung, und der Server startet nicht.

rcon_password fehlt absichtlich in dieser Datei. RCON (Remote Console) wird nur aktiviert, wenn die Variable gesetzt ist. Danach lauscht RCON am selben UDP-Port wie das Spiel. Ein RCON-Passwort an einem öffentlichen Port stellt einen entfernten Befehlszugang zu Ihrem Server bereit. Lassen Sie die Variable unset, sofern kein konkreter Bedarf besteht. Wenn Sie RCON aktivieren, verwenden Sie ein langes, zufälliges Passwort.

sv_scriptHookAllowed bleibt false. In der offiziellen Dokumentation wird diese Einstellung als nicht empfohlen gekennzeichnet, weil die Zulassung von Script Hook V-Clients den Server für clientseitigen Missbrauch öffnet.

add_principal identifier.fivem:1 gewährt dem Cfx.re-Konto mit der ID 1 Administratorrechte. Ersetzen Sie 1 durch Ihre eigene numerische ID. Andernfalls gewähren Sie dem Konto einer anderen Person Administratorrechte und Ihrem eigenen Konto keine.

Starten Sie den Server einmal manuell:

cd ~/FXServer/server-data
bash ~/FXServer/server/run.sh +exec server.cfg

Fragen Sie den Server in einer zweiten SSH-Sitzung nach seinem Status:

curl -s http://127.0.0.1:30120/info.json | head -c 200

JSON mit den Namen Ihrer Servervariablen und Ressourcen bedeutet, dass FXServer gebunden ist und Anfragen beantwortet. Connection refused bedeutet, dass der Server den Port nicht gebunden hat. Lesen Sie daher die Konsolenausgabe, statt die Ursache zu vermuten.

Ein Server ohne Schlüssel gibt Folgendes aus und beendet sich:

This server does not have a license key specified. Please set the sv_licenseKey console variable to a key from https://keymaster.fivem.net/.

Die Meldung nennt weiterhin die alte keymaster-Adresse. Diese Adresse führt zum selben Cfx.re-Portal. Wenn der Schlüssel gesetzt ist und der Server weiterhin nicht startet, stimmt meistens die zum Schlüssel registrierte IP-Adresse nicht mehr mit der IP-Adresse dieses Rechners überein.

Welche Ports muss ein FiveM-Server öffnen?

Port 30120 für TCP (Transmission Control Protocol) und UDP (User Datagram Protocol). FiveM verwendet dieselbe Portnummer für zwei Protokolle und benötigt beide. Wenn Sie nur TCP öffnen, ist das Fehlerbild irreführend: http://your.ip:30120/info.json antwortet in einem Browser, sodass der Server funktionsfähig wirkt. Der Spieleclient bleibt jedoch bei Failed to get info from server hängen und stellt keine Verbindung her, weil die Abfrage des Clients und sein Spielverkehr über UDP laufen.

sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw enable
sudo ufw status verbose

Lassen Sie eine zweite SSH-Sitzung geöffnet, während Sie eine Firewall aktivieren. Die Grundlagen von ufw für einen VPS erläutert die standardmäßige Deny-Richtlinie, durch die die oben genannten Regeln allein ausreichen.

Die meisten Anbieter betreiben außerdem eine Netzwerk-Firewall außerhalb des Gast-Systems. Sie wird über das Panel und nicht über die Shell gesteuert. Eine ufw-Regel sagt über diese Ebene nichts aus. Wenn TCP von außen antwortet und Spieler trotzdem keine Verbindung herstellen können, überwachen Sie den Netzwerkverkehr, während jemand einen Verbindungsversuch unternimmt:

sudo tcpdump -ni any udp port 30120

Eintreffende Pakete bedeuten, dass die äußere Firewall ordnungsgemäß funktioniert und der Fehler innerhalb des Servers liegt. Bleibt der Datenverkehr aus, verwirft eine Komponente vor dem Server die Pakete. Prüfen Sie als Nächstes das Panel des Anbieters.

Verwalten Sie den Server mit txAdmin, ohne es öffentlich erreichbar zu machen

txAdmin ist bereits in dem Artifact enthalten, das Sie heruntergeladen haben. Starten Sie run.sh ohne das Argument +exec. Dadurch wird ein Webpanel auf dem TCP-Port 40120 gestartet. Anschließend gibt txAdmin die URL des Panels und eine kurz gültige PIN in der Konsole aus. Mit dieser PIN verknüpfen Sie Ihr Cfx.re-Konto einmalig. Danach melden Sie sich mit dem Administratorkonto an, das txAdmin erstellt.

txAdmin hat kein Standardpasswort. Das Risiko besteht also nicht in einem Passwort, das Sie vergessen haben zu ändern. Das Risiko liegt in der Funktion des Panels: Es ist eine Remote-Konsole. Das Panel startet den Server neu, bearbeitet server.cfg, stellt Serverdaten bereit und führt Befehle als Ihr Serverbenutzer aus. Wenn 40120 aus dem Internet erreichbar ist, stellen Sie diese Funktionen über eine öffentliche Adresse bereit. Scanner finden offene Panel-Ports innerhalb weniger Stunden. Öffnen Sie 40120 nicht in der Firewall. Greifen Sie stattdessen über einen SSH-Tunnel von Ihrem eigenen Rechner darauf zu:

ssh -N -L 40120:127.0.0.1:40120 fivem@YOUR_SERVER_IP

Öffnen Sie anschließend http://127.0.0.1:40120 in Ihrem Browser. Der Panel-Datenverkehr wird innerhalb der SSH-Verbindung übertragen. Der Port bleibt für alle anderen geschlossen.

Bevor Sie eine andere Lösung ausprobieren, sollten Sie eine wichtige Einschränkung kennen. txAdmin liest TXHOST_INTERFACE (Standardwert: 0.0.0.0), um festzulegen, an welche Schnittstelle es gebunden wird. In der Dokumentation ist ausdrücklich angegeben, dass derselbe Wert auch für FXServer erzwungen wird. Wenn Sie den Wert auf 127.0.0.1 setzen, verbergen Sie zwar das Panel, binden den Gameserver aber ebenfalls an das Loopback-Interface. Dadurch kann kein Spieler den Server erreichen. Schließen Sie den Panel-Port mit der Firewall und nicht mit dieser Variable. Um das Panel auf einen anderen Port zu verschieben, setzen Sie TXHOST_TXA_PORT. Dieser Wert akzeptiert alle Ports außer 30120. Die ältere Convar +set txAdminPort wird in vielen Anleitungen erwähnt. Die txAdmin-Dokumentation kennzeichnet sie jedoch als veraltet und weist darauf hin, dass sie in einer zukünftigen Version nicht mehr funktionieren wird.

Server nach dem Abmelden weiter ausführen

bash run.sh wird mit Ihrer SSH-Sitzung beendet. Für Tests ist tmux geeignet: Führen Sie tmux new -s fivem aus, starten Sie den Server, drücken Sie zum Trennen Ctrl-b und anschließend d, und kehren Sie mit tmux attach -t fivem zurück. Eine tmux-Sitzung bleibt nach einem Reboot nicht erhalten. Alles, was dauerhaft benötigt wird, gehört daher in eine systemd-Unit.

Schreiben Sie /etc/systemd/system/fivem.service:

[Unit]
Description=FiveM FXServer
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=fivem
Environment=HOME=/home/fivem
WorkingDirectory=/home/fivem/FXServer/server-data
ExecStart=/bin/bash /home/fivem/FXServer/server/run.sh +exec server.cfg
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now fivem
systemctl status fivem
journalctl -u fivem -f

enable --now hat zwei Aufgaben: Der Dienst wird sofort gestartet und nach einem Reboot wieder gestartet. Ein manuell gestarteter Server ist nach dem nächsten Kernel-Update beendet. journalctl -u fivem -f ist jetzt Ihre Konsole, weil ein systemd-Dienst kein Terminal hat, in das Sie Eingaben machen können. Wenn Sie den Server stattdessen über txAdmin verwalten, entfernen Sie +exec server.cfg aus ExecStart und setzen Sie WorkingDirectory auf /home/fivem/FXServer/server, weil txAdmin den Gameserver selbst startet und seinen Datenordner neben run.sh ablegt.

Was Sie sichern sollten und wo diese Daten liegen

Die Artefakte müssen Sie nicht sichern, da Sie den festgelegten Build innerhalb einer Minute erneut herunterladen können. Vier Dinge gehören ausschließlich Ihnen.

  • ~/FXServer/server-data/resources: jede Ressource, die Sie installiert, gekauft oder selbst geschrieben haben.
  • server.cfg, unabhängig vom Speicherort: die vollständige Serverkonfiguration einschließlich Ihrer Admin-Principals.
  • ~/FXServer/server/txData: die Konfiguration, die Admin-Liste und die Logs von txAdmin. Beim Linux-Artefakt wird dieser Ordner neben run.sh erstellt.
  • Die MariaDB- oder MySQL-Datenbank, wenn Ihr Framework eine verwendet. Charaktere, Geld, Fahrzeuge und Inventare werden dort und nirgendwo sonst gespeichert. Eine Ressourcensicherung ohne Datenbank-Dump stellt daher eine leere Welt wieder her.
mkdir -p ~/backups
mysqldump -u fivem -p --single-transaction fivem_db > ~/backups/fivem-$(date +%F).sql

Ein Dump auf derselben Festplatte wie der Server ist kein Backup, weil genau diese Festplatte ausfallen kann. Übertragen Sie ihn nach einem Zeitplan vom Server auf ein anderes System. Dafür sind restic-Backups von einer VPS vorgesehen.

Fehlerbilder und angezeigte Meldungen

Berechtigung zum Loader verweigert. Der Server wird sofort mit einer Meldung wie dieser beendet:

run.sh: line 8: /home/fivem/FXServer/server/alpine/opt/cfx-server/ld-musl-x86_64.so.1: Permission denied

Das passiert, weil das Archiv mit sudo entpackt wurde. Dadurch gehört alles unter alpine/ dem Benutzer root, und der Benutzer fivem kann den darin enthaltenen Loader nicht ausführen. Korrigieren Sie den Besitz mit sudo chown -R fivem:fivem /home/fivem/FXServer. Alternativ löschen Sie den Ordner und entpacken das Archiv erneut als fivem.

tar kann den Download nicht öffnen. tar (child): xz: Cannot exec: No such file or directory bedeutet, dass das Paket xz-utils fehlt. Deshalb kann tar ein .tar.xz-Archiv nicht dekomprimieren. Installieren Sie das Paket und entpacken Sie das Archiv erneut. Ein Download, der viel zu schnell abgeschlossen ist, ist meistens eine als fx.tar.xz gespeicherte HTML-Fehlerseite. tar meldet diese als beschädigtes Archiv.

Der Server läuft, aber niemand kann beitreten. Prüfen Sie die Ports zuerst in dieser Reihenfolge: die ufw-Regel für TCP und UDP auf 30120, danach die Netzwerk-Firewall des Providers und anschließend die für den Lizenzschlüssel registrierte IP-Adresse. Mit curl gegen info.json von außerhalb des Servers lässt sich in einem Befehl unterscheiden, ob ein Netzwerk- oder ein Serverproblem vorliegt.

Die Tick-Zeit steigt, sobald Spieler beitreten. Das Performance-Panel von txAdmin zeigt die Tick-Zeit des Servers. Wenn sie mit der Spielerzahl steigt, während die gesamte CPU-Auslastung niedrig aussieht, sättigt eine Ressource den Hauptthread. Beachten Sie die Berechnung: Auf einem System mit 4 vCPUs entspricht ein vollständig ausgelasteter Kern in top ungefähr 25 Prozent der gesamten CPU-Auslastung. Das wirkt unkritisch, ist es aber nicht. Beenden Sie die Ressourcen einzeln und beobachten Sie die Tick-Zeit, um die verursachende Ressource zu finden.

Einordnung im Vergleich zu anderen Gameservern

Ein spielbarer FiveM-Server benötigt einen schnellen einzelnen CPU-Kern und ausreichend Arbeitsspeicher für die tatsächlich eingesetzte Ressourcenliste. Die Slot-Anzahl ergibt sich aus diesen beiden Faktoren. Eine beliebige Anzahl an vCPUs kann keinen langsamen CPU-Kern ausgleichen. Auswahl eines VPS für Gameserver behandelt diesen Zielkonflikt für eine gemischte Serverlandschaft. Auch Betrieb eines Minecraft-Servers auf einem VPS folgt im Kern demselben Muster: Es gibt eine zentrale Tick-Schleife. Daher bestimmt auch dort die Geschwindigkeit pro CPU-Kern die Obergrenze.

FAQ

Wie viel CPU und RAM benötigt ein FiveM-Server?

Ein schneller Kern ist wichtiger als mehrere langsame Kerne, weil FXServer seine Spiellogik in einem einzelnen Hauptthread ausführt. Vergleichen Sie den veröffentlichten Single-Thread-Wert des CPU-Modells. Prüfen Sie anschließend auf dem Server mit sysbench cpu --threads=1 run, ob vmstat eine nahezu nullprozentige Steal-Zeit anzeigt. Die Basisdaten des Cfx.re-Servers belegen einige hundert Megabyte. Ein Roleplay-Framework mit vierzig oder fünfzig Ressourcen und einer lokalen Datenbank läuft mit 8 GB komfortabel, während es mit weniger als 4 GB eng wird. Diese Werte stammen aus typischen Community-Erfahrungen. Überwachen Sie daher free -m unter Spitzenlast, statt sich darauf zu verlassen.

Müssen Spieler GTA V besitzen, um meinem FiveM-Server beizutreten?

Ja. Jeder Spieler benötigt eine legitime, lizenzierte Kopie von GTA V auf Steam, im Rockstar Games Launcher oder bei Epic Games sowie ein kostenloses Cfx.re-Konto. Der FiveM-Client prüft den Besitz des Spiels, bevor er eine Verbindung herstellt. Dafür gibt es keine unterstützte Umgehungsmöglichkeit. Der Betrieb eines Servers, der diese Prüfung zu umgehen versucht, ist nicht mit den Vorgaben von Cfx.re vereinbar.

Welche Ports muss ein FiveM-Server öffnen?

Port 30120 muss sowohl für TCP als auch für UDP geöffnet sein. HTTP-Endpunkte wie info.json und Ressourcendownloads verwenden TCP. Der Spielverkehr des Clients verwendet UDP. Wenn Sie nur TCP öffnen, antwortet der Server zwar im Browser, aber die Spieler sehen Failed to get info from server. txAdmin benötigt TCP 40120. Dieser Port sollte aus dem Internet nicht erreichbar sein.

Ist es sicher, txAdmin auf Port 40120 erreichbar zu lassen?

Nein. txAdmin ist eine Remote-Konsole, die den Server neu startet, die Konfiguration bearbeitet und Befehle ausführt. Ein öffentlich erreichbares Panel stellt daher eine exponierte Steuerungsebene für den gesamten Gameserver dar. Es gibt kein Standardpasswort. Eine öffentliche Anmeldeseite lädt jedoch zu nicht sichtbaren Angriffen auf Zugangsdaten ein. Lassen Sie 40120 in der Firewall geschlossen. Greifen Sie stattdessen über einen SSH-Tunnel mit ssh -N -L 40120:127.0.0.1:40120 user@server auf das Panel zu und öffnen Sie anschließend http://127.0.0.1:40120 im Browser. Binden Sie txAdmin nicht mit TXHOST_INTERFACE an 127.0.0.1, weil diese Einstellung den Gameserver ebenfalls an das Loopback-Interface bindet. Dann kann sich kein Spieler verbinden.

Sollte ich einen Artifact-Build festlegen oder immer den neuesten empfohlenen verwenden?

Verwenden Sie den nummerierten Build-Ordner. Das Label für den empfohlenen Build verweist regelmäßig auf einen neuen Build. Ein Script, das den empfohlenen Build abruft, kann Ihnen daher bei jedem neuen Build eine andere Binärdatei bereitstellen. Ein Server, der gestern funktioniert hat, kann bei einer erneuten Bereitstellung aus Gründen ausfallen, die nichts mit Ihren Änderungen zu tun haben. Notieren Sie die Build-Nummer und den Commit-Hash, die Sie getestet haben. Führen Sie Upgrades bewusst durch. Lassen Sie den vorherigen Ordner auf dem Datenträger, damit Sie durch das Ändern eines einzelnen Pfads in Ihrer systemd-Unit zurückwechseln können.

#fivem#game-server#txadmin#single-thread#vps