Publikum: Erfahrene Serverbesitzer und Systemadministratoren, die eine FiveM-Produktionsinstanz an ihre Grenzen bringen und gleichzeitig die Stabilität und DSGVO-konforme Datenverarbeitung aufrechterhalten möchten.
Ziel: Konkrete Reduzierung der Frame-Zeit, Verringerung der Join-Latenz und Freigabe von CPU-Zyklen ohne Beeinträchtigung des Gameplays.
Start – Messen vor dem Optimieren
- Zuerst ein Backup. Erstelle eine Kopie deiner gesamten Daten auf einem externen Speicherort
ServerdatenOrdner und Datenbank. (so geht’s mit dem Backup) - Referenzfahrt durchführen:
# In der Konsole resmon 1 # Live-Metriken – siehe Abschnitt 1 profilemode server sv_maxclients 32 # aktuelle Population für vergleichbare Zahlen abgleichen - Aufzeichnen:
- Tick-Zeit (MS)
- Durchschnittliche Resmon-Nutzung pro Ressource
- Join-to-Spawn-Zeit (Stoppuhr)
Warum? Optimierung ohne Basiswerte ist Ratespiel. Speichere diese Zahlen, damit du jede Änderung, die die Dinge verschlimmert, rückgängig machen kannst.
Verwenden von resmon Wie ein Profi (ausführliche Anleitung)

