Zum Inhalt springen

10 % Shop-Rabatt, automatisch im Checkout20 % Shop-Rabatt, automatisch im Checkout

RPScripts

FiveM-MLOs optimieren: Lags, FPS-Einbrüche und Texturverlust beheben

Von Luke, RPScripts

Auf dieser Seite

Ein reines MLO führt keinen Skriptcode aus, seine Kosten entstehen beim Streaming und Rendering auf dem PC jedes Spielers. Entscheidend ist, wie viel Speicher seine Modelle und Texture Dictionaries brauchen, wie weit sie gestreamt werden und wie viele Interiors und Props ein Ort gleichzeitig lädt. Lies die Größenwarnungen, die FXServer beim Start der Map ausgibt, vergleiche dieselbe Route mit Map an und aus, und verkleinere oder ersetze dann das zu große Asset. Nutze die Checkliste am Ende, bevor du die nächste Map kaufst.

Diese Anleitung wurde am 7. November 2026 mit der Cfx.re-Dokumentation und dem FXServer-Quellcode abgeglichen. Sie beschreibt Vorgehensweisen und dokumentierte Grenzen. Sie ist kein Benchmark, und RPScripts hat dafür keine Bildraten gemessen.

Woher MLO-Lags kommen

  • Übergroße Assets. Ein Texture Dictionary (YTD) oder Modell (YDR, YFT) mit hohem Speicherbedarf konkurriert mit allem anderen, was das Spiel streamt. FXServer warnt beim Start der Ressource vor jedem Asset über 16 MiB; ab 48 MiB ergänzt die Warnung, dass übergroße Assets zu Streaming-Problemen führen können und werden, etwa zu Modellen, die nicht laden oder nicht gerendert werden.
  • Fehlende oder schwache LODs. Jede platzierte Entity hat eine LOD-Distanz. Ein Level-of-Detail-Modell mit größerer Distanz vertritt das detaillierte Modell auf Entfernung. Ohne ein solches Modell muss der Ersteller wählen: Das volle Modell erscheint spät, oder es wird schon aus größerer Entfernung gestreamt.
  • Zu viel an einem Ort. Mehrere Maps im selben Block, optionale Props, die eingeschaltet bleiben, oder ein Stadt-Rework über einzelnen Interiors werden alle gleichzeitig gestreamt.
  • Konflikte, die wie Lag aussehen. Zwei Maps, die dieselben Koordinaten ändern, können flackern, Kollision verlieren oder fehlende Wände zeigen. Das ist ein Platzierungskonflikt, kein Performance-Problem; der Leitfaden zur MLO-Kompatibilität beschreibt den Staging-Test dafür.

Schritt 1: Ausgangswerte mit Map aus und an festhalten

  1. Nutze einen Staging-Server mit demselben Artifact, Game Build und denselben Ressourcen wie die Produktion.
  2. Wähle eine Route: von außen nähern, durch den Eingang gehen, jede Etage durchqueren, wieder hinausgehen. Lass Wetter, Tageszeit und Client-Einstellungen unverändert.
  3. Geh die Route mit gestoppter Map und dann mit gestarteter Map ab. Notiere FPS, Objekte, die spät laden, und Texturen, die unscharf bleiben.
  4. Wiederhole das mit einem zweiten Client, der noch nie verbunden war, damit ein kalter Download und Cache Teil des Tests ist.

Tritt das Problem nur auf, wenn zusätzlich eine zweite Map läuft, behandle es zuerst als Platzierungskonflikt und führe den Kompatibilitätstest durch, bevor du ein Asset anfasst.

Schritt 2: Die Größenwarnungen von FXServer lesen

Startet eine Ressource mit gestreamten Dateien, prüft FXServer jede GTA-V-Ressourcendatei darin und gibt eine Zeile wie Asset mymap/mymap_txd.ytd uses 34.0 MiB of physical memory. aus. Die Größe ist der Speicher, den das Asset geladen braucht, gelesen aus dem Dateiheader, nicht die Downloadgröße. FXServer prüft physischen und virtuellen Speicher getrennt:

Speicher pro AssetKonsolenausgabe
16 MiB oder wenigerKeine Warnung
Über 16 MiBWarnung in Blau
Über 32 MiBWarnung in Gelb
Über 48 MiBZusatz: übergroße Assets können und werden zu Streaming-Problemen führen
Über 64 MiBWarnung in Rot

Kopiere jede Warnung zur Map in deine Notizen. Das sind die Dateien, die du zuerst behebst, und die Zahlen, nach denen du einen Ersteller vor dem Kauf fragst. Eine saubere Konsole beweist nicht, dass eine Map gut läuft; sie zeigt nur, dass keine einzelne Datei diese Schwellen überschreitet.

Schritt 3: Streaming-Speicher und Pools im Client prüfen

