Sichern Sie sich heute 20%. Verwenden Sie beim Bezahlvorgang den Code WELCOME. WILLKOMMEN

FiveM-Serveroptimierung: Das definitive Playbook für 2025

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

  1. Zuerst ein Backup. Erstellen Sie eine Offsite-Kopie Ihrer gesamten Serverdaten Ordner und Datenbank. (So erstellen Sie ein Backup)
  2. 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
  3. Aufzeichnen:
    • Tick-Zeit (MS)
    • Durchschnittliche Resmon-Nutzung pro Ressource
    • Join-to-Spawn-Zeit (Stoppuhr)

Warum? Optimierung ohne Basiswert ist reine Spekulation. Speichern Sie diese Werte, damit Sie Änderungen, die die Situation verschlimmern, rückgängig machen können.


Verwenden von resmon Wie ein Profi (ausführliche Anleitung)

Screenshot der FiveM Resmon-Konsole
BefehlWas es bewirktTypisches Ziel
Antwort 1Startet den Live-Ressourcenmonitor.Entwicklungsserver.
resmon_logGibt 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

# Networking
onesync on              # mandatory for >32 slots
sv_maxclients 64        # raise ONLY if tick time < 6 ms after optimisation
sv_maxrate 65000        # bytes/s per client (≈ 520 kbps)
sv_minrate 25000
sv_packetLoss 0.05      # disconnect if 5 % loss sustained
# Performance
set sv_enhancedDriver true   # newer FXServer builds only
sets gamename "gta5"          # avoid legacy fallbacks

Unsicherheitshinweis: sv_enhancedDriver ist experimentell in Artefakten < 6368; überprüfen Sie das Änderungsprotokoll.

2.2 Betriebssystem und Host

  • Ubuntu 22.04 LTS oder Windows Server 2022
  • Deaktivieren Sie C‑States (BIOS) und setzen Sie Leistung Gouverneur
  • Binden FXServer zu Hochleistungskernen:Aufgabensatz -c 2-7 fxserver +exec server.cfg

3 · Optimierung auf Ressourcenebene

3.1 Refaktorieren teurer Schleifen

-- ⚠️ Anti-Muster (läuft in jedem Frame) Citizen.CreateThread(function() while true do -- NO wait local p = PlayerPedId() SetPedInfiniteAmmoClip(p, true) end end) -- ✅ Gut: Cache + Verzögerung local p = PlayerPedId() Citizen.CreateThread(function() while true do SetPedInfiniteAmmoClip(p, true) Wait(1000) -- 1 Sek. end end)

3.2 Nutzen Sie die FiveM Script Optimizer (KI) → probier es aus

Fügen Sie Ihr Lua-Skript ein – das Modell kennzeichnet enge Endlosschleifen und redundante native Komponenten und bietet Auto-Patch-Vorschläge. Überprüfen Sie die Diff-Ausgabe vor der Bereitstellung immer zeilenweise.

3.3 Deaktivieren nicht verwendeter Ressourcen

sicherstellen nur das, was Sie wirklich brauchen. Kommentieren Sie ältere Skripte aus:

# sicher old_vehshop

3.4 Dynamisches LOD / Streaming-Budget

Verwenden Sie die 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

AnlagentypHarte GrenzeWerkzeugbau
.Jahresverlauf Textur≤ 16 MiBTexture Toolkit, GIMP DDS-Export
Prop-Polycount≤ 50 kBlender dezimieren + automatische LODs
.awc Audio-48000 Hz MonoAudacity-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; vermeiden Sie synchrone MySQL.Sync.fetchAll innerhalb von Zecken.
  • Fügen Sie Indizes für häufig abgefragte Spalten hinzu in WÄHLEN SIE ... WO ... Klauseln.
  • Zwischenspeichern Sie unveränderliche Daten (z. B. Fahrzeugnamen) in Lua-Tabellen, nicht DB-Treffer.

6 · Kontinuierliche Überwachung und Regressionsschutz

  1. Automatisiert jede Nacht resmon_log 120 – CSV an Grafana weiterleiten.
  2. Git Pre-Commit-Hook Aufrufen des AI Script Optimizer.
  3. 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 Sie Analysen benötigen.

Stellen Sie sicher, dass alle Analyseskripte von Drittanbietern SameSite=Lax und beim Abmelden löschen.


9 · Checkliste (für Ihr Admin-Team)

Was also tun? Hier kurz zusammengefasst:

