Zum Hauptinhalt springen
Startseite
Shop
Kostenlose Mods
Werkzeuge
Bundles
Full Servers
  1. Startseite
  2. Blog
  3. Tutorials & Anleitungen

So reduzierst du die NPC-Dichte in FiveM: Vollständiger Guide

Veröffentlicht am 12. März 2024·von Lars Miller(Founder & Lead Editor)·Credentials·5 Min. Lesezeit
Tutorials & AnleitungenNPC Dichte FiveM reduzieren Performance

0.2 Dichte

Sicherer RP-Startwert

Guter Ausgangspunkt für aktive RP-Server mit weniger Desync und noch etwas Straßenleben.

0.0-0.1 Dichte

Fallback bei hoher Spielerzahl

Sinnvoll, wenn die Spieler die Welt bereits selbst bevölkern und KI nur noch stört.

Jeder Frame

Aktualisierungstakt

Die Native-Calls müssen pro Frame gesetzt werden, sonst füllt GTA V die Welt sofort wieder auf.

Lerne, wie du die FiveM-Server-Performance optimierst, indem du die NPC- und Verkehrsdichte mit nativen Lua-Skripten reduzierst oder vollständig deaktivierst.

So reduzierst du die NPC-Dichte in FiveM: Vollständiger Guide
So reduzierst du die NPC-Dichte in FiveM: Vollständiger Guide

Grand Theft Auto V wurde als Einzelspieler-Spiel konzipiert, bevölkert von Tausenden KI-gesteuerten Fußgängern und Fahrzeugen. Während dies im Story-Modus eine lebhafte, lebendige Welt schafft, kann es in einer Multiplayer-FiveM-Umgebung zu schwerwiegenden Performance- und Synchronisationsproblemen führen.

Ob du einen Roleplay-Server mit 100+ Spielern oder einen Hochgeschwindigkeits-Rennserver betreibst, zu lernen, wie man die NPC-Dichte reduziert oder vollständig eliminiert, ist ein entscheidender Schritt bei der Optimierung deiner FiveM-Server-Performance.

Warum solltest du die NPC-Dichte reduzieren?

NPC Dichte in FiveM für bessere Performance reduzieren

Bevor du in den Code eintauchst, solltest du verstehen, warum fast jeder große Server die Standard-KI-Dichte verändert.

Server- und Client-Performance

Jeder NPC (Non-Player Character) benötigt CPU-Leistung für die Berechnung von Wegfindung, KI-Verhalten und Physik. Wenn du das mit 50+ Spielern multiplizierst, die über Los Santos verteilt sind, kämpfen Server und Spieler-Clients darum, Schritt zu halten. Die Reduzierung der NPC-Dichte ist einer der schnellsten Wege, um FPS in FiveM zu steigern.

Desync und "Geisterwagen"

Wenn du jemals mit 150 km/h auf der Autobahn gefahren bist und gegen ein unsichtbares Auto geprallt bist, hast du Desync erlebt. Hohe NPC-Fahrzeugdichte überwältigt den Netzwerkzustand, was bedeutet, dass Spieler A ein Auto sieht, das Spieler B nicht sieht. Weniger KI bedeutet weniger zu synchronisierende Daten.

Roleplay-Immersion

In ernsthaften RP-Umgebungen, die von FiveM-Frameworks betrieben werden, verlassen sich Spieler darauf, die Welt zu bevölkern. Wenn zufällige KI in aktive Geiselverhandlungen läuft oder KI-Autos in angehaltene Fahrzeuge rammen, bricht das die Immersion sofort.

Die Lösung: Lua-Native-Funktionen

Um die NPC-Dichte zu kontrollieren, verwenden wir spezifische native Funktionen von Cfx.re. Da diese Funktionen jeden einzelnen Spielframe ausgeführt werden müssen, um die Basis-Engine des Spiels zu überschreiben, werden sie in einer clientseitigen Citizen.CreateThread-Schleife platziert.

Die wichtigsten Dichte-Funktionen

Es gibt fünf primäre Natives, die du kennen musst:

  1. SetVehicleDensityMultiplierThisFrame(multiplier) - Steuert den fahrenden Verkehr.
  2. SetPedDensityMultiplierThisFrame(multiplier) - Steuert laufende Fußgänger.
  3. SetRandomVehicleDensityMultiplierThisFrame(multiplier) - Steuert geparkte/zufällige Autos.
  4. SetParkedVehicleDensityMultiplierThisFrame(multiplier) - Steuert statisch geparkte Autos auf Parkplätzen.
  5. SetScenarioPedDensityMultiplierThisFrame(multiplier, multiplier) - Steuert NPCs bei Aktivitäten (Rauchen, Kaffeetrinken, Sitzen).

