Log-Fehlerextraktor V1.2.0.0








Log-Fehlerextraktor V1.2.0.0
Hör auf, Tausende von Zeilen in der Protokolldatei durchzuscrollen, um herauszufinden, welche Mod dein Spiel kaputt gemacht hat.
Log Error Extractor erfasst alle Fehler und Warnungen Ihres Spiels und speichert sie in einem übersichtlichen Bericht – ausschließlich Fehler und Warnungen. Anschließend sortiert es alle Mods in Ihrem Ordner nach der Anzahl der verursachten Probleme, sodass der Übeltäter ganz oben in der Liste steht und nicht irgendwo in einem 6.000 Zeilen langen Protokoll versteckt ist.
Was es tut
Erstellt einen Bericht, der nur Fehler und Warnungen enthält und als log_errors.txt neben Ihrem normalen Protokoll gespeichert wird.
Ordnet Ihre Mods nach der Anzahl der eindeutigen Fehler von den schlechtesten zu den besten, wobei die schwerwiegendsten Fehler mit Markierungen versehen werden.
Wiederholte Meldungen werden ausgeblendet – wenn ein Moderator dieselbe Warnung 500 Mal ausgibt, wird sie nur einmal mit einer Anzahl angezeigt, nicht in 500 Zeilen.
Der Bericht ist Modul für Modul aufgeschlüsselt, sodass Sie genau sehen können, welche Fehler jedes einzelne Modul verursacht.
Für alle, die Konsolenbefehle bevorzugen, stehen diese zur Verfügung: dumpLogErrors, topLogErrors, countLogErrors, clearLogErrors
Erste Schritte
Weisen Sie unter Optionen → Steuerung → Fehlerprotokoll-Extraktor eine Taste zu, laden Sie Ihren Spielstand und drücken Sie die Taste. Das Menü öffnet sich überall – zu Fuß oder im Fahrzeug, das spielt keine Rolle. Wählen Sie die gewünschten Optionen mit den Pfeiltasten aus und bestätigen Sie mit OK.
Bericht in Datei speichern — schreibt den vollständigen Bericht in die Datei log_errors.txt in Ihrem Farming Simulator 2025-Ordner.
Die schlimmsten Mods anzeigen – zeigt die schlimmsten Mods direkt auf dem Bildschirm an, keine Datei erforderlich.
Anzahl anzeigen – zeigt an, wie viele Fehler und Warnungen bisher erfasst wurden.
Löschen – löscht alle bisher gesammelten Daten, sodass Ihr nächster Bericht mit leeren Händen beginnt.
Die letzte Methode ist besonders nützlich, wenn Sie einen bestimmten Konflikt suchen. Leeren Sie den Puffer, reproduzieren Sie den Fehler und speichern Sie dann den Bericht – er enthält dann nur noch die dazwischenliegenden Vorgänge.
Wichtig – die Mod darf nicht umbenannt werden.
Der Ordner heißt absichtlich FS25_AAA_LogErrorExtractor. Farming Simulator lädt Mods alphabetisch, und AAA erzwingt, dass dieser Mod zuerst geladen wird, damit er Fehler aller nachfolgenden Mods erfassen kann. Benennt man ihn um, rutscht er in der Liste nach unten, und alle davor geladenen Mods werden nicht mehr erfasst.
Anforderungen und Einschränkungen
Nur für PC. Dies ist eine Skriptmodifikation, und Skriptmodifikationen werden auf PlayStation und Xbox nicht unterstützt.
Aktuell nur Einzelspieler. Der Mehrspielermodus ist ungetestet, aber nicht etwa fehlerhaft – er wird als nicht unterstützt deklariert und kann daher in einem Mehrspieler-Spielstand nicht geladen werden. Wenn du helfen möchtest, aktiviere `<multiplayer supported="true"/>` in der Mod-Beschreibung, teste es und teile mir das Ergebnis mit.
Fehler, die vor dem Laden auftreten, können nicht erfasst werden, daher werden Startmeldungen des Basisspiels und Meldungen auf Engine-Ebene nicht angezeigt. Diese finden Sie in der Datei log.txt des Spiels.
Probleme beim Melden
Die Mod erstellt bei jedem Laden eines Spielstands eine kleine Statusdatei namens log_status.txt. Falls etwas nicht funktioniert, öffnen Sie diese Datei – und hängen Sie sie bitte an, wenn Sie einen Fehler melden.
V1.2.0.0
Nicht benötigte Dateien wurden aus der ZIP-Datei entfernt.
Ich weiß, ich habe sowohl in meinem Beitrag als auch im Anleitungsvideo darauf hingewiesen, dass die ZIP-Datei nicht umbenannt werden soll. In den Kommentaren wurde jedoch ein wichtiger Punkt angesprochen, an den ich nicht gedacht hatte.
Das Präfix „FS25_“ ist eine Regel für die Einreichung bei GIANTS ModHub und keine Anforderung der Spiel-Engine. Dem Spiel ist lediglich wichtig, dass der Name aus Buchstaben, Ziffern und Unterstrichen besteht und nicht mit einer Ziffer beginnt. Das Umbenennen der ZIP-Datei in „AAA_LogErrorExtractor.zip“ funktioniert einwandfrei.
Wenn Sie also feststellen, dass Mods nicht gefunden werden, klicken Sie mit der rechten Maustaste auf die Mod, wählen Sie „Umbenennen“ und löschen Sie dann das Präfix FS25_.
Überprüfe deine Konsole oder das Basisspielprotokoll. In der Datei `log.txt` wurde eine Texturwarnung angezeigt – eine PNG-Datei im Rohformat, die eigentlich eine DDS-Datei sein sollte. Der Log Error Extractor hat sie nicht erfasst. Der Bericht war fehlerfrei. Das sah nach einem Fehler im Extractor aus. Ist es aber nicht. Es ist eine Einschränkung der Funktionsweise der Mod und sollte dokumentiert werden.
Wie der Extraktor tatsächlich funktioniert
Es kann `log.txt` nicht lesen. Das wurde frühzeitig geklärt: Die Lua-Sandbox erlaubt `io.open` nur im Schreibmodus, und das Spiel hält die Logdatei ohnehin exklusiv geöffnet. Kein Skript-Mod kann sie öffnen und auslesen. Anstatt die Logdatei zu lesen, schaltet sich der Extractor also vor die Funktionen, die *schreiben*. Beim Laden umschließt er `printError`, `printWarning`, die gesamte `Logging`-Familie und einen gefilterten `print`-Befehl, puffert alle übergebenen Daten und gibt diesen Puffer auf Befehl aus. Das funktioniert gut. Bei einer Ladefolge von 1200 Mods wurden 3182 Meldungen erfasst.
Warum ist das durchgerutscht?
Die Hooks funktionieren. Wäre diese Warnung durch eine dieser Funktionen gelangt, hätte sie sich zusammen mit den anderen dreitausend im Dump befunden. Das war aber nicht der Fall. Sie wurde also nie von Lua verarbeitet. Das Laden der Texturen erfolgt in der C++-Schicht der Engine, die direkt in `log.txt` schreibt. Da keine Lua-Funktion im Pfad vorhanden ist, gibt es nichts zu umschließen. Hinzu kommt, dass die Logdatei nicht ausgelesen werden kann, wodurch die Meldung tatsächlich unerreichbar ist. Nicht nur im Sinne von „schwer zu erfassen“, sondern aufgrund dieses Designs.
Was gehört sonst noch in diese Kategorie?
Alles, was die Engine selbst erledigt, anstatt es über ein Skript abzuwickeln:
Probleme mit dem Texturformat und dem Laden
i3d-Ladefehler
Shader-Kompilierungsmeldungen
Alles, was der Lua-Code eines Mods meldet, wird weiterhin normal abgefangen, und das ist der Großteil dessen, was tatsächlich zählt, wenn man einem fehlerhaften Mod auf der Spur ist.
Die praktischen Erkenntnisse
Die Meldung „0 Fehler“ des Extraktors bedeutet, dass Lua keine Fehler gemeldet hat. Das heißt nicht, dass das Log fehlerfrei ist. Diese Unterscheidung gehört in die README-Datei, denn ein Tester, der sie falsch interpretiert, meldet eine Mod fälschlicherweise als fehlerfrei.
Mögliche zukünftige Arbeiten
Um diese Klasse abzudecken, wäre ein völlig anderer Mechanismus erforderlich, der den Mods-Ordner direkt nach Texturen im Rohformat durchsucht, anstatt auf eine Fehlermeldung der Engine zu warten. Dadurch wird das Log komplett umgangen. Es setzt voraus, dass die Verzeichnisauflistung in der Sandbox verfügbar ist, was noch nicht überprüft wurde. Ein Blick darauf lohnt sich, aber es handelt sich eher um eine neue Funktion als um eine Fehlerbehebung.
Just Joe