#AufgabeKonkrete Aktion / BefehlKriterien für das Bestehen
Vor dem Flug
1Schnappschuss und Tagtar -czf backup_$(Datum +%F).tgz ~/fivem/Serverdaten && mysqldump -u root -p --single-transaction fivem > db.sql
Tag Git: Git-Tag prod-$(Datum +%F)
Offsite-Speicherung der Archive & Git CI grün
2ArtefaktparitätDokumentieren Sie den im Staging getesteten FXServer-Build (z. B. b6362).Dieselbe Buildnummer ist in der Produktion bereit
3WartungsfensterSpieler informieren, festlegen sv_login_token "" oder aktivieren Sie txAdmin WartungsmodusKeine Neuzugänge; aktuelle Spieler gewarnt
Einsetzen
4Dienste sauber beendentxadmin stoppen oder Strg-C in der Konsole; warten Sie „Karte wird gespeichert …“Keine verwaisten FXServer-Prozesse
5Binärdateien aktualisierenErsetzen FXServer und alpin aus validiertem Artefakt-Zip./FXServer +Version festlegen zeigt Neubau
6Optimierte Anwendung server.cfgÜberprüfte Datei kopieren; ausführen +exec server.cfg +set comlint 1Keine „unbekannten Cvar“-Fehler
7Ressourcen kürzenVerschieben Sie nicht verwendete Skripte nach Ressourcen deaktiviert/; bestätigen mit sicherstellen Listeresmon zeigt entfernte Einträge
8Cache leeren und neu erstellenrm -rf cache/* Dann save_gta_cache meine Karte wenn große KartenCache-Ordner neu aufgefüllt
9DB-MigrationLaufen ÄNDERN/INDEX ERSTELLEN Skripte; Test mit ERKLÄRENKeine vollständigen Tabellenscans im Abfrageplan
10Beginnen Sie mit der Bindung an P-Kernetaskset -c 2-7 ./FXServer +exec server.cfgServer bootet; CPU-Affinität korrekt
Überprüfung (10 Min.)
11Live-MetrikenAntwort 1 in der KonsoleKeine Ressource > 1 ms lang andauernder Leerlauf
12Automatisierte Proberesmon_log 600 → CSVDurchschnittlicher Tick ≤ 6 ms; 99-tel ≤ 8 ms
13Join-LatenzStoppuhr-Join-to-Spawn mit frischem CacheZeit ≤ Basislinie – 10 %
14Funktionaler RauchtestTeleportieren, Artikel kaufen, Fahrzeug fahren, Garage speichernDie wichtigsten Gameplay-Pfade sind erfolgreich
Wachen nach dem Einsatz
15Grafana-FeedCron: `resmon_log 120curl -XPOST …/influx`
16CI-RegressionshakenPre-Commit führt AI Script Optimizer diff; Blöcke > +0,20 ms neue KostenHakenausfahrten 0 nur bei Grün
17Protokollrotation und HashingCron: 24 Stunden find logs/ -mtime +1 -exec shasum -a 256 {} ; -exec rm {}IPs werden ≤ 24 Stunden gespeichert (DSGVO Erwägungsgrund 39) gdpr-info.eu
18Backup-ÜberprüfungLetzten Snapshot auf Staging wiederherstellen; Testserver bootenSnapshot bootet; Daten intakt
19VersionshinweiseÄnderungsprotokoll und Verfügbarkeitsfenster in Discord posten; archivieren in /docs/releases.mdAnerkennung der Stakeholder
20Rollback-Plan bereitgit checkout prod- und kopieren Sie das vorherige SicherungsmanifestRollback im Staging getestet

Bevor Sie live gehen, frieren Sie Binärdateien und Konfiguration ein, erstellen Sie ein sauberes Backup, stellen Sie mit CPU-Affinität bereit, führen Sie es erneut aus resmon bis jede Ressource < 1 ms sitzt, und bewahren Sie IP-Protokolle nicht länger als 24 Stunden auf, um die Speicherbeschränkung der DSGVO einzuhalten.


Abschluss

Erstellen Sie eine numerische Basislinie, refaktorieren Sie umfangreiche Skripte mit resmon und der KI-Optimierer, schlanke Assets, Tune server.cfgund iterieren Sie, bis die Tick-Zeit bei Spitzenlast unter 6 ms bleibt.


Quellen

Lukas
Lukas

Ich bin Luke, ein Gamer und schreibe gerne über FiveM, GTA und Rollenspiele. Ich betreibe eine Rollenspiel-Community und habe etwa 10 Jahre Erfahrung in der Verwaltung von Servern.

Artikel570

Schreibe einen Kommentar