Der multiplier ist ein Float-Wert zwischen 0.0 (vollständig deaktiviert) und 1.0 (Standard-GTA-V-Dichte).

So erstellst du das Dichte-Kontroll-Skript

Wir erstellen eine leichtgewichtige, eigenständige Ressource, um dies zu handhaben, damit es nicht mit deinen anderen Skripten interferiert.

Schritt 1: Die Ordnerstruktur erstellen

  1. Navigiere zum resources-Ordner deines Servers.
  2. Erstelle einen neuen Ordner namens traffic_control.
  3. Erstelle innerhalb von traffic_control zwei Dateien: fxmanifest.lua und client.lua.

Schritt 2: Die fxmanifest.lua konfigurieren

Öffne fxmanifest.lua und definiere die Ressource. Dies weist FiveM an, dein Client-Skript zu laden.

fx_version 'cerulean'
game 'gta5'

author 'FiveMX'
description 'Steuert NPC- und Verkehrsdichte'
version '1.0.0'

client_script 'client.lua'

Schritt 3: Das Client-Skript schreiben (client.lua)

Öffne client.lua und füge folgenden Code ein. Dieses Beispiel reduziert den gesamten Verkehr und alle Fußgänger auf 20% ihres normalen Volumens, was der "Sweet Spot" für aktive RP-Server ist.

-- Gewünschten Dichte-Multiplikator setzen (0.0 bis 1.0)
local densityMultiplier = 0.2

Citizen.CreateThread(function()
    while true do
        Citizen.Wait(0) -- Muss jeden Frame ausgeführt werden

        -- Multiplikatoren anwenden
        SetVehicleDensityMultiplierThisFrame(densityMultiplier)
        SetPedDensityMultiplierThisFrame(densityMultiplier)
        SetRandomVehicleDensityMultiplierThisFrame(densityMultiplier)
        SetParkedVehicleDensityMultiplierThisFrame(densityMultiplier)
        SetScenarioPedDensityMultiplierThisFrame(densityMultiplier, densityMultiplier)

        -- Optional: KI-Notfalldienste deaktivieren
        -- Dies verhindert, dass KI-Cops/Sanitäter auf Spielerverbrechen reagieren
        local playerPed = GetPlayerPed(-1)
        local pos = GetEntityCoords(playerPed)
        ClearAreaOfCops(pos.x, pos.y, pos.z, 400.0)
    end
end)

Vollständige Auslöschung (Null NPCs)

Wenn du einen Drift-Server oder eine reine PvP-Arena betreibst, möchtest du wahrscheinlich null KI. Ändere einfach local densityMultiplier = 0.2 auf 0.0.

Du möchtest möglicherweise auch eine Garbage-Bereinigung hinzufügen, um defekte KI-Fahrzeuge zu entfernen:

-- Innerhalb der while-Schleife hinzufügen, wenn multiplier 0.0 ist
SetGarbageTrucks(false)
SetRandomBoats(false)

Fortgeschrittener Tipp: Dynamische Dichte

Das Ausführen eines Zero-Wait-Threads (Citizen.Wait(0)) ist Standard für diese Frame-basierten Natives, aber wenn du noch weiter optimieren möchtest, kannst du die Dichte basierend auf der aktuellen Spieleranzahl anpassen.

Viele fortgeschrittene Server verwenden serverseitige Callbacks, um zu prüfen, wie viele Spieler online sind:

  • 0–30 Spieler: 0.8 Dichte (Stadt lebendig fühlen lassen, wenn es ruhig ist).
  • 30–80 Spieler: 0.4 Dichte (Performance ausbalancieren).
  • 80+ Spieler: 0.0 Dichte (Spieler bevölkern die Stadt vollständig, maximale Performance).

Empfohlene Dichte-Presets nach Server-Typ

Der größte Fehler ist, jede Server-Art gleich zu behandeln. Ein ernsthafter City-RP-Server mit 90 aktiven Spielern braucht ein anderes Profil als ein Public-Freeroam- oder Drift-Server.

Server-TypFahrzeugdichtePed-DichteSzenario-PedsWarum
Ernsthaftes RP / City-Economy0.1-0.20.1-0.20.0-0.1Weniger Ghost Cars, weniger zufällige KI-Störungen, trotzdem genug Atmosphäre.
Public RP / gemischter Server0.2-0.40.2-0.40.1-0.2Die Stadt wirkt nicht leer, wenn weniger Spieler online sind.
Drift / Racing0.0-0.10.00.0Maximale Streckenfreiheit und deutlich weniger Kollisionen mit KI.
PvP / Arena / Event-Server0.00.00.0Jede unnötige KI-Last wird entfernt.
Development / Testing0.3-0.50.3-0.50.2Praktisch, wenn du noch Maps, Pfade oder Abläufe testen willst.

