Eigener FiveM-Server oder beitreten: Was du wissen musst
Par Benjamin D. · PDG
· Mis à jour le 11. September 2026 · Lecture 7 min
Inhaltsverzeichnis
FiveM Server beitreten ist technisch etwas völlig anderes, als selbst eine FXServer-Instanz zu betreiben – auch wenn beides im Spiel nach demselben Fenster aussieht. Als Spieler lädst du Ressourcen herunter und synchronisierst dich mit einer fremden Session. Als Admin entscheidest du über server.cfg, Ressourcenreihenfolge, OneSync und Slots. Dieser Artikel erklärt beide Seiten sauber getrennt.
Wie ein FiveM-Server technisch aufgebaut ist
Ein FiveM-Server ist im Kern ein einzelner Prozess: der FXServer (Cfx.re-Artefakt). Er lauscht standardmäßig auf Port 30120, und zwar sowohl TCP als auch UDP. TCP wird für den HTTP-Endpunkt genutzt – also Serverliste, Ressourcen-Downloads, Infos wie Spielerzahl und Tags. UDP trägt den eigentlichen Spielverkehr: Positionen, Events, Entity-Synchronisation. Wer nur TCP freigibt, sieht den Server in der Liste, kommt aber nie ins Spiel.
Der Server selbst enthält keine Spielinhalte. Die Map, Fahrzeuge, Peds und Animationen kommen vom lokal installierten GTA V des Spielers. Der FXServer liefert nur Ressourcen: Lua-, JavaScript- oder C#-Skripte, Streaming-Assets (Fahrzeuge, Kleidung, MLOs) und Konfigurationen. Jede Ressource liegt in einem Ordner unter resources/ und wird über eine fxmanifest.lua beschrieben.
Der Ablauf beim Verbindungsaufbau sieht grob so aus:
- Client fragt den HTTP-Endpunkt ab und erhält die Ressourcenliste plus Hashes.
- Fehlende oder geänderte Dateien werden in den lokalen Cache geladen.
- Der Client startet die clientseitigen Skripte, der Server weist eine Session zu.
- Ab jetzt läuft die Synchronisation über OneSync bzw. die Legacy-Netzwerkschicht.
Deshalb ist die Startzeit beim ersten Beitritt lang und später kurz: Der Download passiert nur einmal pro Ressourcenversion. Wer eine FiveM-Umgebung selbst betreiben will, findet die Plattformdokumentation bei der offiziellen FiveM-Dokumentation. Wer die Technik nicht selbst verwalten möchte, kann bei Fly-Serv direkt eine fertige Instanz mit Ryzen-CPU, NVMe-Speicher und Anti-DDoS nutzen: FiveM Server mieten.
FiveM Server beitreten: Verbindung, Cache und typische Fehlermeldungen
Für Spieler gibt es drei praktikable Wege, um einem FiveM Server beizutreten. Die Serverliste im Client ist der bequemste, aber auch der langsamste – bei tausenden Einträgen sind Filter Pflicht. Direkter und zuverlässiger ist die F8-Konsole:
# F8 im FiveM-Client öffnen, dann:
connect 193.70.12.45:30120
# oder per Cfx.re-Kurzlink des Projekts:
connect cfx.re/join/ab12cd
# Verbindung testen, ohne zu joinen:
ping 193.70.12.45
Der dritte Weg ist das Favoriten-System: Einmal beigetreten, landet der Eintrag unter „Favoriten“ und bleibt auch dann erreichbar, wenn der Server sich nicht öffentlich listet.
Cache: die häufigste Ursache für Hänger beim Beitritt
Bleibt der Ladebalken bei „Loading screen“ oder „Downloading resources“ stehen, ist meist der lokale Cache beschädigt. Er liegt unter Windows hier:
%localappdata%\FiveM\FiveM.app\data\cache
%localappdata%\FiveM\FiveM.app\data\server-cache
%localappdata%\FiveM\FiveM.app\data\server-cache-priv
Diese drei Ordner lassen sich ohne Risiko löschen – FiveM baut sie beim nächsten Start neu auf. Einzig der Download der Projektressourcen wiederholt sich. Der Ordner citizen/ bleibt unangetastet.
Fehlermeldungen und was sie wirklich bedeuten
| Meldung | Ursache | Lösung |
|---|---|---|
| Connection timed out / rejected | UDP 30120 blockiert oder Prozess nicht aktiv | Port-Freigabe TCP+UDP prüfen, Konsole des Panels ansehen |
| This server is using an outdated version | Artefakt oder Client-Version passen nicht zusammen | Client aktualisieren, serverseitig neueres Artefakt einsetzen |
| Couldn't load resource xyz | Fehlerhafte fxmanifest.lua oder fehlende Datei | Manifest prüfen, Groß-/Kleinschreibung des Ordnernamens beachten |
| Server is full | sv_maxclients erreicht | Slots erhöhen, OneSync-Modus beachten |
| Failed to load script | Lua-Syntaxfehler in einer Ressource | Serverkonsole lesen, Ressource einzeln neu starten |
Wichtig für Spieler: hohe Latenz und Ruckler sind selten ein Client-Problem. Wenn alle Teilnehmer gleichzeitig Rubberbanding melden, hängt in der Regel der Server-Tick, weil ein Skript blockiert oder die CPU an der Grenze arbeitet. Einzelfälle deuten hingegen auf die eigene Leitung hin.
server.cfg, Ressourcen und OneSync verstehen
Die server.cfg ist die zentrale Steuerdatei. Sie wird beim Start ausgeführt und kann jede Konsolenvariable setzen. Eine schlanke, funktionierende Basis sieht so aus:
# --- Netzwerk ---
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
# --- Plattform-Ressourcen ---
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure hardcap
# --- Projekt-Ressourcen (Reihenfolge zaehlt) ---
ensure oxmysql
ensure es_extended
ensure [jobs]
ensure [ui]
# --- Netzwerkmodell ---
set onesync on
sv_maxclients 48
sv_enforceGameBuild 3095
# --- Identitaet ---
sv_hostname "Nordlicht Roleplay | DE"
sets locale "de-DE"
sets tags "roleplay, deutsch, esx"
# --- Sicherheit ---
sv_scriptHookAllowed 0
rcon_password "sehr-langes-zufaelliges-geheimnis"
sv_licenseKey "cfxk_xxxxxxxxxxxxxxxxxxxx"
# --- Rechte ---
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_principal identifier.fivem:1234567 group.admin
ensure, start, restart – der Unterschied
startlädt eine Ressource einmalig. Läuft sie schon, passiert nichts.ensurestartet neu, falls sie bereits läuft – der sichere Standard in der Konfigurationsdatei.restart <name>in der Live-Konsole ist das Arbeitsmittel im Betrieb: einzelne Ressource neu laden, ohne alle Spieler zu kicken.refreshliest neu hinzugefügte Ordner ein, bevor du sie startest.
Die Reihenfolge ist keine Kosmetik. Datenbank-Wrapper und Framework müssen vor allen abhängigen Ressourcen geladen sein, sonst fangen sich Skripte an nil value-Fehlern. Ordner in eckigen Klammern wie [jobs] sind Kategorien: der Eintrag lädt alle enthaltenen Ressourcen in alphabetischer Reihenfolge.
OneSync: mehr als 32 Slots
Ohne OneSync begrenzt die Legacy-Netzwerkschicht dich auf 32 Teilnehmer, und die Entity-Verwaltung liegt beim Client. OneSync verlagert diese Autorität auf den Server. Daraus folgen zwei Dinge: deutlich mehr Slots und ein erheblich kleineres Angriffsfeld für Client-seitige Manipulation. Der Preis dafür ist mehr CPU-Last auf einem einzelnen Kern – FXServer skaliert nicht linear über viele Kerne, deshalb zählt die Taktfrequenz mehr als die Kernzahl.
| Modus | Slots | Autorität | Praxiseinsatz |
|---|---|---|---|
set onesync off | bis 32 | Client | Kleine Freundesrunden, Legacy-Skripte |
set onesync legacy | bis 64 | Server | Übergangsbetrieb älterer Projekte |
set onesync on | bis 2048 (lizenzabhängig) | Server | Roleplay- und Community-Projekte |
Dazu passen Variablen wie onesync_population (NPC-Verkehr serverseitig steuern) und onesync_forceMigration. Beides beeinflusst die Last direkt: Wer die Population reduziert, gewinnt Tick-Zeit zurück.
Streaming-Assets und Performance
Der größte Hebel bei Rucklern sind selten die Skripte, sondern gestreamte Inhalte. Ein 400-MB-Fahrzeugpack verlängert jeden Erstbeitritt massiv und drückt auf die Client-Speichergrenzen. Praktische Leitlinien:
- Gesamtvolumen der Streaming-Ordner bewusst begrenzen und regelmäßig aufräumen.
resmonin der F8-Konsole nutzen, um CPU-Zeit pro Ressource zu messen. Werte dauerhaft über 1,00 ms sind ein Prüffall.- NVMe-Speicher hilft beim Start und beim Nachladen von Assets, weil viele kleine Dateien gelesen werden.
- Automatische Sicherungen vor jedem größeren Ressourcen-Update einplanen – ein kaputtes Framework-Update ist so in Minuten zurückgerollt.
Wenn du die Maschine selbst verwaltest
Auf einer Linux-Maschine ohne Panel läuft FXServer als Dienst. Ein minimaler Unit-File und die passende Firewall-Regel:
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
# /etc/systemd/system/fxserver.service
[Unit]
Description=FXServer
After=network.target
[Service]
User=fxserver
WorkingDirectory=/opt/fxserver
ExecStart=/opt/fxserver/run.sh +exec /opt/fxserver/server-data/server.cfg
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now fxserver
journalctl -u fxserver -f
Dazu gehören die üblichen Hausaufgaben: SSH-Anmeldung per Schlüssel statt Passwort (ssh-keygen -t ed25519), fail2ban gegen Brute-Force auf SSH, Paketaktualisierungen und ein RCON-Passwort, das nie in einem öffentlichen Git-Repository landet. Volumetrische Angriffe fängt bei Fly-Serv die Infrastruktur mit standardmäßigem Anti-DDoS ab, um Anwendungsebene und Zugangsdaten kümmert sich der Admin.
Im Panel-Betrieb entfällt der Dienst-Teil: Pterodactyl liefert Live-Konsole, Dateiverwaltung, Neustart und Unterbenutzer für das Admin-Team. Dieselbe Logik gilt übrigens für andere Titel, etwa RedM Server oder die weiteren Titel unter Alle unsere Gameserver.
Rollen im Alltag: Spieler, Moderator, Admin
Der entscheidende Unterschied zwischen Beitreten und Betreiben liegt nicht in der Technik allein, sondern in der Verantwortung. Wer beitritt, konfiguriert seinen Client. Wer betreibt, konfiguriert das Spielerlebnis aller anderen.
| Bereich | Spieler | Admin / Betreiber |
|---|---|---|
| Zugang | connect, Favoriten, Cache leeren | Whitelist, ACE-Rechte, Ban-Verwaltung |
| Ressourcen | lädt herunter | wählt aus, ordnet, aktualisiert |
| Netzwerk | eigene Leitung, DNS | Ports, OneSync-Modus, Slots |
| Fehlerbild | eigene Latenz, Grafik | Tick-Zeit, Skript-Exceptions, Datenbank |
| Datensicherheit | — | Sicherungen, RCON, Zugangsdaten |
Rechte über ACEs statt über Zuruf
FiveM arbeitet mit Principals (Identifikatoren oder Gruppen) und ACEs (Berechtigungen). Ein Moderator braucht Kick und Warn, aber niemals quit oder den Zugriff auf Ressourcenbefehle:
add_principal identifier.discord:1122334455 group.mod
add_ace group.mod command.kick allow
add_ace group.mod command.warn allow
add_ace group.mod command.restart deny
add_ace group.mod command.stop deny
Die Serverkonsole bleibt das Werkzeug des Betreibers. Kurzer Pflichtblick nach jedem Update: laufen alle Ressourcen, meldet resmon keinen Ausreißer, erscheinen keine wiederkehrenden Exceptions. Fünf Minuten Konsole ersparen später eine Stunde Fehlersuche.
Praxisregel: Ändere nie Framework, Artefakt und Streaming-Inhalte in derselben Sitzung. Ein Schritt pro Neustart – sonst weißt du nicht, welche Änderung den Absturz verursacht hat.
Beitreten heißt: Adresse, Cache, Latenz im Blick behalten. Selbst betreiben heißt: server.cfg beherrschen, Ressourcenreihenfolge verstehen, OneSync passend wählen und Sicherungen ernst nehmen. Wer beide Seiten kennt, findet Probleme schneller – egal ob als Gast in einer Session oder als Verantwortlicher der Konsole. Weitere technische Leitfäden stehen im Fly-Serv Blog.
FAQ
Warum hängt FiveM beim Beitritt dauerhaft bei „Downloading resources“?Meist ist der lokale Cache beschädigt oder eine Streaming-Datei bricht ab. Lösche die Ordner cache, server-cache und server-cache-priv unter %localappdata%\FiveM\FiveM.app\data und starte den Client neu. Bleibt es hängen, prüft der Admin in der Konsole, ob eine Ressource mit fehlerhafter fxmanifest.lua den Download blockiert.
Technisch nein, praktisch ja. set onesync on verlagert die Entity-Autorität auf den Server, was Manipulation erschwert und moderne Frameworks voraussetzen. Erst ab spürbarer CPU-Last lohnt es, per onesync_population den NPC-Verkehr zu reduzieren, statt OneSync abzuschalten.
Öffne im Spiel die F8-Konsole und tippe resmon. Die Tabelle zeigt CPU-Zeit und Speicher pro Ressource. Alles, was dauerhaft über 1,00 ms liegt, gehört überprüft: Schleifen ohne Wait, zu häufige Datenbankabfragen oder überdimensionierte Streaming-Assets sind die üblichen Verdächtigen.