# FiveM – FPS Drops & Server-Hitches beheben

Fivem Performance verbessern: weniger Lag, bessere Tickrate und Optimierungstipps von NexoraHost.

**Kurzantwort:** Server-Performance mit gezielten Config-Änderungen verbessern – RAM/CPU prüfen, Einstellungen anpassen und schwere Mods/Scripts entfernen.

Diese Anleitung hilft dir, FPS-Einbrüche und Server-Ruckler auf deinem FiveM-Server zu identifizieren und zu beheben. Hitch bedeutet, dass der Server für Millisekunden bis Sekunden "hängt" – alle Spieler frieren kurz ein, Fahrzeuge springen und das Spielgefühl leidet massiv.

**Hinweis:** Weitere Anleitungen zur Performance-Optimierung findest du in der linken Navigation.

## Ursachen erkennen: Server-Side vs. Client-Side

    
        Problem
        Server-Side
        Client-Side
    

    
        **Alle Spieler gleichzeitig betroffen?**
        Ja – alle frieren gleichzeitig ein
        Nein – nur einzelne Spieler
    

    
        **Hauptursache**
        CPU-Spikes, Script-Loops, Datenbank-Lags
        GPU-Überlastung, lokale Mods, Grafiksettings
    

    
        **Erkennung**
        Server-Konsole zeigt "server hitch" Warnungen
        Spieler berichten von Rucklern, andere nicht
    

## 1. Server-Hitches identifizieren

### Hitch-Warnungen in der Konsole

Wenn der Server hängt, zeigt die Konsole Warnungen wie:

`Warning: server hitch of 345 ms detected
Warning: server hitch of 1200 ms detected – this is severe!`
Alles über 100 ms ist spürbar. Alles über 500 ms ist kritisch und führt zu sichtbaren Rucklern bei allen Spielern.

### Hitch-Quelle mit txAdmin finden

    - Öffne txAdmin → **Diagnostics**
- Sieh dir den **Performance Graph** an – rote Spitzen sind Hitches
- Klicke auf eine Spitze um zu sehen, welches Script den Hitch verursacht hat
- txAdmin zeigt die genaue Ressource und die Dauer in ms

## 2. Die häufigsten Ursachen für Server-Hitches

### Datenbank-Abfragen während des Spiels

Der häufigste Grund für Hitches. Jedes Mal wenn ein Script eine SQL-Abfrage macht, kann der Server kurz hängen – besonders bei unoptimierten Queries:

    - **Problem:** SELECT * FROM players ohne LIMIT bei 1000+ Spielern
- **Problem:** INSERT/UPDATE in einer Schleife (z.B. jedes Item einzeln speichern)
- **Lösung:** Abfragen mit LIMIT versehen, Bulk-Inserts nutzen, oxmysql verwenden (asynchron)

### Schlechte Script-Praktiken

    - **Endlosschleifen:** while true do ohne Wait() – blockiert den gesamten Server
- **Zu viele Citizen.Wait(0):** Jede 0ms-Wartezeit erzwingt einen neuen Tick – mehrere davon pro Frame fressen CPU
- **Große Datenmengen in einem Tick:** 1000 Spieler-Daten auf einmal laden statt portionsweise

### Streaming-Assets

    - Zu viele YDR/YTD-Dateien (Models/Texturen) die gleichzeitig geladen werden
- Große MLOs (Interieurs) die beim Betreten den Server kurz blockieren
- Lösung: Assets mit `SetModelAsNoLongerNeeded()` entladen, Stream-Prioritäten setzen

## 3. FPS Drops clientseitig beheben

### Client-Konfiguration in txAdmin

In txAdmin unter **Settings → Game Settings** kannst du clientseitige Einstellungen erzwingen:

`# Schwere Grafikeinstellungen deaktivieren
setr game_enableFlyThroughWindscreen false
setr game_enableDynamicShadowCasting false
setr game_enableLongDistanceShadows false
setr game_enableHighQualityShadows false
setr game_enableVehicleHeadlightShadows false`

### Client-Streaming-Prioritäten

`# Streaming-Budget erhöhen (MB)
setr streaming_memory 256

# Stream-Tick-Rate anpassen
setr streamerTickMs 20`