Wenn du unsicher bist, beginne mit 0.2 und miss dann Resmon, Spielgefühl und Desync unter realer Last.

Beispiel: Dynamische Dichte anhand der Spielerzahl

Mit diesem Muster bleibt die Stadt in ruhigen Phasen lebendig, skaliert aber sauber herunter, sobald viel los ist:

local function getDensityForPlayerCount(playerCount)
    if playerCount >= 80 then
        return 0.0
    end

    if playerCount >= 40 then
        return 0.2
    end

    return 0.5
end

Citizen.CreateThread(function()
    while true do
        Citizen.Wait(5000)
        LocalPlayer.state.trafficDensity = getDensityForPlayerCount(#GetActivePlayers())
    end
end)

Citizen.CreateThread(function()
    while true do
        Citizen.Wait(0)
        local densityMultiplier = LocalPlayer.state.trafficDensity or 0.2
        SetVehicleDensityMultiplierThisFrame(densityMultiplier)
        SetPedDensityMultiplierThisFrame(densityMultiplier)
        SetRandomVehicleDensityMultiplierThisFrame(densityMultiplier)
        SetParkedVehicleDensityMultiplierThisFrame(densityMultiplier)
        SetScenarioPedDensityMultiplierThisFrame(densityMultiplier, densityMultiplier)
    end
end)

Die exakten Schwellenwerte sind zweitrangig. Entscheidend ist das Prinzip: Je mehr echte Spieler deine Welt füllen, desto weniger sollte ambient KI im Weg stehen.

Typische Probleme und schnelle Fixes

Wenn sich die Dichte-Änderung instabil anfühlt, liegt die Ursache meist bei Ressourcenkonflikten:

  • Verkehr kommt nach ein paar Sekunden zurück: Ein anderes Skript setzt dieselben Native-Funktionen erneut. Suche im Ressourcen-Ordner nach SetVehicleDensityMultiplierThisFrame.
  • Nur ein Teil der KI verschwindet: Oft werden Scenario-Peds oder Parkfahrzeuge vergessen. Reduziere zuerst alle fünf Dichte-Gruppen gemeinsam.
  • Polizei spawnt trotzdem: Notfalldienste sind ein separater Bereich. Hier helfen ClearAreaOfCops oder angepasste Wanted-Level-Mechaniken.
  • Die Stadt wirkt zu leer: Erhöhe zuerst geparkte Fahrzeuge und Fußgänger leicht, bevor du den fahrenden Verkehr wieder hochsetzt.

Integration mit anderen Ressourcen

Stelle sicher, dass dein neues traffic_control-Skript zu deiner server.cfg hinzugefügt wird:

ensure traffic_control

Wenn du robuste Frameworks wie QBCore oder ESX verwendest, stelle sicher, dass dieses Skript nach dem Framework startet, um zu verhindern, dass Basis-Ressourcen deine nativen Aufrufe überschreiben.

Checkliste vor dem Live-Gang

Bevor du die Änderung produktiv ausrollst, prüfe vier Dinge:

  1. Resmon bleibt stabil, wenn das Skript mehrere Minuten in einem belebten Gebiet läuft.
  2. Zwei Spieler im selben Bezirk sehen denselben Straßenstatus statt unterschiedlicher Ghost Vehicles.
  3. Wichtige Job- oder Missionsskripte funktionieren weiterhin sauber.
  4. Die Stadt fühlt sich bei geringer Spielerzahl nicht tot an.

Das ist der eigentliche Zielwert: nicht "immer null NPCs", sondern "genug Atmosphäre ohne verschwendetes Sync-Budget".

Fazit

Die Reduzierung der NPC-Dichte ist die einfachste, effektivste Modifikation, die du vornehmen kannst, um die Server-Stabilität und die Trefferregistrierung zu verbessern. Ob du sie zur Verbesserung der Performance reduzierst oder für wettbewerbsfähiges Gameplay vollständig abschaltest, ein paar Zeilen Lua-Code werden das Spielerlebnis drastisch verbessern.

Möchtest du weiter optimieren? Schau dir unsere Guides zur ordentlichen Datenmigration von MySQL Async zu OxMySQL an oder erkunde hochperformante FiveM-Skripte, die mit Optimierung im Sinn entwickelt wurden.

Frequently Asked Questions

Mit welchem Dichtewert sollte ich auf einem RP-Server starten?

Für die meisten RP-Server ist 0.2 der beste Startwert. Damit entfernst du den Großteil unnötiger KI, ohne die Stadt komplett leer wirken zu lassen.

Kann das Reduzieren der NPC-Dichte ESX- oder QBCore-Ressourcen kaputt machen?

Nein, die Dichte-Anpassung allein bricht keine Framework-Ressourcen. Probleme entstehen meist nur dann, wenn ein anderes Skript dieselben Native-Funktionen mit abweichenden Werten überschreibt.

Vorheriger Artikel

Beste FiveM Einstellungen für mehr FPS

Nächster Artikel

So installierst du ReShade in FiveM: Ultimativer Grafik-Guide 2026

Mehr zu diesem Thema

Wie man FiveM schnell aktualisiert (Stable vs. Canary Guide)FiveM: Sichtfeld (FOV) ändern – Vollständiger GuideSo installierst du ReShade in FiveM: Ultimativer Grafik-Guide 2026Die Geschichte von FiveM: Vom Mod-Projekt zur offiziellen PlattformSo migrierst du ESX → QBCore richtig

Framework-Recherche in einen startklaren Script-Stack verwandeln

Nutze diesen Guide, um die Framework-Entscheidung einzugrenzen, und wechsle dann in die zentralen Angebotsseiten für verifizierte Scripts, kuratierte Bundles und einen schnelleren Server-Launch.

Framework hub

Browse QBCore-ready scripts

Move into the QBCore landing page to compare verified scripts, framework fit, and install-ready products built for modern FiveM servers.

Open QBCore hub

Framework hub

Review the ESX script path

Use the ESX landing page to compare framework-specific resources, launch guidance, and premium products that fit ESX-first servers.

Open ESX hub

Premium catalog

Browse premium FiveM scripts

Move from research into the main shop to compare real products, framework labels, screenshots, and production-ready quality signals.

Open premium shop

Launch faster

Compare curated bundles

Bundles shorten the path from planning to launch by grouping the highest-leverage scripts into a cleaner commercial starting point.

View bundles

Disclosure: Some links below are affiliate links to FiveMX products. We may earn a commission at no extra cost to you.

Ähnliche Artikel

Wie man ein FiveM-Skript per Vibe-Coding entwickelt

Wie man ein FiveM-Skript per Vibe-Coding entwickelt

Willkommen in der Zukunft der FiveM-Entwicklung. Lerne, wie du mit KI-Unterstützung als technischer Direktor arbeitest und hochwertige, sichere Skripte erstellst.

January 9, 2026
Wie man FiveM-Skripte bewertet, testet und wartet

Wie man FiveM-Skripte bewertet, testet und wartet

Lerne mit unserem praktischen Guide, wie du FiveM-Skripte bewertest, testest und wartest. Inklusive Vendor-Rubrik, Docker Test-City und Risiko-Scoring-Modell. Vollständiges Tutorial für 2026.

August 17, 2025
Wie man benutzerdefinierte Kleidung in FiveM streamt

Wie man benutzerdefinierte Kleidung in FiveM streamt

Entfessle das Herzstück deiner FiveM-Community mit unserem ultimativen Kleidungsguide – lerne, wie du lebendige Outfits streamst, Spieler begeisterst und sogar eigene Looks kreierst.

August 18, 2025
Sicherer CheckoutSofortiger ZugangGeld-zurück-GarantieLebenslange Updates
FiveMX

Premium-FiveM-Scripts und -Mods für ernsthafte Server-Betreiber.

Shop

  • Shop
  • QBCore Scripts
  • ESX Scripts
  • FiveM Scripts
  • Gratis-Mods
  • Beste Scripts & Mods

Hilfe

  • Über uns
  • FAQ
  • Support
  • Kontakt
  • Konto
  • Partnerprogramm

Rechtliches

  • Datenschutz
  • AGB
  • Rückerstattung
  • Cookie-Richtlinie
  • DSGVO
  • DMCA
  • Impressum
  • Redaktionsrichtlinie
© 2026 FiveMX. Alle Rechte vorbehalten.·support@fivemx.com

FiveMX ist nicht mit Rockstar Games, Take-Two Interactive oder CFX.re verbunden. Alle Marken sind Eigentum ihrer jeweiligen Inhaber.

Flash Sale — Bis zu 19% Rabatt!Flash Sale — 19% Rabatt!Jetzt shoppen