Die server.cfg-Datei bei FiveM richtig konfigurieren
Par Benjamin D. · PDG
· Mis à jour le 22. August 2026 · Lecture 9 min
Inhaltsverzeichnis
Die server.cfg FiveM ist die zentrale Konfigurationsdatei jedes FXServer und entscheidet darüber, ob dein Roleplay-Projekt sauber startet, Ressourcen korrekt lädt und Spieler stabil verbinden können. In diesem Tutorial 2026 gehen wir Zeile für Zeile durch die Datei: Endpunkte, ConVars, Ressourcen, Berechtigungen, OneSync, Lizenzschlüssel, Performance-Tuning und typische Fehlerquellen im Panel.
server.cfg FiveM verstehen: Aufbau, Speicherort und Ladereihenfolge
Die server.cfg FiveM ist eine reine Textdatei, die der FXServer beim Start einliest und Zeile für Zeile als Konsolenbefehle ausführt. Alles, was du dort schreibst, könntest du theoretisch auch manuell in der Live-Konsole eintippen — die Datei automatisiert diesen Vorgang lediglich beim Boot.
Wo liegt die Datei?
Auf einem gehosteten Serveur FiveM mit Pterodactyl-Panel findest du die Datei im Dateimanager, meist direkt im Root des Servers oder unter /server-data/, je nach Installationsvorlage. Bei einer Eigeninstallation auf einem VPS Linux liegt sie typischerweise so:
/home/fivem/
├── server/ # FXServer-Artifacts (run.sh, FXServer, ...)
└── server-data/ # cfx-server-data (resources/)
├── resources/
└── server.cfg
Gestartet wird der Server dann mit einem Verweis auf genau diese Datei:
cd /home/fivem/server-data
bash /home/fivem/server/run.sh +exec server.cfg
Ladereihenfolge: warum sie zählt
Der FXServer arbeitet die Datei streng von oben nach unten ab. Daraus folgen drei praktische Regeln:
- Endpunkte und ConVars zuerst, bevor Ressourcen gestartet werden.
- Abhängigkeiten vor Abhängigen: ein Framework wie ein Datenbank-Wrapper muss vor den Skripten stehen, die ihn nutzen.
- sv_licenseKey und Endpunkte niemals doppelt — der letzte gültige Wert gewinnt, was zu schwer auffindbaren Fehlern führt.
Syntax-Grundlagen
| Element | Bedeutung | Beispiel |
|---|---|---|
# | Kommentarzeile | # RP-Server v3 |
set | Serverseitige Variable | set temp_convar "hey world!" |
sets | Variable, die in der Serverliste sichtbar ist | sets tags "roleplay, deutsch" |
setr | Variable, die auch Clients lesen können | setr voice_useNativeAudio true |
ensure | Ressource starten (empfohlen) | ensure mysql-async |
start | Ressource starten (älter, ohne Neustart-Logik) | start chat |
exec | Weitere .cfg-Datei einbinden | exec permissions.cfg |
Werte mit Leerzeichen gehören immer in doppelte Anführungszeichen. Ein vergessenes Anführungszeichen ist einer der häufigsten Gründe für einen Server, der beim Start sofort wieder abbricht.
Eine vollständige server.cfg FiveM Schritt für Schritt aufbauen
Wir bauen jetzt eine praxistaugliche Konfiguration auf. Du kannst die Blöcke direkt übernehmen und an dein Projekt anpassen.
1. Netzwerk-Endpunkte
# Netzwerk-Endpunkte
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
FiveM nutzt Port 30120 für TCP und UDP. Auf einem Panel-Hosting wird der Port automatisch zugewiesen — dann trägst du dort den Port ein, den dir das Panel anzeigt, oder nutzt die Variable, die die Vorlage bereitstellt. Wichtig: 0.0.0.0 bedeutet "auf allen Interfaces lauschen". Trage hier nicht deine öffentliche IP fest ein, das führt bei NAT-Setups zu Verbindungsproblemen.
Auf einem eigenen Server müssen beide Protokolle in der Firewall offen sein:
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp # txAdmin Weboberfläche
sudo ufw reload
2. Ressourcen laden
# Basis-Ressourcen
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap
ensure rconlog
# Datenbank & Framework
ensure oxmysql
ensure es_extended
# Eigene Skripte
ensure [voice]
ensure [core]
ensure [jobs]
ensure [vehicles]
Der Ordner-Wrapper in eckigen Klammern ([core]) ist ein Kategorieordner. ensure [core] startet alle Ressourcen darin — praktisch, aber die Reihenfolge innerhalb des Ordners ist alphabetisch und damit nicht garantiert. Für Skripte mit strikten Abhängigkeiten listest du sie besser einzeln auf.
Nutze konsequent ensure statt start: ensure startet eine bereits laufende Ressource neu, was bei Live-Updates über die Konsole Zeit spart.
3. Berechtigungen und ACE-System
# Rechtegruppen
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_ace group.moderator command.say allow
# Principals (Identifier des Spielers)
add_principal identifier.fivem:1234567 group.admin
add_principal identifier.license:abc123def456... group.admin
add_principal identifier.discord:987654321098765432 group.moderator
# Gruppenvererbung
add_principal group.admin group.moderator
Die Identifier findest du in der Live-Konsole des Panels: verbinde dich einmal mit dem Server und tippe status oder schaue in die Join-Logs. Der license:-Identifier ist der stabilste, weil er an den Rockstar-Account gebunden ist.
Ein praktischer Tipp aus dem Alltag: lagere Berechtigungen in eine eigene Datei aus. So kannst du deine Hauptkonfiguration teilen oder versionieren, ohne Admin-Identifier zu veröffentlichen.
exec permissions.cfg
4. Serverinformationen und Serverliste
sv_hostname "^2[DE] Nordstadt Roleplay ^7| ^3Whitelist ^7| ^5Custom Cars"
sv_projectName "Nordstadt RP"
sv_projectDesc "Deutschsprachiges Hardcore-Roleplay seit 2024"
sets tags "roleplay, deutsch, whitelist, esx, custom"
sets locale "de-DE"
sets banner_detail "https://deine-domain.de/banner.png"
sets banner_connecting "https://deine-domain.de/loading.png"
load_server_icon myLogo.png # exakt 96x96 PNG
Das Server-Icon muss zwingend 96×96 Pixel als PNG sein und im selben Verzeichnis wie die Konfigurationsdatei liegen. Andere Größen werden ignoriert. Die Farbcodes (^1 bis ^9) funktionieren im Hostnamen und sorgen für Sichtbarkeit in der Serverliste — übertreib es aber nicht, ein Regenbogen-Name wirkt in der Liste eher unseriös.
5. Slots, OneSync und Lizenz
sv_maxclients 64
set onesync on
set onesync_population true
set onesync_enableInfinity true
set onesync_enableBeyond true
sv_licenseKey "cfxk_xxxxxxxxxxxxxxxxxxxxx_xxxxx"
sv_endpointprivacy true
sv_scriptHookAllowed 0
sv_enforceGameBuild 3407
Ein paar Erläuterungen aus der Praxis:
- sv_maxclients: über 32 Slots benötigst du zwingend OneSync. Die Obergrenze liegt bei 2048, realistisch limitiert dich aber die CPU-Leistung und die Qualität deiner Skripte, nicht die Konfiguration.
- sv_licenseKey: den Schlüssel erstellst du im Cfx.re-Portal. Er ist an eine IP gebunden — bei einem Serverumzug musst du ihn dort aktualisieren, sonst verweigert der Server den Start.
- sv_scriptHookAllowed: auf
0lassen. Alles andere öffnet die Tür für clientseitige Cheat-Menüs. - sv_enforceGameBuild: erzwingt einen bestimmten GTA-Online-Build für DLC-Fahrzeuge und -Maps. Passt der Build nicht zu deinen Assets, fehlen Modelle oder Spieler crashen beim Spawn.
6. RCON und Datenbank
rcon_password "EinLangesZufaelligesPasswort-2026!"
set mysql_connection_string "mysql://fivem_user:PASSWORT@localhost/fivem_db?charset=utf8mb4"
Das RCON-Passwort ist ein Vollzugriff auf deine Serverkonsole. Verwende mindestens 20 zufällige Zeichen und niemals dasselbe Passwort wie für Panel oder Datenbank. Wer RCON gar nicht nutzt — weil die Konsole ohnehin über das Panel erreichbar ist — lässt das Feld leer, dann wird RCON deaktiviert. Das ist die sicherste Variante.
Performance, Sicherheit und Fehlersuche im laufenden Betrieb
ConVars, die die Serverleistung beeinflussen
Die Konfigurationsdatei ist kein Wundermittel gegen schlechte Skripte, aber einige Variablen haben spürbaren Einfluss:
| ConVar | Empfehlung | Wirkung |
|---|---|---|
set onesync_population | true | Serverseitige Verwaltung von NPCs und Verkehr; reduziert Desync |
set sv_enforceGameBuild | Passend zu den Assets | Verhindert Client-Crashes durch fehlende Modelle |
sv_endpointprivacy | true | Versteckt Spieler-IPs vor der öffentlichen API |
set steam_webApiKey | Nur wenn benötigt | Aktiviert Steam-Identifier; ohne Key entfällt der Overhead |
sv_authMaxVariance | 1 | Strengere Auth-Prüfung beim Verbinden |
sv_authMinTrust | 5 | Blockiert Accounts mit niedrigem Vertrauenswert |
Was die reine Rechenleistung angeht: FiveM ist stark single-thread-lastig. Der Server-Tick wird im Wesentlichen von einem Kern abgearbeitet, deshalb zählt die Taktfrequenz mehr als die Kernanzahl. Ein Hosting auf Ryzen-Prozessoren mit hoher Frequenz und NVMe-SSD, wie es Fly-Serv bereitstellt, wirkt sich direkt auf Ladezeiten von Ressourcen und auf die Stabilität bei 60+ Spielern aus. Der integrierte Anti-DDoS-Schutz nimmt dir zusätzlich das Thema volumetrische Angriffe ab, die bei populären RP-Servern leider zum Alltag gehören.
Ressourcen-Diagnose mit resmon
Wenn dein Server ruckelt, liegt es fast nie an der Konfigurationsdatei selbst, sondern an einer Ressource. In der Client-Konsole (F8):
resmon 1
Serverseitig in der Panel-Konsole:
profiler record 500
profiler view
Alles über 0.10 ms CPU-Zeit pro Ressource im Leerlauf verdient einen zweiten Blick. Typische Übeltäter sind Skripte mit Citizen.Wait(0)-Schleifen ohne Bedingung.
Sicherheitspraxis rund um die Konfiguration
- Whitelist aktivieren: entweder über
sv_master1 ""(Server wird nicht gelistet) oder sauberer über eine Discord-basierte Whitelist-Ressource. - Regelmäßige Backups: Konfigurationsdatei,
resources/und Datenbank gehören zusammen gesichert. Automatische Sicherungen über das Panel sind die Grundlage, ein wöchentlicher Download auf einen externen Speicher die Absicherung. - Kein Klartext in geteilten Dateien: Lizenzschlüssel, Datenbank-Zugang und RCON-Passwort gehören nicht in ein öffentliches Git-Repository.
- Auf dem VPS: SSH-Zugang nur per Schlüssel, dazu fail2ban und ufw.
ssh-keygen -t ed25519 -C "fivem-admin"
sudo sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
Häufige Startfehler und ihre Ursache
| Fehlermeldung | Wahrscheinliche Ursache |
|---|---|
Could not find resource "xyz" | Ordnername stimmt nicht mit ensure-Zeile überein (Groß-/Kleinschreibung!) |
Couldn't load resource ... fxmanifest | Fehlende oder fehlerhafte fxmanifest.lua in der Ressource |
sv_licenseKey is not set | Schlüssel fehlt, ist ungültig oder an eine andere IP gebunden |
| Server startet, ist aber nicht sichtbar | UDP-Port geschlossen oder sv_master1 "" gesetzt |
Server list ping timed out | Endpunkt auf falsche IP statt 0.0.0.0 gebunden |
| Spieler crashen beim Verbinden | Falscher sv_enforceGameBuild oder defekte Stream-Assets |
Konfiguration modular halten
Ab einer gewissen Projektgröße wird eine einzelne Datei mit 400 Zeilen unübersichtlich. Splitte sie auf:
# server.cfg (Hauptdatei)
exec network.cfg # Endpunkte, Slots, OneSync
exec resources.cfg # alle ensure-Zeilen
exec permissions.cfg # ACE und Principals
exec convars.cfg # Framework-Variablen
sv_licenseKey "cfxk_..."
Der Lizenzschlüssel bleibt bewusst in der Hauptdatei, damit er nicht versehentlich in einem geteilten Modul landet. Bei größeren Communities empfiehlt sich außerdem, die Ressourcen-Datei über Git zu versionieren — so lässt sich nach einem misslungenen Update in Sekunden zurückrollen.
Änderungen anwenden
Nach jeder Bearbeitung im Dateimanager des Panels genügt in vielen Fällen ein gezielter Neustart einzelner Ressourcen über die Live-Konsole:
refresh
ensure meine-ressource
restart meine-ressource
Änderungen an Endpunkten, sv_maxclients, OneSync oder dem Lizenzschlüssel erfordern dagegen immer einen vollständigen Serverneustart. Die offizielle Referenz aller verfügbaren Variablen findest du in der FiveM-Dokumentation.
Wer seinen FXServer lieber komplett selbst verwaltet, inklusive eigener MariaDB-Instanz und txAdmin, fährt mit einem VPS Pterodactyl gut — dort kombinierst du Root-Zugriff mit einem Panel für die tägliche Verwaltung. Für andere Projekte findest du weitere Konfigurationsanleitungen im Blog Fly-Serv oder direkt bei Tous nos serveurs de jeu.
Fazit
Eine saubere server.cfg FiveM ist kein Hexenwerk: Endpunkte korrekt binden, Ressourcen in der richtigen Reihenfolge laden, Rechte über ACE sauber trennen und Zugangsdaten schützen. Wer die Datei modular aufbaut und Änderungen dokumentiert, spart sich lange Fehlersuchen. Der Rest ist Monitoring — resmon und Profiler zeigen dir schnell, welches Skript wirklich Leistung frisst.
FAQ
Warum startet mein FiveM-Server nach einer Änderung an der server.cfg nicht mehr?In den meisten Fällen liegt ein Syntaxfehler vor: ein fehlendes Anführungszeichen bei einem Wert mit Leerzeichen, eine ensure-Zeile für einen Ordner, der nicht existiert, oder ein falsch geschriebener Ressourcenname (Groß- und Kleinschreibung wird unter Linux unterschieden). Prüfe die letzten Zeilen der Panel-Konsole vor dem Absturz — dort steht fast immer die auslösende Zeile. Kommentiere im Zweifel die zuletzt hinzugefügten Zeilen mit # aus und starte erneut.
Technisch erlaubt FiveM bis zu 2048 Slots, ab 32 Spielern ist OneSync zwingend erforderlich (set onesync on). Die praktische Grenze bestimmt aber deine CPU-Taktfrequenz und die Qualität deiner Skripte, da der Server-Tick weitgehend single-threaded läuft. Für ein typisches Roleplay-Setup mit ESX oder QBCore sind 64 bis 128 Slots auf einem Ryzen-Server mit hoher Frequenz und NVMe-Speicher realistisch, sofern die Ressourcen im Leerlauf sauber unter 0.10 ms bleiben.
Ja, die Datei lässt sich im Dateimanager des Pterodactyl-Panels jederzeit öffnen und speichern. Die Änderungen greifen jedoch erst beim nächsten Einlesen. Für einzelne Ressourcen reicht refresh gefolgt von ensure ressourcenname in der Live-Konsole. Änderungen an Endpunkten, OneSync, sv_maxclients oder sv_licenseKey erfordern einen vollständigen Neustart. Lege vor größeren Umbauten eine Sicherung an, dann kannst du im Fehlerfall sofort zurück.