## 4. Profiling-Tools nutzen

### txAdmin Performance Graph

Der beste Weg, Hitches zu finden:

    - Öffne txAdmin → **Diagnostics → Performance**
- Beobachte den Graphen über mehrere Minuten
- Jede rote Spitze zeigt einen Hitch mit der verursachenden Ressource
- Deaktiviere die verursachende Ressource testweise und prüfe ob die Hitches verschwinden

### OneSync-Profiler

`# In server.cfg
set onesync_enableProfiler true`
Der Profiler zeigt in der Konsole detaillierte Informationen zur Sync-Last pro Spieler und Ressource.

## 5. Konkrete Optimierungen

### Datenbank-Optimierung

`# In server.cfg – oxmysql mit Debug-Modus testen
set mysql_connection_string "mysql://user:pass@localhost/fivem?charset=utf8mb4"
set mysql_slow_query_warning 100  # Warnt bei Queries über 100ms`

### Script-Tick-Rate begrenzen

`# In server.cfg – globale Tick-Rate
set sv_networkTickRate 30   # Standard: 60, reduziert CPU-Last um ~30%

# In einzelnen Scripts – Loop-Geschwindigkeit reduzieren
Citizen.CreateThread(function()
    while true do
        Citizen.Wait(500)  -- Statt 0ms – 500ms reicht für die meisten Checks
        -- Script-Logik
    end
end)`

### Streaming für große MLOs

`-- In der fxmanifest.lua oder client.lua – Prioritäten setzen
SetStreamingPriority(GetHashKey('mein_mlo'), 0)  -- 0 = höchste Priorität`

## 6. Notfall-Maßnahmen bei akuten Hitches

    - **Alle nicht-essentiellen Scripts stoppen:** In der Konsole nacheinander Scripts stoppen und prüfen ob Hitches verschwinden
- **Spielerzahl temporär begrenzen:** `sv_maxclients 32` – weniger Spieler = weniger Sync-Last
- **OneSync-Culling aggressiver einstellen:** `onesync_distanceCull 300` (Standard: 424)
- **Server neustarten:** Manchmal hilft nur ein Neustart – besonders nach langer Laufzeit können Memory Leaks Hitches verursachen

## Häufige Probleme und Lösungen

**Hitches nur bei bestimmten Aktionen:**

    - Beim Betreten eines bestimmten Interieurs → MLO zu groß oder defekt
- Beim Öffnen des Inventars → Datenbank-Abfrage unoptimiert
- Wenn ein bestimmter Spieler joint → zu viele Daten werden auf einmal geladen

**Hitches zu bestimmten Uhrzeiten:**

    - Prüfe ob ein Cronjob oder Backup um diese Zeit läuft
- Autosave-Intervall prüfen – jeder Server-Save kann einen kurzen Hitch verursachen

**Hitches werden mit der Zeit schlimmer:**

    - Klassisches Zeichen für Memory Leaks – Server regelmäßig neustarten (alle 6-12 Stunden)
- Prüfe ob ein Script Daten in einer Schleife sammelt ohne sie freizugeben

## Schnell-Checkliste

    - txAdmin Performance Graph öffnen und Hitches identifizieren
- Verursachende Ressource finden (txAdmin zeigt sie direkt an)
- Datenbank-Abfragen der Ressource prüfen und optimieren
- Schleifen im Code auf Wait() prüfen – kein Wait(0) in Produktion
- Streaming-Assets auf Größe und Anzahl prüfen
- Client-seitige Grafikeinstellungen optimieren
- Server regelmäßig neustarten (alle 6-12 Stunden)

## Passende Anleitungen

    - [FiveM installieren](/de/gameserver/fivem/installation)
- [FiveM optimieren](/de/gameserver/fivem/optimize)
- [Crashes verhindern](/de/gameserver/fivem/protecting-your-server-from-crashes)
- [FPS Drops beheben](/de/gameserver/fivem/performance-optimierung/fixing-fps-drop)
- [FiveM Hub](/de/gameserver/fivem)

*Server bei NexoraHost: [nexorahost.com](https://nexorahost.com)*