Drei Client-Werkzeuge zeigen, was die Map im Spiel kostet. strmem und resmon sind Entwicklerbefehle: Bei FiveM Legacy startest du den Client mit +set moo 31337, bei FiveM for GTAV Enhanced braucht der Server sv_devMode true. Nutze sie nur auf deinem eigenen Entwicklungsserver.

  • strmem true listet den Streaming-Speicher einzelner Assets auf und zeigt eine Gesamtübersicht. Stell dich in das MLO und suche seine Dateien weit oben in der Liste.
  • F8 > Tools > Streaming > Pool Monitor zeigt, wie voll die Pools des Spiels sind. Interiors, Gebäude, Texture Dictionaries und Occlusion-Daten nutzen jeweils einen eigenen Pool (zum Beispiel InteriorProxy, Building, TxdStore und die Occlusion-Pools).
  • resmon true öffnet den Ressourcenmonitor. Eine reine Map zeigt dort kaum CPU-Zeit, aber ihre Spalte Streaming zeigt, wie viel Streaming-Speicher die Ressource belegt. Vergleiche diese Spalte mit Map an und aus.

Antwortet die Konsole mit „Access denied“, erklärt die Übersicht der F8-Konsolenbefehle den Grund.

Die CPU-Spalten in resmon zählen für Skripte, die mit der Map kommen, etwa Türen, Aufzüge oder Prop-Schalter. Ein niedriger CPU-Wert heißt nicht, dass die Map wenig Renderleistung kostet, halte also die FPS-Notizen aus Schritt 1 daneben. Die Resmon-Anleitung zeigt, wie du eine Skriptaktion nach der anderen vergleichst.

Schritt 4: Übergroße Texturen und Modelle an der Quelle beheben

  1. Behalte das Originalpaket und die Quelldateien des Erstellers. Arbeite an einer Kopie.
  2. Öffne ein Texture Dictionary in einem YTD-Editor wie CodeWalker oder OpenIV, exportiere seine Texturen, verkleinere die, die größer sind als die Fläche braucht, und importiere sie mit denselben Namen zurück. Die Modelle verweisen auf die Texturnamen, also benenne nie eine Textur allein um.
  3. Starte die Ressource neu und lies die Konsole erneut. Die Warnung sollte verschwunden oder niedriger sein.
  4. Bei einem zu schweren Modell gehört die Korrektur in die 3D-Quelle: einfachere Geometrie, ein richtiges LOD-Modell oder eine Aufteilung in kleinere Teile. Das Cfx.re-Assets-Handbuch zeigt den HD- und LOD-Aufbau in CodeWalker, einschließlich LodDist und der Verknüpfung mit der übergeordneten YMAP.
  5. Geh die Ausgangsroute erneut ab und vergleiche mit deinen Notizen.

Für Maps mit vielen Kollisions- oder Map-Dateien dokumentiert Cfx.re den Entwicklerbefehl save_gta_cache. Er speichert Cache-Daten unter %AppData%\CitizenFX; kopiere diese Datei in den Stammordner der Ressource und trage sie unter files in fxmanifest.lua ein, damit Spieler sie laden und das erste Laden schneller geht.

Lösche keine Kollisions-, Occlusion- oder LOD-Dateien, um eine Warnung loszuwerden. Damit tauschst du eine Größenwarnung gegen fehlende Wände, unsichtbare Böden oder Interiors, die durcheinander hindurch gerendert werden.

Schritt 5: Abschalten, was du nicht nutzt

Viele Interiors bringen optionale Prop-Gruppen mit, sogenannte Entity Sets, etwa eine möblierte und eine leere Version eines Raums. Ein Skript schaltet sie mit ActivateInteriorEntitySet ein und übernimmt die Änderung mit RefreshInterior. Listet die Dokumentation der Map Entity Sets auf, aktiviere nur die, die dein Server nutzt, und prüfe, welche Ressource sie steuert.

Prüfe auch den Ort selbst. Ein Stadt-Rework und ein einzelnes MLO im selben Block werden beide dort gestreamt. Lass pro Ort nur eine Ressource zuständig sein und stoppe die ersetzte Map, auch jeden IPL-Loader, der das Vanilla-Interior noch aktiviert.

Schritt 6: Game Build, Edition und Pool-Größen

  • Game Build. sv_enforceGameBuild wählt den Build, den Clients nutzen, lässt sich nur beim Start setzen, und jeder Build enthält die Inhalte der Builds davor. Nennt ein Ersteller einen Mindest-Build, setze diesen oder einen neueren. FiveM for GTAV Enhanced unterstützt derzeit nur den neuesten Build.
  • Edition. Unter Enhanced kann eine Ressource einen Ordner stream_enhanced mitbringen, der stream ersetzt. Fehlt dieser Ordner, lädt Enhanced stream, das die Enhanced-Hinweise von Cfx.re als veraltet markieren. Frag den Ersteller, ob die Map unter Enhanced getestet wurde oder stream_enhanced-Dateien mitbringt, und teste sie auf Staging, bevor du dich darauf verlässt.
  • Pool-Größen. increase_pool_size vergrößert einen benannten Pool, nur beim Serverstart. Cfx.re veröffentlicht die erlaubten Pools und die maximale Erhöhung für jeden; Anfragen außerhalb davon haben keine Wirkung. Clients starten das Spiel neu, wenn sie einem Server mit anderen Pool-Einstellungen beitreten; bei gleichen Einstellungen nur bei der ersten Verbindung. Erhöhe einen Pool nur, wenn der Pool Monitor ihn nahe am Limit zeigt, und kopiere nicht einfach die Liste eines anderen Servers.

