FS25 16x Map Fix – die Grundursache + ein Tool zur Behebung
Warum stürzen 16x (und größere) Karten im Landwirtschafts-Simulator 25 mit einem „allocReg“-Fehler ab?
oder bei „100 % Shader-Kompilierung“ stecken bleiben? Hier finden Sie die vollständige Diagnose sowie ein Tool
das ermöglicht das Laden und Synchronisieren im Mehrspielermodus auf normaler Hardware.
Wichtig:
Gefällt Ihnen das Tool?
Sie können die Entwicklung auf Ko-fi unterstützen – erwähnen Sie bitte „16x Map Fix“, damit ich weiß, woran ich als Nächstes arbeiten muss.
Diagnose auf einem dedizierten Server und einem Client mit 16 GB RAM, auf denen beide die gleiche 16x-Karte ausführen.
Das Tool reduzierte die „allocReg“-Fehler auf einer echten 16x-Karte von 878.987 auf 0, wodurch sie im Mehrspielermodus spielbar wurde.
Kurz gesagt (TL;DR),
Der „allocReg“-Absturz wird tatsächlich durch zwei verschiedene Probleme verursacht, die identisch aussehen:
Ursache Lösung
Speicherbedarf im Einzelspielermodus – eine 16x-Karte benötigt während der ersten Kompilierung der Dichtedaten (Dichtekarten) etwa 20–32 GB; 16 GB reichen nicht aus.
Eine große Auslagerungsdatei (48 GB+) + DX11 → die ursprüngliche, unveränderte Karte wird geladen. Mehrspieler
Eine Kachelregistrierung mit einer festen Kapazität im Dichtekarten-Synchronisierungsmodul reduziert die beschreibbare Dichteebene der Karte auf 8192 Pixel für 16384-Pixel-Dichtekarten – siehe Tool unten.
Beweis dafür, dass es sich im Mehrspielermodus nicht um ein RAM-Problem handelt: Ein dedizierter Server mit 262 GB RAM erzeugte immer noch die gleichen 3014 „allocReg“-Fehler. Mehr RAM oder eine größere Auslagerungsdatei helfen im Mehrspielermodus nicht – nur weniger Kacheln lösen das Problem.
Die Ursache im Detail.
Die überlaufenden Ebenen (Früchte, Erde, Unkraut, Infoebene) sind die beschreibbaren „Geländedetail“-Dichtekarten des Spiels – Sie pflügen, säen und ernten überall darin, auch außerhalb des sichtbaren Bereichs, und der Server überwacht die gesamte Karte. Beschreibbare Daten können keine „virtuelle Texturierung“ verwenden (bei der nur sichtbare, schreibgeschützte Kacheln gestreamt werden). Daher müssen diese Schichten vollständig im Speicher liegen und registriert sein. Ihr Ressourcenbedarf skaliert mit der Kartenfläche: 16x bedeutet 16-fache Anzahl der Kacheln. Im Einzelspielermodus lädt der Client seine eigenen vorkompilierten .gdm-Dateien; Der einzige Engpass ist der kurze Anstieg der Speichernutzung während der ersten Kompilierung, der durch eine ausreichend große Auslagerungsdatei bewältigt wird.
Im Mehrspielermodus überträgt der Server Dichtekarten an jeden beitretenden Client, der sie live über die Kachelregistrierung mit fester Größe (TiledBitmapOperationCompiler) neu kompiliert. Eine Dichte von 16384 Pixeln führt zu einem Überlauf – und damit zu Tausenden von „allocReg“-Operationen. Dies stellt eine harte Kapazitätsgrenze dar, die unabhängig vom RAM ist; Gerade deshalb scheitern selbst Server mit 262 GB RAM und die effektive Obergrenze von GIANTS für den Multiplayer-Modus liegt bei der vierfachen Standardgröße (4x): Eine 4x-Karte ist der größte Bereich, dessen beschreibbare Dichte sowohl in die Registry als auch in die Synchronisation pro Verbindung passt.
Das Werkzeug
tool/mapfix.py + tool/Optimize-Map.bat (Windows Drag & Drop). Es skaliert jede übergroße Dichte oder Informationsschicht (16384 Pixel, Zweierpotenz) einer Karte auf die motorsicheren 8192 Pixel – genau die Auflösung, mit der funktionierende 4x-Karten geliefert werden. Feld- und Ernteinformationen bleiben erhalten (Dekodierung → Resampling über „nächsten Nachbarn“ → Neukodierung; verifiziert als 99,9 % pixelidentisch, Ernteabdeckung unverändert). Höhenkarten und Geländegeometrie (dem.png, Raster mit 2ⁿ+1 Punkten) werden anhand ihrer Größe (keine Zweierpotenz) erkannt und nicht verändert.
Bewerbung
Ziehen Sie Ihre Karten-ZIP-Datei in den Ordner „Optimize-Map.bat“ (erfordert Python 3 – Pillow wird automatisch installiert).
Im selben Ordner wird eine Datei mit der Endung „_fixed.zip“ erstellt – Ihre Originaldatei bleibt unverändert.
Laden Sie die korrigierte Karte auf Ihren Server hoch, starten Sie ein neues Spiel (wichtig: alte Spielstände enthalten die alte Dichterevision) und nehmen Sie am Spiel teil.
Enthält „grleconvert“ (MIT-Lizenz) zum Konvertieren zwischen .gdm/.grle und PNG. Unterstützt 16x- und 32x-Karten; Die Ausgabe erfolgt immer im sicheren 8192-Pixel-Format.
Hinweis zum Mehrspielermodus (automatisches Speichern von GIANTS).
Selbst bei einer korrigierten Grafikkarte führt der GIANTS Dedicated Server eine blockierende automatische Speicherung durch („auto_save_interval“, Standard: 10 Minuten). Bei großen Grafikkarten blockiert dieser Speichervorgang den Hauptthread so lange, dass die Verbindung zum Client genau in diesem Moment abbrechen kann („Verbindung verloren“), während der Server selbst online bleibt. Erhöhen Sie den Wert für „auto_save_interval“ in „dedicatedServerConfig.xml“ (z. B. auf 30–60), um dieses Problem zu minimieren.
Zusätzlicher Mod: Auto VRAM Optimizer
Ein kleiner, eigenständiger Mod, der das Textur-Streaming-Limit im FS25 (standardmäßig etwa 4 GB) auf den tatsächlichen VRAM Ihrer Grafikkarte erhöht. Dies führt zu einem reibungsloseren Laden und weniger Pop-Ins bei allen Grafikkarten mit mehr als 4 GB VRAM – nicht nur bei 16x-Karten.