| Befehl | Was es bewirkt | Typisches Ziel |
|---|---|---|
Antwort 1 | Startet den Live-Ressourcenmonitor. | Entwicklungsserver. |
resmon_log | Gibt Durchschnittswerte in eine CSV-Datei aus. | Produktionsprobenahme. |
Faustregeln
- ≤ 0,40 ms Leerlaufnutzung → behalten.
- 0,40 – 1,00 ms → bald optimieren.
- > 1,00 ms → umgestalten oder deaktivieren.
Wenn CPU % Spitzen fallen zusammen mit ~33 FPS Server-FPS sinkt, der Engpass ist Ihr Skript, nicht die Host-Hardware.
Optimierungen auf Konfigurationsebene
2.1 server.cfg Grundausstattung
# Netzwerk onesync auf # zwingend erforderlich für >32 Slots sv_maxclients 64 # nur erhöhen, wenn Tick-Zeit nach Optimierung < 6 ms sv_maxrate 65000 # Bytes/s pro Client (≈ 520 kbit/s) sv_minrate 25000 sv_packetLoss 0.05 # trennen bei anhaltendem 5 % Paketverlust # Leistung set sv_enhancedDriver true # nur neuere FXServer-Builds sets gamename "gta5" # Legacy-Fallbacks vermeiden
Unsicherheitshinweis: sv_enhancedDriver ist experimentell in Artefakten < 6368; überprüfe das Changelog.
2.2 Betriebssystem und Host
- Ubuntu 22.04 LTS oder Windows Server 2022
- Deaktiviere C-Zustände (BIOS) und setze Leistung Gouverneur
- Binden FXServer zu Hochleistungskernen:
Aufgabensatz-c 2-7 fxserver +exec server.cfg
3 · Optimierung auf Ressourcenebene
3.1 Refaktorieren teurer Schleifen
-- ⚠️ Anti-Pattern (wird jeden Frame ausgeführt) Citizen.CreateThread(function() while true do -- KEIN Wait local p = PlayerPedId() SetPedInfiniteAmmoClip(p, true) end end) -- ✅ Gut: Caching + Verzögerung local p = PlayerPedId() Citizen.CreateThread(function() while true do SetPedInfiniteAmmoClip(p, true) Wait(1000) -- 1 Sekunde end end)
3.2 Nutze die FiveM Script Optimizer (KI) → probier es aus
Füge dein Lua-Skript ein – das Modell markiert enge unendliche Schleifen, redundante Natives und bietet Vorschläge für automatische Patches. Überprüfe immer die Diff-Ausgabe zeilenweise, bevor du sie bereitstellst.
3.3 Deaktivieren nicht verwendeter Ressourcen
sicherstellen nur das, was du tatsächlich brauchst. Kommentiere veraltete Skripte aus:
# sicher old_vehshop
3.4 Dynamisches LOD / Streaming-Budget
Verwende den r_drivepad cvar, um die Sichtweite für KI-Verkehr zu verringern, wenn FPS < 50 auf Clients ist.
Weitere Vermögensberatung in Abschnitt 4.
4 · Optimierung auf Asset-Ebene
| Anlagentyp | Harte Grenze | Werkzeugbau |
.Jahresverlauf Textur | ≤ 16 MiB | Texture Toolkit, GIMP DDS-Export |
| Prop-Polycount | ≤ 50 k | Blender dezimieren + automatische LODs |
.awc Audio- | 48000 Hz Mono | Audacity-Neuabtastung |
Gestreamte Daten befinden sich im RAM. Strom/ unter 1 GB oder es besteht die Gefahr, dass der Client aufgrund von unzureichendem Arbeitsspeicher abstürzt.
Weiterlesen → Ladezeiten optimieren.
5 · Datenbank und E/A
- Verwenden mysql‑async oder oxmysql; vermeide synchrone
MySQL.Sync.fetchAllinnerhalb von Zecken. - Füge Indizes zu Spalten hinzu, die häufig abgefragt werden in
WÄHLEN SIE ... WO ...Klauseln. - Cache unveränderliche Daten (z. B. Fahrzeugnamen) in Lua-Tabellen, nicht in DB-Abrufen.
6 · Kontinuierliche Überwachung und Regressionsschutz
- Automatisiert jede Nacht
resmon_log 120– CSV an Grafana weiterleiten. - Git Pre-Commit-Hook Aufrufen des AI Script Optimizer.
- Belastungstest jeder PR mit ≥ der doppelten aktuellen Slot-Anzahl.
Zusätzliche serverseitige Zeiger → Performance steigern: Skripte optimieren.
7 · Wenn die Hardware die Wand ist
- Ryzen 7 7800X3D > Intel i9‑14900K für Single‑Thread‑Latenz.
- 64 GB DDR5 6000 CL30 zur Minimierung von Seitenfehlern.
- NVMe Gen 4 SSD > 5000 MB/s für schnelles Karten-Streaming.
Gastgeber mit mindestens 1 Gbit/s hoch/runter; gemeinsam genutzte vCPU-Pläne deaktivieren.
8 · DSGVO und Datenschutz
Tun nicht IP-Adressen länger als betrieblich erforderlich protokollieren (Erwägungsgrund 39). Hash-Kennungen (SHA‑256) wenn du Analysen benötigst.
Stelle sicher, dass alle Drittanbieter-Analyseskripte SameSite=Lax und beim Abmelden löschen.
9 · Checkliste (für Ihr Admin-Team)
Was also tun? Hier kurz zusammengefasst:
| # | Aufgabe | Konkrete Aktion / Befehl | Kriterien für das Bestehen |
|---|---|---|---|
| Vor dem Flug | |||
| 1 | Schnappschuss und Tag | tar -czf backup_$(Datum +%F).tgz ~/fivem/Serverdaten && mysqldump -u root -p --single-transaction fivem > db.sqlTag Git: Git-Tag prod-$(Datum +%F) | Offsite-Speicherung der Archive & Git CI grün |
| 2 | Artefaktparität | Dokumentiere die FXServer-Build-Version, die im Staging getestet wurde (z. B. b6362) | Dieselbe Buildnummer ist in der Produktion bereit |
| 3 | Wartungsfenster | Spieler informieren, festlegen sv_login_token "" oder aktiviere txAdmin Wartungsmodus | Keine Neuzugänge; aktuelle Spieler gewarnt |
| Einsetzen | |||
| 4 | Dienste sauber beenden | txadmin stoppen oder Strg-C in der Konsole; warte auf “Speichere Karte…” | Keine verwaisten FXServer-Prozesse |
| 5 | Binärdateien aktualisieren | Ersetzen FXServer und alpin aus validiertem Artefakt-Zip | ./FXServer +Version festlegen zeigt Neubau |
| 6 | Optimierte Anwendung server.cfg | Überprüfte Datei kopieren; ausführen +exec server.cfg +set comlint 1 | Keine „unbekannten Cvar“-Fehler |
| 7 | Ressourcen kürzen | Verschiebe ungenutzte Skripte in Ressourcen deaktiviert/; bestätigen mit sicherstellen Liste | resmon zeigt entfernte Einträge |
| 8 | Cache leeren und neu erstellen | rm -rf cache/* Dann save_gta_cache meine Karte wenn große Karten | Cache-Ordner neu aufgefüllt |
| 9 | DB-Migration | Laufen ÄNDERN/INDEX ERSTELLEN Skripte; Test mit ERKLÄREN | Keine vollständigen Tabellenscans im Abfrageplan |
| 10 | Starte gebunden an P-Kernen | taskset -c 2-7 ./FXServer +exec server.cfg | Server bootet; CPU-Affinität korrekt |
| Überprüfung (10 Min.) | |||
| 11 | Live-Metriken | Antwort 1 in der Konsole | Keine Ressource > 1 ms lang andauernder Leerlauf |
| 12 | Automatisierte Probe | resmon_log 600 → CSV | Durchschnittlicher Tick ≤ 6 ms; 99-tel ≤ 8 ms |
| 13 | Join-Latenz | Stoppuhr-Join-to-Spawn mit frischem Cache | Zeit ≤ Basislinie – 10 % |
| 14 | Funktionaler Rauchtest | Teleportieren, Artikel kaufen, Fahrzeug fahren, Garage speichern | Die wichtigsten Gameplay-Pfade sind erfolgreich |
| Wachen nach dem Einsatz | |||
| 15 | Grafana-Feed | Cron: `resmon_log 120 | curl -XPOST …/influx` |
| 16 | CI-Regressionshaken | Pre-Commit führt AI Script Optimizer diff; Blöcke > +0,20 ms neue Kosten | Hakenausfahrten 0 nur bei Grün |
| 17 | Protokollrotation und Hashing | Cron: 24 Stunden find logs/ -mtime +1 -exec shasum -a 256 {} ; -exec rm {} | IPs werden ≤ 24 Stunden gespeichert (DSGVO Erwägungsgrund 39) gdpr-info.eu |
| 18 | Backup-Überprüfung | Letzten Snapshot auf Staging wiederherstellen; Testserver booten | Snapshot bootet; Daten intakt |
| 19 | Versionshinweise | Änderungsprotokoll und Verfügbarkeitsfenster in Discord posten; archivieren in /docs/releases.md | Anerkennung der Stakeholder |
| 20 | Rollback-Plan bereit | git checkout prod- und kopiere das vorherige Backup-Manifest | Rollback im Staging getestet |
Bevor du live gehst, friere Binärdateien und Konfiguration ein, erstelle ein sauberes Backup, deploye mit CPU-Affinität, führe erneut aus resmon bis jede Ressource unter 1 ms liegt, und behalte IP-Protokolle nicht länger als 24 h, um die GDPR-Speicherbegrenzung einzuhalten.
Abschluss
Lege eine numerische Basis fest, refaktoriere schwere Skripte mit resmon und der KI-Optimierer, schlanke Assets, Tune server.cfg, und wiederhole den Vorgang, bis die Tick-Zeit unter 6 ms bei Spitzenlast bleibt.
Quellen
- Wie du die Performance eines FiveM-Servers optimierst
- Ladezeiten optimieren
- Leistung steigern – Skripte optimieren
- FiveM Script Optimizer (KI-Tool)
- Wie du resmon verwendest
Nach der Stabilisierung der Leistung, auditieren du den gesamten Pfad von der Entdeckung bis zur Verbindung mit dem FiveM Server-Liste Leitfaden.