FiveM Server Optimierung — Mehr FPS und Performance
FiveM Server Performance verbessern: server.cfg Optimierung, Resource-Management, OneSync, Datenbank-Tuning und mehr Tipps für bessere FPS.
FiveM Server Optimierung — Der komplette Performance-Guide
Jeder Serverbetreiber kennt das Problem: Mit steigender Spielerzahl sinken die FPS, Spieler beschweren sich ueber Lags, und im schlimmsten Fall verlierst du deine Community an besser optimierte Server. FiveM-Performance ist kein Zufall, sondern das Ergebnis systematischer Optimierung auf mehreren Ebenen. In diesem umfassenden Guide zeigen wir dir Schritt fuer Schritt, wie du die Performance deines FiveM-Servers drastisch verbesserst — von der server.cfg ueber Resource-Management bis hin zum Datenbank-Tuning.
Bevor du loslegst, solltest du wissen: Optimierung ist ein fortlaufender Prozess. Es gibt keine einzelne Einstellung, die alle Probleme loest. Stattdessen ist es die Kombination vieler kleiner Verbesserungen, die am Ende einen spuerbaren Unterschied macht. Lass uns direkt einsteigen.
Die server.cfg richtig konfigurieren
Die server.cfg ist das Herzstuck deines FiveM-Servers. Hier werden grundlegende Performance-Parameter festgelegt, die sich direkt auf die Serverleistung auswirken. Viele Betreiber uebernehmen die Standardwerte, ohne zu wissen, dass hier enormes Optimierungspotenzial schlummert.
Grundlegende Performance-Einstellungen
Beginnen wir mit den wichtigsten Einstellungen, die du in deiner server.cfg anpassen solltest:
# Tick-Rate und Threading
sv_maxclients 128
set onesync on
set onesync_distanceCullingVehicles on
set onesync_distanceCulling on
# Rate-Limiting fuer Netzwerk
sv_minclients 1
sv_pureLevel 1
# Network-Optimierung
sv_endpointPrivacy true
sv_scriptHookAllowed 0
# Resource-Scheduler
set sv_enforceGameBuild 2802
Die Tick-Rate bestimmt, wie oft der Server pro Sekunde Updates berechnet und an die Clients sendet. Eine hoehere Tick-Rate bedeutet praezisere Synchronisation, aber auch mehr CPU-Last. Fuer die meisten Roleplay-Server ist die Standard-Tick-Rate von 64 voellig ausreichend.
OneSync korrekt einrichten
OneSync ist die Backbone-Technologie fuer groessere FiveM-Server. Ohne OneSync ist die maximale Spielerzahl auf 32 begrenzt. Mit OneSync kannst du deutlich mehr Spieler hosten, aber die richtige Konfiguration ist entscheidend:
# OneSync aktivieren
set onesync on
# Entity-Culling (sehr wichtig fuer Performance)
set onesync_distanceCullingVehicles on
set onesync_distanceCulling on
set onesync_forceMigration on
set onesync_radial true
# Population Management
set sv_maxclients 128
set onesync_population true
Das Entity-Culling ist einer der wichtigsten Performance-Hebel bei OneSync. Es sorgt dafuer, dass Spieler nur Entitaeten (Fahrzeuge, Peds, Objekte) in ihrer naeheren Umgebung sehen. Entitaeten ausserhalb des Sichtbereichs werden clientseitig nicht gerendert, was die FPS erheblich verbessert.
ConVars fuer fortgeschrittene Optimierung
Es gibt eine Reihe weiterer ConVars, die du je nach Serverkonfiguration anpassen kannst:
# Client-seitige Entity-Limits
set sv_maxvelocity 400
set game_maxVehicleEntities 50
set game_maxPedEntities 100
set game_maxObjectEntities 200
# Netzwerk-Optimierung
set net_statsFile "netstats.log"
set sv_lan false
Achte darauf, die Entity-Limits nicht zu niedrig anzusetzen, da dies zu Darstellungsproblemen fuehren kann. Die oben genannten Werte sind ein guter Ausgangspunkt, den du je nach Servergroesse anpassen solltest.
Resource-Management und Optimierung
Resources sind die haeufigste Ursache fuer Performance-Probleme auf FiveM-Servern. Jede Resource verbraucht CPU-Zeit und Arbeitsspeicher, und schlecht programmierte Scripts koennen den gesamten Server in die Knie zwingen.
Resources auditieren und aufraumen
Der erste Schritt ist eine gruendliche Bestandsaufnahme aller installierten Resources. Stelle dir bei jeder Resource folgende Fragen: Wird sie tatsaechlich benutzt? Gibt es eine leichtgewichtigere Alternative? Ist der Code optimiert?
Nutze den Befehl resmon 1 in der Server-Konsole, um den Resource Monitor zu aktivieren. Dieser zeigt dir in Echtzeit, wie viel CPU-Zeit jede Resource verbraucht:
resmon 1
Sortiere die Resources nach CPU-Verbrauch und identifiziere die groessten Ressourcenfresser. Haeufige Probleme sind:
- Polling-Loops ohne Wait: Scripts, die in einem Tick-Loop laufen, ohne
Citizen.Wait()aufzurufen, verbrauchen unverhältnismaessig viel CPU. - Uebermaessige Netzwerk-Events: Resources, die zu viele Events an alle Clients senden, erzeugen Netzwerk-Overhead.
- Speicherlecks: Resources, die ueber die Zeit immer mehr RAM verbrauchen, ohne ihn freizugeben.
Code-Optimierung fuer Lua-Scripts
Die meisten FiveM-Resources sind in Lua geschrieben. Hier sind die wichtigsten Optimierungstipps fuer Lua-Code:
-- SCHLECHT: Tick-Loop ohne Wait
Citizen.CreateThread(function()
while true do
-- Code hier laeuft jeden Frame
-- Das verbraucht extrem viel CPU
end
end)
-- GUT: Tick-Loop mit angemessenem Wait
Citizen.CreateThread(function()
while true do
Citizen.Wait(500) -- 500ms Pause
-- Code hier laeuft nur alle 500ms
end
end)
-- NOCH BESSER: Events statt Polling verwenden
RegisterNetEvent('meinEvent')
AddEventHandler('meinEvent', function()
-- Code wird nur ausgefuehrt, wenn das Event getriggert wird
end)
Weitere wichtige Lua-Optimierungen:
-- Variablen lokal deklarieren (schnellerer Zugriff)
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)
-- SCHLECHT: Native-Calls in jedem Frame
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
local ped = PlayerPedId() -- Wird jeden Frame aufgerufen
local health = GetEntityHealth(ped)
end
end)
-- GUT: Native-Calls cachen und nur bei Bedarf aufrufen
local cachedHealth = 0
Citizen.CreateThread(function()
while true do
Citizen.Wait(2000) -- Alle 2 Sekunden pruefen
local ped = PlayerPedId()
cachedHealth = GetEntityHealth(ped)
end
end)
Client-seitige vs. Server-seitige Logik
Ein haeufiger Fehler ist es, zu viel Logik serverseitig auszufuehren. Grundregel: Alles, was nur den einzelnen Spieler betrifft, sollte clientseitig laufen. Der Server sollte nur fuer Daten zustaendig sein, die mehrere Spieler betreffen oder die gegen Manipulation geschuetzt werden muessen.
Datenbank-Optimierung
Die Datenbank ist oft der groesste Flaschenhals eines FiveM-Servers, besonders bei Frameworks wie ESX oder QBCore, die viele Datenbankabfragen durchfuehren.
MySQL vs. MariaDB
Wir empfehlen MariaDB gegenueber MySQL fuer FiveM-Server. MariaDB bietet in den meisten Szenarien eine bessere Performance und ist vollstaendig kompatibel mit MySQL. Die Installation unter Linux ist einfach:
sudo apt install mariadb-server
sudo mysql_secure_installation
Wichtige MySQL-Konfiguration
Passe die MySQL-Konfiguration in der Datei /etc/mysql/mariadb.conf.d/50-server.cnf an:
[mysqld]
# InnoDB Buffer Pool - setze auf 70-80% des verfuegbaren RAM
innodb_buffer_pool_size = 2G
# Log-Dateigroesse
innodb_log_file_size = 256M
# Verbindungs-Cache
thread_cache_size = 16
table_open_cache = 4096
# Query Cache (bei MariaDB 10.x)
query_cache_type = 1
query_cache_size = 64M
# Langsame Queries loggen
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 1
Der innodb_buffer_pool_size ist die mit Abstand wichtigste Einstellung. Er bestimmt, wie viel RAM fuer das Caching von Datenbank-Daten verwendet wird. Je groesser dieser Wert, desto weniger muss von der Festplatte gelesen werden.
Indexierung und Query-Optimierung
Stelle sicher, dass alle haeufig abgefragten Spalten indiziert sind. Besonders wichtig sind Indizes auf:
-- Spieler-Identifier (wird bei jedem Login abgefragt)
ALTER TABLE users ADD INDEX idx_identifier (identifier);
-- Fahrzeug-Besitzer
ALTER TABLE owned_vehicles ADD INDEX idx_owner (owner);
-- Items (bei Inventar-Systemen)
ALTER TABLE items ADD INDEX idx_owner_name (owner, name);
Nutze EXPLAIN vor deinen SQL-Queries, um zu pruefen, ob Indizes korrekt verwendet werden:
EXPLAIN SELECT * FROM users WHERE identifier = 'steam:xxxxx';
oxmysql richtig konfigurieren
oxmysql ist die empfohlene MySQL-Resource fuer FiveM. Konfiguriere sie in deiner server.cfg:
set mysql_connection_string "mysql://user:password@localhost/fivem?charset=utf8mb4&connectTimeout=60000&acquireTimeout=60000"
# Verbindungspool-Groesse
set mysql_connection_pool_size 30
# Debug-Modus nur in der Entwicklung aktivieren
set mysql_debug false
Die Pool-Groesse sollte an die Anzahl gleichzeitiger Spieler angepasst werden. Als Faustregel: Ein Viertel bis ein Drittel der maximalen Spielerzahl ist ein guter Wert. Zu viele Verbindungen koennen die Datenbank ueberlasten, zu wenige fuehren zu Wartezeiten.
Client-seitige Performance-Tipps
Nicht alle Performance-Probleme liegen am Server. Oft sind es clientseitige Optimierungen, die den Spielern die meisten FPS bringen.
Streaming-Optimierung
Custom Assets wie Fahrzeuge, MLOs und Kleidung muessen gestreamt werden und koennen die Client-Performance erheblich beeintraechtigen:
- Fahrzeug-Modelle: Halte die Polygon-Anzahl unter 70.000 pro Fahrzeug. High-Poly-Modelle mit 200.000+ Polygonen sind der haeufigste FPS-Killer.
- Texturen: Verwende komprimierte Texturen im DDS-Format. 4K-Texturen fuer Fahrzeuge sind in den meisten Faellen uebertrieben.
- MLOs: Achte auf die Occlusion-Planes. Ohne korrekte Occlusion rendert der Client das Innere des Gebaeudes, auch wenn der Spieler draussen steht.
- Kleidung: Jedes einzelne Kleidungsstueck erhoet den Speicherverbrauch. Konsolidiere Kleidungs-Addons, wo moeglich.
Resource-Streaming konfigurieren
# Streaming-Memory erhoehen (in Bytes)
set sv_streamingBudget 2048
# Asset-Warmup aktivieren
set adhesive_cdnKey "dein_key"
Tipps fuer Spieler
Gib deinen Spielern diese Tipps fuer bessere FPS:
- GTA-Grafikeinstellungen: Extended Distance Scaling und Grass Quality auf das Minimum setzen.
- VSync in FiveM deaktivieren, stattdessen einen Frame-Limiter nutzen.
- Den FiveM-Cache regelmaessig leeren (FiveM Anwendungsdaten > cache > priv).
- Hintergrundprogramme wie Discord-Overlay, Webbrowser und andere Spiele schliessen.
- Sicherstellen, dass die GPU-Treiber aktuell sind.
Monitoring und Diagnose-Tools
Ohne Monitoring fliegst du blind. Du musst wissen, wo die Engpaesse liegen, bevor du optimieren kannst.
Server-seitiges Monitoring
Der eingebaute Resource Monitor (resmon 1) ist dein wichtigstes Werkzeug. Er zeigt dir fuer jede Resource die durchschnittliche und maximale CPU-Zeit pro Tick.
Zusaetzlich empfehlen wir:
- txAdmin: Das Standard-Administrationspanel fuer FiveM-Server bietet grundlegende Performance-Metriken und Spieler-Monitoring.
- Prometheus + Grafana: Fuer fortgeschrittenes Monitoring kannst du Prometheus-Metriken exportieren und in Grafana visualisieren.
- htop / glances: Linux-Tools zur Ueberwachung der System-Ressourcen (CPU, RAM, Disk I/O).
Netzwerk-Monitoring
# Netzwerk-Traffic ueberwachen
iftop -i eth0
# Verbindungen zum FiveM-Port anzeigen
netstat -an | grep 30120
# Latenz pruefen
ping -c 10 dein-server.de
Datenbank-Monitoring
Nutze das Slow-Query-Log, um langsame Datenbankabfragen zu identifizieren:
# Langsame Queries anzeigen
sudo tail -f /var/log/mysql/slow-query.log
In der MySQL-Konsole kannst du den aktuellen Status pruefen:
SHOW PROCESSLIST;
SHOW GLOBAL STATUS LIKE 'Threads%';
SHOW GLOBAL STATUS LIKE 'Innodb_buffer%';
Netzwerk und Hardware-Optimierung
Die richtige Hardware waehlen
Die Anforderungen an die Server-Hardware haengen stark von der Spielerzahl und der Anzahl der Resources ab. Als Richtwerte:
- Bis 32 Spieler: 4 CPU-Kerne, 8 GB RAM, SSD
- 32-64 Spieler: 6 CPU-Kerne, 16 GB RAM, NVMe-SSD
- 64-128 Spieler: 8+ CPU-Kerne, 32 GB RAM, NVMe-SSD
Wichtig: FiveM nutzt primaer einen einzelnen CPU-Kern fuer den Hauptthread. Daher ist die Single-Core-Performance wichtiger als die Anzahl der Kerne. Prozessoren mit hoher Taktfrequenz wie der AMD Ryzen 9 oder Intel i9 sind ideal.
Schau dir auf TopRP Hosting verschiedene Hosting-Anbieter an, die speziell auf FiveM-Server optimiert sind.
Linux vs. Windows
Linux-Server bieten in der Regel eine bessere Performance als Windows-Server, da weniger Overhead durch das Betriebssystem entsteht. Empfohlene Distributionen fuer FiveM-Server:
- Ubuntu Server 22.04 LTS: Stabil, gut dokumentiert, grosse Community.
- Debian 12: Noch schlanker als Ubuntu, ideal fuer erfahrene Administratoren.
Netzwerk-Tuning unter Linux
# TCP-Optimierung in /etc/sysctl.conf
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_congestion_control = bbr
net.core.default_qdisc = fq
# Aenderungen anwenden
sudo sysctl -p
Haeufige Performance-Fehler vermeiden
Zum Abschluss eine Zusammenfassung der haeufigsten Fehler, die wir bei FiveM-Servern sehen:
-
Zu viele Resources: Weniger ist mehr. Jede Resource kostet Performance. Pruefe regelmaessig, ob du alle installierten Resources wirklich brauchst.
-
Veraltete Scripts: Alte Scripts, die seit Jahren nicht aktualisiert wurden, sind oft schlecht optimiert. Suche nach modernen Alternativen.
-
Kein Caching: Daten, die sich selten aendern (z.B. Spieler-Einstellungen), sollten gecacht werden, anstatt bei jedem Zugriff aus der Datenbank geladen zu werden.
-
Uebermaessiges Logging: Debug-Logs und Print-Statements in der Produktion verlangsamen den Server. Deaktiviere sie.
-
Fehlende Indizes: Datenbankabfragen ohne passende Indizes werden mit steigender Datenmenge immer langsamer.
-
Zu viele gestreamte Assets: Hunderte von Custom-Fahrzeugen und Kleidungsstuecken belasten sowohl Server als auch Clients.
-
Falsche OneSync-Konfiguration: OneSync ohne Entity-Culling ist schlimmer als kein OneSync.
Fazit und naechste Schritte
FiveM-Server-Optimierung ist ein Marathon, kein Sprint. Beginne mit den Grundlagen — der server.cfg und dem Resource Monitor — und arbeite dich dann zu fortgeschrittenen Themen wie Datenbank-Tuning und Netzwerk-Optimierung vor. Miss die Ergebnisse nach jeder Aenderung, um sicherzustellen, dass deine Optimierungen tatsaechlich einen positiven Effekt haben.
Wenn du noch auf der Suche nach dem richtigen Server bist oder deinen eigenen Server listen moechtest, schau auf TopRP.de Serverliste vorbei. Dort findest du die besten deutschsprachigen FiveM-Server, die bereits optimiert und spielbereit sind. Fuer passende Scripts und Erweiterungen wirf einen Blick in unseren Script-Bereich.
Die Performance deines Servers ist das Fundament fuer eine erfolgreiche Community. Investiere die Zeit in Optimierung, und deine Spieler werden es dir danken.
Das TopRP Team schreibt Guides, Tutorials und News rund um FiveM und Roleplay Server.