Wenn das Problem Texturverlust auf einem PC ist

Sieht nur ein Spieler unscharfe oder fehlende Texturen, und das auch auf anderen Servern, beginne bei diesem Client: Grafikeinstellungen, Mods und Cache. Die Anleitung zum Texturverlust trennt Client-Prüfungen von Server-Prüfungen. Verlieren alle Spieler an derselben Stelle Texturen, geh für die Maps dort zurück zu Schritt 2.

MLO-Checkliste vor dem Kauf

Dieselben Fragen gelten für kostenpflichtige MLOs und für kostenlose MLO-Releases; auch eine kostenlose Map kann dieselben übergroßen Dateien enthalten.

  1. Asset-Größen. Frag nach der FXServer-Konsolenausgabe beim Start der Map oder nach einer Dateiliste mit Größen. Jede Zeile über 48 MiB braucht eine Erklärung; Zeilen über 16 MiB sind eine Nachfrage wert.
  2. Details und LODs. Frag, ob Außenmodelle LOD-Modelle haben und wie weit sie gestreamt werden. „Optimiert“ ohne Details sagt nichts.
  3. Game Build und Edition. Prüfe den Mindest-Build und ob Enhanced-Dateien enthalten sind.
  4. Ort. Lass dir die Koordinaten geben, das Vanilla-Interior oder IPL, das ersetzt wird, und die Maps, mit denen bekannte Konflikte bestehen. Vergleiche das mit dem, was an dieser Stelle schon läuft.
  5. Abhängigkeiten. Prüfe nötige Loader, Tür- oder Aufzugsskripte und Entity Sets und welches Framework sie brauchen.
  6. Bearbeitbarkeit. Cfx.re Asset Escrow kann Modelldateien vom Typ YFT, YDD und YDR verschlüsseln. In einer Map mit Escrow kannst du diese Modelle und ihre Detailstufen nicht selbst überarbeiten, jede Korrektur wartet also auf den Ersteller. Escrow ist unter FiveM for GTAV Enhanced noch nicht umgesetzt.
  7. Vor der Produktion testen. Nutze den Showcase-Server des Erstellers, falls es einen gibt, und dann deinen eigenen Staging-Server mit der Ausgangsroute aus Schritt 1.
  8. Support und Updates. Achte auf einen Support-Kontakt, ein Änderungsprotokoll und eine schriftliche Rückerstattungsregel.

Besteht eine Map diese Fragen, folge den Schritten zum Installieren und Prüfen eines MLO auf Staging und geh die Ausgangsroute ab, bevor sie live geht.

Hinweis: RPScripts verkauft MLOs und Interiors. Ihre Downloads werden ohne Escrow-Verschlüsselung ausgeliefert.

Quellen

  • FiveM server.cfg konfigurieren und Änderungen überprüfen

    FiveM server.cfg konfigurieren und Änderungen überprüfen

    Bearbeite die server.cfg, die dein aktives FXServer- oder txAdmin-Profil tatsächlich lädt. Bewahre eine funktionierende Kopie auf, ändere nur die benötigte Einstellung und überprüfe den Start sowie eine echte Spieler-Verbindung. Das unten stehende Konfigurationstool kann dir beim Entwurf von Einstellungen helfen; überprüfe dessen Ausgabe anhand deiner installierten Ressourcen und der offiziellen Referenz.

  • FiveM Fehlercodes und Behebungen: Diagnoseleitfaden

    FiveM Fehlercodes und Behebungen: Diagnoseleitfaden

    Beginne nicht damit, jeden FiveM Ordner zu löschen. Notiere den genauen Fehler, entscheide, ob er einen Client, einen Server oder jeden Server betrifft, und ändere jeweils eine Variable. Dieselbe Formulierung kann unterschiedliche Ursachen haben, daher ordnet diese Seite Symptome Beweisen zu, anstatt eine universelle Lösung zu versprechen.

  • mysql-async-Ressourcen sicher auf oxmysql umstellen

    mysql-async-Ressourcen sicher auf oxmysql umstellen

    Stelle eine Ressource von mysql-async auf oxmysql um, indem du die Treiber-Einrichtung änderst und bei jeder Abfrage Parameter, Rückgabewert und Fehlerbehandlung prüfst. Ein Treiberwechsel erfordert kein neues Datenbankschema und garantiert auch kein schnelleres Gameplay.