Releases: Cypris2010/FS25_FarmMonitor
0.4.12-dev23
Warning
Dies ist eine Entwicklungsversion (Dev Build) — nicht für den produktiven Einsatz empfohlen.
Funktionen können unvollständig oder fehlerhaft sein. Bitte Fehler als Issue melden.
Warning
This is a development build — not recommended for production use.
Features may be incomplete or contain bugs. Please report issues.
🇩🇪 Deutsch — v0.4.12-dev23 (Dev Build)
Important
Paletten-Auslagern funktioniert jetzt in Singleplayer, Listen-Server-MP und Dedicated Server.
Die Implementierung wurde auf NetworkUtil umgestellt (gleiches Muster wie AutoDrive-Fahrzeugsteuerung). Bitte Fehler als Issue melden.
Caution
Multiplayer-Unterstützung ist experimentell — bitte mit Vorsicht verwenden.
Multiplayer wurde in begrenzten Szenarien getestet. Fehler bitte als Issue melden.
Caution
Die AutoDrive-Steuerung ist experimentell.
Die Funktion wurde nur in begrenzten Szenarien getestet. Bei unerwartetem Verhalten bitte als Issue melden und die Funktion nicht in kritischen Spielständen verwenden.
Neuerungen
-
Erkannte Mods in Einstellungen: Die Einstellungsseite zeigt jetzt welche unterstützten Mods (AutoDrive, Courseplay, PSC) aktiv im aktuellen Spielstand erkannt wurden.
-
Performance-Logging & Diagnose-Export: Neue Diagnosefunktion zum Messen der Mod-Performance auf verschiedenen Systemen.
So wird es verwendet:
- Im Dashboard Einstellungen → Mod-Konfiguration → Diagnose öffnen
- Performance-Logging aktivieren und auf Speichern klicken
- Savegame neu laden (Einstellung wird beim Laden der Config aktiv)
- Das Spiel einige Minuten laufen lassen — der Mod schreibt nun Messwerte in die FS25-
log.txt:- Pro Export-Funktion (Silos, Felder, Fahrzeuge, Bodenkarte …): Laufzeit in ms
- Auf leeren Frames (keine Exportarbeit): Frame-Zeit
dtalle 5 Sekunden als Idle-Baseline
- Auf Exportieren klicken — der Go-Server liest die PERF-Zeilen aus der
log.txtund schreibt eineperf_export.txtins modSettings-Verzeichnis - Die
perf_export.txtenthält: Server-Version, Mod-Version, Systeminformationen (OS, CPU, RAM, GPU), aktive Mod-Konfiguration und alle Performance-Messungen
Die
perf_export.txtkann als Issue oder Diskussionsbeitrag angehängt werden um Performanceprobleme zu analysieren.
Bitte nur für Diagnose aktivieren — nicht im Dauerbetrieb.
🇬🇧 English — v0.4.12-dev23 (Dev Build)
Important
Spawn Pallets now works in Singleplayer, Listen-Server MP and Dedicated Server.
The implementation has been switched to NetworkUtil (same pattern as AutoDrive vehicle control). Please report any issues.
Caution
Multiplayer support is experimental — please use with caution.
Multiplayer has been tested in limited scenarios. Please report any issues.
Caution
AutoDrive control is experimental.
This feature has only been tested in limited scenarios. If you experience unexpected behaviour, please report it as an issue and avoid using this feature on critical save games.
What's new
-
Detected mods in settings: The settings page now shows which supported mods (AutoDrive, Courseplay, PSC) are active and detected in the current save game.
-
Performance logging & diagnostic export: New diagnostic feature for measuring mod performance on different systems.
How to use it:
- Open Settings → Mod Configuration → Diagnostics in the dashboard
- Enable Performance Logging and click Save
- Reload your save game (the setting takes effect when the config is loaded)
- Let the game run for a few minutes — the mod will now write measurements to the FS25
log.txt:- Per export function (silos, fields, vehicles, soil map …): execution time in ms
- On idle frames (no export work): frame time
dtevery 5 seconds as a baseline
- Click Export — the Go server reads the PERF lines from
log.txtand writes aperf_export.txtto the modSettings folder - The
perf_export.txtcontains: server version, mod version, system info (OS, CPU, RAM, GPU), active mod configuration, and all performance measurements
The
perf_export.txtcan be attached to an issue or discussion post to help analyse performance problems.
Enable for diagnostics only — do not leave it on permanently.
0.4.12-dev22
Warning
Dies ist eine Entwicklungsversion (Dev Build) — nicht für den produktiven Einsatz empfohlen.
Funktionen können unvollständig oder fehlerhaft sein. Bitte Fehler als Issue melden.
Warning
This is a development build — not recommended for production use.
Features may be incomplete or contain bugs. Please report issues.
🇩🇪 Deutsch — v0.4.12-dev22 (Dev Build)
Important
Paletten-Auslagern funktioniert jetzt in Singleplayer, Listen-Server-MP und Dedicated Server.
Die Implementierung wurde auf NetworkUtil umgestellt (gleiches Muster wie AutoDrive-Fahrzeugsteuerung). Bitte Fehler als Issue melden.
Caution
Multiplayer-Unterstützung ist experimentell — bitte mit Vorsicht verwenden.
Multiplayer wurde in begrenzten Szenarien getestet. Fehler bitte als Issue melden.
Caution
Die AutoDrive-Steuerung ist experimentell.
Die Funktion wurde nur in begrenzten Szenarien getestet. Bei unerwartetem Verhalten bitte als Issue melden und die Funktion nicht in kritischen Spielständen verwenden.
Bugfixes
- PSC Sandbox-Fehler behoben:
productionStorageControl_EventSpawnliegt in PSC's eigenem Lua-_ENVund war von FarmMonitor aus nicht zugänglich →attempt to index nil with 'sendEvent'. Ersetzt durch eigenes Event dasProductionPoint:ReceiveSpawnEvent()aufruft (als Prototype-Methode global sichtbar). - Stiller Spawn-Fehlschlag behoben (SP):
customEnvironmentwar hardcoded auf"VANILLA"— wenn dieser Key infillType.palletsnicht existiert, liefert PSCitem.filename = nilund spawnt nichts ohne Fehlermeldung. Wird jetzt korrekt aus dem Pallet-Dict gelesen. - Dedicated Server Fix:
FarmMonitorSpawnPalletsEventüberträgtppjetzt viaNetworkUtil.writeNodeObjectstattuniqueId-String —getPlaceableByUniqueId()schlägt auf dem DS fehl da Client-seitige IDs prozess-lokal sind. Der Server empfängt das Objekt direkt und ruftReceiveSpawnEvent()ohne Lookup auf.
🇬🇧 English — v0.4.12-dev22 (Dev Build)
Important
Spawn Pallets now works in Singleplayer, Listen-Server MP and Dedicated Server.
The implementation has been switched to NetworkUtil (same pattern as AutoDrive vehicle control). Please report any issues.
Caution
Multiplayer support is experimental — please use with caution.
Multiplayer has been tested in limited scenarios. Please report any issues.
Caution
AutoDrive control is experimental.
This feature has only been tested in limited scenarios. If you experience unexpected behaviour, please report it as an issue and avoid using this feature on critical save games.
Bug fixes
- PSC sandbox error fixed:
productionStorageControl_EventSpawnlives in PSC's own Lua_ENVand was not accessible from FarmMonitor →attempt to index nil with 'sendEvent'. Replaced with a custom event that callsProductionPoint:ReceiveSpawnEvent()(globally visible as a prototype method). - Silent spawn failure fixed (SP):
customEnvironmentwas hardcoded to"VANILLA"— if that key does not exist infillType.pallets, PSC returnsitem.filename = niland spawns nothing without any error message. Now correctly read from the pallet dict. - Dedicated Server fix:
FarmMonitorSpawnPalletsEventnow transfersppviaNetworkUtil.writeNodeObjectinstead of auniqueIdstring —getPlaceableByUniqueId()fails on the DS since client-side IDs are process-local. The server receives the object directly and callsReceiveSpawnEvent()without any lookup.
0.4.11-dev21
Warning
Dies ist eine Entwicklungsversion (Dev Build) — nicht für den produktiven Einsatz empfohlen.
Funktionen können unvollständig oder fehlerhaft sein. Bitte Fehler als Issue melden.
Warning
This is a development build — not recommended for production use.
Features may be incomplete or contain bugs. Please report issues.
🇩🇪 Deutsch — v0.4.11-dev21 (Dev Build)
Important
AutoDrive-Steuerung sollte jetzt auch für Clients funktionieren, die einen Server joinen.
Die Fahrzeugidentifikation wurde auf NetworkUtil.getObjectId() umgestellt, das auf allen Prozessen (Singleplayer, Player-hosted MP, Dedicated Server) konsistent ist. Bitte Fehler als Issue melden.
Caution
Die AutoDrive-Steuerung ist experimentell.
Die Funktion wurde nur in begrenzten Szenarien getestet. Bei unerwartetem Verhalten bitte als Issue melden und die Funktion nicht in kritischen Spielständen verwenden. Noch nicht alle Fahrmodi getestet.
Caution
Multiplayer-Unterstützung ist experimentell — bitte mit Vorsicht verwenden.
Multiplayer wurde in begrenzten Szenarien getestet. Fehler bitte als Issue melden.
Bugfixes
- Windows: Anwendungsfehler 0xc0000142 beim Start behoben: Das Windows-Binary startete mit einem DLL-Initialisierungsfehler. Ursache war das fehlende
CGO_ENABLED=0-Flag im Build-Workflow — der Compiler konnte dabei versuchen, CGO-Abhängigkeiten einzubinden, die unter Windows nicht vorhanden sind. Der Build erzeugt jetzt für alle Plattformen (Windows, macOS Intel, macOS Apple Silicon) ein vollständig statisches Go-Binary ohne externe DLL-Abhängigkeiten.
🇬🇧 English — v0.4.11-dev21 (Dev Build)
Important
AutoDrive control should now work for clients joining a multiplayer server.
Vehicle identification has been switched to NetworkUtil.getObjectId(), which is consistent across all processes (singleplayer, player-hosted MP, dedicated server). Please report any issues.
Caution
AutoDrive control is experimental.
This feature has only been tested in limited scenarios. If you experience unexpected behaviour, please report it as an issue and avoid using this feature on critical save games. Not all drive modes have been tested yet.
Caution
Multiplayer support is experimental — please use with caution.
Multiplayer has been tested in limited scenarios. Please report any issues.
Bug fixes
- Windows: application error 0xc0000142 on startup fixed: The Windows binary failed to start with a DLL initialisation error. The cause was a missing
CGO_ENABLED=0flag in the build workflow — without it, the compiler could attempt to include CGO dependencies that are not present on Windows. The build now produces a fully static Go binary with no external DLL dependencies for all platforms (Windows, macOS Intel, macOS Apple Silicon).
0.4.10-dev21
Warning
Dies ist eine Entwicklungsversion (Dev Build) — nicht für den produktiven Einsatz empfohlen.
Funktionen können unvollständig oder fehlerhaft sein. Bitte Fehler als Issue melden.
Warning
This is a development build — not recommended for production use.
Features may be incomplete or contain bugs. Please report issues.
🇩🇪 Deutsch — v0.4.10-dev21 (Dev Build)
Important
AutoDrive-Steuerung sollte jetzt auch für Clients funktionieren, die einen Server joinen.
Die Fahrzeugidentifikation wurde auf NetworkUtil.getObjectId() umgestellt, das auf allen Prozessen (Singleplayer, Player-hosted MP, Dedicated Server) konsistent ist. Bitte Fehler als Issue melden.
Caution
Die AutoDrive-Steuerung ist experimentell.
Die Funktion wurde nur in begrenzten Szenarien getestet. Bei unerwartetem Verhalten bitte als Issue melden und die Funktion nicht in kritischen Spielständen verwenden. Noch nicht alle Fahrmodi getestet.
Caution
Multiplayer-Unterstützung ist experimentell — bitte mit Vorsicht verwenden.
Multiplayer wurde in begrenzten Szenarien getestet. Fehler bitte als Issue melden.
Bugfixes
- AD-Panel: Häcksler/Harvester-Zeilen hatten falsche Höhe: Die kombinierten Rocker+Icon-Zeilen im Häcksler/Harvester-Bereich des AutoDrive-Panels hatten eine abweichende Zeilenhöhe gegenüber den normalen Icon-Reihen. Behoben durch
align-items:centerauf der Zeile undalign-self:stretchauf dem Rocker. - AD-Panel: Rocker-Breite entsprach nicht 4 Button-Breiten: Der Rocker nahm zwar
flex:4, aber ohne die 3 Zwischenabstände zwischen 4 Buttons einzurechnen. Behoben durchflex: 4 0 15px(flex-basis = 3 × 5px Lücken) und einheitlichengap:5px. - AD-Export: Getter per pcall abgesichert: Mehrere AD-Lua-Getter wurden nicht pcall-gesichert aufgerufen, was bei bestimmten Metatable-Implementierungen zu Fehlern führen konnte. Alle relevanten Getter sind jetzt pcall-geschützt.
- AD-Export: nil-Checks für getLoopCounter, getLoopsDone, getCurrentMode: Fehlende nil-Checks konnten bei inaktiven Fahrzeugen zu Lua-Fehlern führen.
- AD-Panel: falscher Tooltip-Text: Tooltip "Weiterfahren nach Pause" durch "Nächstes Ziel" ersetzt.
- AD-Panel: Icon im kompakten Rocker zu groß: Icon auf 18×18 px verkleinert — überlagerte zuvor den Wert-Text.
- AD-Panel: pipeOffset und followDistance Rocker in getrennten Zeilen: Beide Rocker wurden fälschlicherweise in einer gemeinsamen Zeile angezeigt.
- AD-Panel: SSE-Update-Schutz für Benutzereingaben: Aktive Eingaben im AD-Panel wurden durch eingehende SSE-Updates unterbrochen und zurückgesetzt.
- Feldübersicht: zeigt nur eigene Felder an: Nicht-eigene Felder wurden irrtümlich in der Feldliste angezeigt.
- Fahrzeug-Detailpanel: Schließen bei Klick außerhalb: Das Detail-Panel schließt sich jetzt korrekt beim Klick außerhalb des Panels.
- Eingabefelder: Text bei Klick vollständig selektiert: Klick in Eingabefelder selektiert jetzt den gesamten Inhalt (Desktop + Tablet).
- MP: AD-Einstellungen via AutoDriveUpdateSettingsEvent: Einstellungsänderungen über das Dashboard werden auf MP-Clients jetzt korrekt an den Server weitergeleitet.
Neue Funktionen
- AutoDrive-Panel: vollständige Neugestaltung des AD-Tabs
- AD-Tab-Balken zeigt jetzt AUTO (weiß) DRIVE (grün) mit Map-Pin-Icon (Tabler Icons)
- Alle AD-Farben auf das echte AutoDrive-Grün (
#14bf6c) umgestellt — Badges, Speed-Block, Detail-Panel, Dropdowns, Toggle-Buttons - AD-Icons aus
FS25_AutoDrive.zipwerden serverseitig eingefärbt: FS25-Grün →#14bf6c(einmalig beim Start, gecacht im Arbeitsspeicher) - Safari-Browser-Cache-Problem gelöst: Server injiziert
window._adIconVer(Startup-Timestamp), MutationObserver hängt?v=an alle Icon-URLs und erzwingt Neu-Laden - Icon-Vorschau aller verarbeiteten Icons unter
/api/ad-icons-previewverfügbar
- AutoDrive-Panel: Häcksler/Harvester-Bereich überarbeitet
- Rocker-Switch (PreCallLevel / ChaseSide) + Icon-Button (2. Ablader / Aktives Abfahren) als Paare in je einer Zeile
- Neuer Icon-Button 2. Ablader rufen (
callSecondUnloader) mit SVG-Icon - Neuer Icon-Button Aktives Abfahren (
activeUnloading) mit SVG-Icon (Pause-Balken / Play-Dreieck)
- AutoDrive-Panel: neuer Toggle-Button "Am Ende parken" (
enableParkAtJobFinished) mit eigenem SVG-Icon - AutoDrive-Panel: "Optionen"-Sektion ausgeblendet (Füllstand-Laden, Auto-Entladen, Auto-Beladen, Helper-Neustart — Code bleibt erhalten)
- AutoDrive-Panel: Multi-Fülltyp-Eingabe — Tag-Input-UI für mehrere Fülltypen gleichzeitig auswählen, Backend-Unterstützung via
autodrive.setting-Command - AutoDrive-Panel: Häcksler/Harvester-Einstellungen (nur für Mähdrescher/Harvester sichtbar): PreCallLevel und ChaseSide als Rocker-Switches
- AutoDrive-Panel: alle Buttons und Rocker mit deutschen Tooltips
- AutoDrive-Panel: kompakte Rocker-Switches für Kurvengeschwindigkeit, Abladen ab Level, Abstand Häcksler, Abstand Rohr
- AutoDrive-Panel: Icon-only Settings-Buttons mit quadratischem Layout und Modus-Icons
- AutoDrive-Panel: parkInField, autoRepair, autoRefuel als Inline-SVG-Icon-Buttons
- Fahrzeug-Detailpanel: Schließen per Klick außerhalb des Panels
🇬🇧 English — v0.4.10-dev21 (Dev Build)
Important
AutoDrive control should now work for clients joining a multiplayer server.
Vehicle identification has been switched to NetworkUtil.getObjectId(), which is consistent across all processes (singleplayer, player-hosted MP, dedicated server). Please report any issues.
Caution
AutoDrive control is experimental.
This feature has only been tested in limited scenarios. If you experience unexpected behaviour, please report it as an issue and avoid using this feature on critical save games. Not all drive modes have been tested yet.
Caution
Multiplayer support is experimental — please use with caution.
Multiplayer has been tested in limited scenarios. Please report any issues.
Bug fixes
- AD panel: incorrect row height in harvester section: The combined rocker+icon rows in the harvester section had a different height compared to the normal icon rows. Fixed using
align-items:centeron the row andalign-self:stretchon the rocker. - AD panel: rocker width did not match 4 button widths: The rocker used
flex:4but did not account for the 3 gaps between 4 buttons. Fixed withflex: 4 0 15px(flex-basis = 3 × 5px gaps) and consistentgap:5px. - AD export: getters secured with pcall: Several AD Lua getters were called without pcall protection, which could cause errors with certain metatable implementations. All relevant getters are now pcall-protected.
- AD export: nil checks for getLoopCounter, getLoopsDone, getCurrentMode: Missing nil checks could cause Lua errors for inactive vehicles.
- AD panel: wrong tooltip text: "Continue after pause" tooltip replaced with "Next target".
- AD panel: icon too large in compact rocker: Icon reduced to 18×18 px — previously overlapped the value text.
- AD panel: pipeOffset and followDistance rockers now in separate rows: Both rockers were incorrectly displayed in a single shared row.
- AD panel: SSE update protection for user input: Active input in the AD panel was interrupted and reset by incoming SSE updates.
- Field overview: only own fields displayed: Unowned fields were incorrectly shown in the field list.
- Vehicle detail panel: closes on outside click: The detail panel now correctly closes when clicking outside it.
- Input fields: full text selected on click: Clicking an input field now selects all content (desktop + tablet).
- MP: AD settings via AutoDriveUpdateSettingsEvent: Settings changes from the dashboard are now correctly forwarded to the server on MP clients.
New features
- AutoDrive panel: complete AD tab redesign
- AD tab label now shows AUTO (white) DRIVE (green) with a map-pin icon (Tabler Icons)
- All AD colours updated to match real AutoDrive green (
#14bf6c) — badges, speed block, detail panel, dropdowns, toggle buttons - AD icons from
FS25_AutoDrive.zipare now colour-replaced server-side: FS25 green →#14bf6c(once at startup, cached in memory) - Safari browser cache issue resolved: server injects
window._adIconVer(startup timestamp), MutationObserver appends?v=to all icon URLs, forcing a fresh load - Preview of all processed icons available at
/api/ad-icons-preview
- AutoDrive panel: harvester section redesigned
- Rocker switch (PreCallLevel / ChaseSide) + icon button (2nd unloader / active unloading) paired in individual rows
- New icon button call 2nd unloader (
callSecondUnloader) with SVG icon - New icon button active unloading (
activeUnloading) with SVG icon (pause bars / play triangle)
- AutoDrive panel: new "park at job end" toggle (
enableParkAtJobFinished) with custom SVG icon - AutoDrive panel: "Options" section hidden (load by fill level, auto unload, auto load, helper restart — code preserved)
- AutoDrive panel: multi fill-type input — tag input UI for selecting multiple fill types simultaneously, backend support via
autodrive.settingcommand - AutoDrive panel: harvester settings (visible for harvesters only): PreCallLevel and ChaseSide as rocker switches
- AutoDrive panel: all buttons and rockers with German tooltips
- AutoDrive panel: compact rocker switches for curve speed, unload level, combine distance, pipe offset
- AutoDrive panel: icon-only settings buttons with square layout and mode icons
- AutoDrive panel: parkInField, autoRepair, autoRefuel as inline SVG icon buttons
- Vehicle detail panel: close on outside click
0.4.10-dev20
Warning
Dies ist eine Entwicklungsversion (Dev Build) — nicht für den produktiven Einsatz empfohlen.
Funktionen können unvollständig oder fehlerhaft sein. Bitte Fehler als Issue melden.
Warning
This is a development build — not recommended for production use.
Features may be incomplete or contain bugs. Please report issues.
🇩🇪 Deutsch — v0.4.10-dev20 (Dev Build)
Important
AutoDrive-Steuerung sollte jetzt auch für Clients funktionieren, die einen Server joinen.
Die Fahrzeugidentifikation wurde auf NetworkUtil.getObjectId() umgestellt, das auf allen Prozessen (Singleplayer, Player-hosted MP, Dedicated Server) konsistent ist. Bitte Fehler als Issue melden.
Caution
Die AutoDrive-Steuerung ist experimentell.
Die Funktion wurde nur in begrenzten Szenarien getestet. Bei unerwartetem Verhalten bitte als Issue melden und die Funktion nicht in kritischen Spielständen verwenden. Noch nicht alle Fahrmodi getestet.
Caution
Multiplayer-Unterstützung ist experimentell — bitte mit Vorsicht verwenden.
Multiplayer wurde in begrenzten Szenarien getestet. Fehler bitte als Issue melden.
Bugfixes
- Karten-Drag erzeugte blaues Aufblitzen: Beim Verschieben der Karte per Maus wurde gelegentlich eine Browser-Textselektion ausgelöst, was zu einem hellblauen Aufblitzen führte. Ursache: SVG-Elemente erben
user-select: nonenicht zuverlässig. Behoben durch explizites Setzen vonuser-select: noneund-webkit-user-select: noneauf dem inneren Karten-Container. - Feldnummern: eigene und fremde Felder hatten unterschiedliche Schriftgrößen: Feldnummern nicht-eigener Felder wurden kleiner dargestellt als die eigener Felder. Vereinheitlicht auf 11px/fett für alle Felder.
Neue Funktionen
- Alle Felder auf der Karte sichtbar: Bisher wurden auf der Karte nur eigene Felder mit Umriss und Nummer angezeigt. Jetzt werden alle Felder der Karte dargestellt — eigene Felder mit farbiger Füllung (Wachstumsstatus) und grüner Nummer, nicht-eigene Felder als gestrichelter grauer Umriss mit grauer Nummer. Für nicht-eigene Felder werden keine aufwändigen Boden- und Frucht-Berechnungen durchgeführt.
- Bodenlayer-Karte: Marching-Squares-Vektoren statt Pixel-PNG: Die Bodenzustand-Overlays (Kalk, Dünger, Pflug, Mulch, Walze, Unkraut, Steine) werden jetzt als vektorielle SVG-Pfade gerendert statt als gerastertes PNG-Bild. Der neue Ansatz verwendet den Marching-Squares-Algorithmus und ist beim Zoomen perfekt scharf, benötigt keinen Web Worker und kein PNG-Encoding.
- Bodenlayer-Karte: mehrstufiges Stacking: Layer mit mehreren Schweregradstufen (Kalk: 4 Stufen, Dünger: 3 Stufen, Unkraut: 10 Stufen, Steine: 4 Stufen) werden jetzt abgestuft dargestellt. Marching Squares läuft pro Layer mehrfach mit verschiedenen Schwellwerten; überlagerte Bänder mit geringer Deckkraft ergeben automatisch dunklere Farben für schlechtere Zonen.
- Bodenlayer-Legende dynamisch generiert: Die Legende im Karten-View wird jetzt automatisch aus der gleichen Band-Konfiguration erzeugt, die auch das Rendering steuert — Legende und Karte können daher nicht mehr auseinanderlaufen. Anzahl und Opazität der Farbstufen in der Legende spiegeln exakt die angezeigten Bänder wider.
- Konfigurierbarer Modordner-Pfad: Im Settings-Panel des Dashboards kann jetzt ein eigener Pfad zum FS25-Modordner eingetragen werden (analog zum Datenpfad). Wird er leer gelassen, wird der Pfad automatisch aus dem Datenpfad abgeleitet. Zusätzlich steht der CLI-Flag
-modszur Verfügung. - AutoDrive-Icons bei Savegame-Wechsel neu laden: Der Server erkennt jetzt automatisch Savegame-Wechsel (über
fields.json) und lädt die AutoDrive-Icons bei Bedarf neu. Dabei wird die Mods-Verzeichnis-Konfiguration neu ausgewertet: manuelles Setting im Dashboard hat Vorrang, danachgameSettings.xml(modsDirectoryOverride, nur wennactive="true"), zuletzt die automatische Ableitung.
🇬🇧 English — v0.4.10-dev20 (Dev Build)
Important
AutoDrive control should now work for clients joining a multiplayer server.
Vehicle identification has been switched to NetworkUtil.getObjectId(), which is consistent across all processes (singleplayer, player-hosted MP, dedicated server). Please report any issues.
Caution
AutoDrive control is experimental.
This feature has only been tested in limited scenarios. If you experience unexpected behaviour, please report it as an issue and avoid using this feature on critical save games. Not all drive modes have been tested yet.
Caution
Multiplayer support is experimental — please use with caution.
Multiplayer has been tested in limited scenarios. Please report any issues.
Bug fixes
- Map drag caused blue flash: Dragging the map occasionally triggered a browser text selection, causing a light-blue flash. The cause was SVG elements not reliably inheriting
user-select: none. Fixed by explicitly settinguser-select: noneand-webkit-user-select: noneon the inner map container. - Field numbers: inconsistent font size between owned and unowned fields: Field numbers for unowned fields were rendered smaller than those for owned fields. Unified to 11px/bold for all fields.
New features
- All fields visible on the map: Previously only owned fields were shown on the map with outline and number. Now all fields are displayed — owned fields with coloured fill (growth status) and a green number, unowned fields as a dashed grey outline with a grey number. No expensive soil or crop calculations are performed for unowned fields.
- Soil layer map: Marching Squares vectors instead of pixel PNG: Soil condition overlays (lime, fertiliser, plough, mulch, roller, weed, stones) are now rendered as vector SVG paths instead of a rasterised PNG image. The new approach uses the Marching Squares algorithm, is perfectly sharp when zooming, and requires no Web Worker or PNG encoding.
- Soil layer map: multi-band stacking: Layers with multiple severity levels (lime: 4 levels, fertiliser: 3 levels, weed: 10 levels, stones: 4 levels) are now displayed with graduated shading. Marching Squares runs multiple times per layer at different thresholds; overlapping semi-transparent bands automatically produce darker colours for worse zones.
- Soil layer legend dynamically generated: The legend in the Map view is now automatically generated from the same band configuration that drives rendering — legend and map can no longer fall out of sync. The number and opacity of colour steps in the legend exactly reflect the rendered bands.
- Configurable mods folder path: A custom path to the FS25 mods folder can now be entered in the Settings panel (analogous to the data path). If left empty, the path is automatically derived from the data path. A
-modsCLI flag is also available. - AutoDrive icons reloaded on savegame change: The server now automatically detects savegame changes (via
fields.json) and reloads AutoDrive icons when needed. The mods directory is re-evaluated on each reload: manual dashboard setting takes priority, followed bygameSettings.xml(modsDirectoryOverride, only whenactive="true"), then automatic derivation.
0.4.10-dev19
Warning
Dies ist eine Entwicklungsversion (Dev Build) — nicht für den produktiven Einsatz empfohlen.
Funktionen können unvollständig oder fehlerhaft sein. Bitte Fehler als Issue melden.
Warning
This is a development build — not recommended for production use.
Features may be incomplete or contain bugs. Please report issues.
🇩🇪 Deutsch — v0.4.10-dev19 (Dev Build)
Important
AutoDrive-Steuerung sollte jetzt auch für Clients funktionieren, die einen Server joinen.
Die Fahrzeugidentifikation wurde auf NetworkUtil.getObjectId() umgestellt, das auf allen Prozessen (Singleplayer, Player-hosted MP, Dedicated Server) konsistent ist. Bitte Fehler als Issue melden.
Caution
Die AutoDrive-Steuerung ist experimentell.
Die Funktion wurde nur in begrenzten Szenarien getestet. Bei unerwartetem Verhalten bitte als Issue melden und die Funktion nicht in kritischen Spielständen verwenden. Noch nicht alle Fahrmodi getestet.
Caution
Multiplayer-Unterstützung ist experimentell — bitte mit Vorsicht verwenden.
Multiplayer wurde in begrenzten Szenarien getestet. Fehler bitte als Issue melden.
Bugfixes
- Übermäßige CPU-Last durch Bodendaten-Scan (Karte): Die Bodenzustands-Layer (Pflug, Dünger, Kalk, Unkraut, Steine, Mulch, Walze) wurden in einer internen Auflösung von 512×512 Pixeln abgetastet — das entspricht über 262.000 Zellen pro Layer mit mehreren GPU-Abfragen pro Zelle. Dies führte zu spürbarer Prozessorlast, besonders auf größeren Karten. Die Abtastauflösung wurde auf 128×128 reduziert und die Anzahl der pro Spieltick verarbeiteten Zeilen von 4 auf 2 halbiert. Das Ergebnis: rund 32-mal weniger GPU-Aufrufe pro Tick bei gleichbleibender Darstellungsqualität im Map-View, da die Bodenlayer-Overlays ohnehin unscharf gerendert werden.
- Konfigurationswerte wurden im Dashboard nicht korrekt angezeigt: Die aktuell in
config.xmlgespeicherten Export-Intervalle wurden im Settings-Panel des Dashboards nicht korrekt eingelesen und stattdessen immer die Standardwerte angezeigt. Ursache war ein fehlerhafter XML-Struct-Tag in Go (xml:"main>seconds,attr"), der Pfad-Navigation und Attribut-Zugriff kombiniert — was vonencoding/xmlnicht unterstützt wird. Die Structs wurden auf korrekte verschachtelte Hilfs-Typen umgestellt.
Neue Funktionen
- Konfigurierbare Export-Intervalle: Alle Export-Intervalle des Mods (Haupt-Export, Fahrzeuge, Felder, Wetter, IPC-Commands) sowie die Qualität der Bodenkarte (Auflösung, Zeilen pro Tick) sind jetzt über eine
config.xmlim modSettings-Ordner konfigurierbar. Die Datei wird beim ersten Spielstart automatisch mit Standardwerten angelegt. Werte können direkt in der Datei oder über das Settings-Panel im Dashboard bearbeitet werden. Änderungen werden beim nächsten Laden eines Spielstands übernommen. Die geladenen Werte werden beim Start im Spiellog ausgegeben.
🇬🇧 English — v0.4.10-dev19 (Dev Build)
Important
AutoDrive control should now work for clients joining a multiplayer server.
Vehicle identification has been switched to NetworkUtil.getObjectId(), which is consistent across all processes (singleplayer, player-hosted MP, dedicated server). Please report any issues.
Caution
AutoDrive control is experimental.
This feature has only been tested in limited scenarios. If you experience unexpected behaviour, please report it as an issue and avoid using this feature on critical save games. Not all drive modes have been tested yet.
Caution
Multiplayer support is experimental — please use with caution.
Multiplayer has been tested in limited scenarios. Please report any issues.
Bug fixes
- Excessive CPU load from soil data scanning (Map): Soil condition layers (ploughing, fertiliser, lime, weeds, stones, mulch, roller) were sampled at an internal resolution of 512×512 pixels — over 262,000 cells per layer, each requiring multiple GPU queries. This caused noticeable CPU overhead, particularly on larger maps. The sampling resolution has been reduced to 128×128 and the number of rows processed per game tick halved from 4 to 2. The result is approximately 32 times fewer GPU calls per tick with no meaningful loss in visual quality, as soil layer overlays are rendered with blur by design.
- Configuration values not correctly displayed in dashboard: Export intervals stored in
config.xmlwere not read correctly in the Settings panel and always showed default values instead. The cause was an incorrect XML struct tag in Go (xml:"main>seconds,attr") combining path navigation and attribute access — which is not supported byencoding/xml. Structs have been rewritten using proper nested helper types.
New features
- Configurable export intervals: All mod export intervals (main export, vehicles, fields, weather, IPC commands) as well as soil map quality settings (resolution, rows per tick) are now configurable via a
config.xmlfile in the modSettings folder. The file is created automatically with default values on first game load. Values can be edited directly in the file or via the Settings panel in the dashboard. Changes take effect on the next save game load. The loaded values are written to the game log on startup for verification.
0.4.9-dev16
Warning
Dies ist eine Entwicklungsversion (Dev Build) — nicht für den produktiven Einsatz empfohlen.
Funktionen können unvollständig oder fehlerhaft sein. Bitte Fehler als Issue melden.
Warning
This is a development build — not recommended for production use.
Features may be incomplete or contain bugs. Please report issues.
🇩🇪 Deutsch — v0.4.9-dev16 (Dev Build)
Caution
Die AutoDrive-Steuerung ist experimentell.
Die Funktion wurde nur in begrenzten Szenarien getestet. Bei unerwartetem Verhalten bitte als Issue melden und die Funktion nicht in kritischen Spielständen verwenden. Noch nicht alle Fahrmodi getestet.
Important
AutoDrive-Steuerung sollte jetzt auch für Clients funktionieren, die einen Server joinen.
Die Fahrzeugidentifikation wurde auf NetworkUtil.getObjectId() umgestellt, das auf allen Prozessen (Singleplayer, Player-hosted MP, Dedicated Server) konsistent ist. Bitte Fehler als Issue melden.
Caution
Multiplayer-Unterstützung ist experimentell — bitte mit Vorsicht verwenden.
Multiplayer wurde in begrenzten Szenarien getestet. Fehler bitte als Issue melden.
Bugfixes
- AutoDrive-Steuerung auf Dedicated Server: AutoDrive-Befehle (Konfigurieren, Start/Stop) schlugen auf Dedicated Servern mit „Vehicle not found or has no AutoDrive" fehl. Ursache war, dass
vehicle.rootNodeein prozess-lokaler Handle ist und auf Client und Server unterschiedliche Werte hat. Die Fahrzeugsuche verwendet jetztNetworkUtil.getObjectId()als primäre ID, die auf allen Prozessen identisch ist. - AutoDrive startet ohne Spieler im Fahrzeug: AutoDrive-Befehle werden jetzt serverseitig ausgeführt und nicht mehr client-seitig, wo sie beim nächsten Server-Sync überschrieben wurden. Fahrzeuge können dadurch auch gestartet werden, wenn kein Spieler eingestiegen ist.
🇬🇧 English — v0.4.9-dev16 (Dev Build)
Caution
AutoDrive control is experimental.
This feature has only been tested in limited scenarios. If you experience unexpected behaviour, please report it as an issue and avoid using this feature on critical save games. Not all drive modes have been tested yet.
Important
AutoDrive control should now work for clients joining a multiplayer server.
Vehicle identification has been switched to NetworkUtil.getObjectId(), which is consistent across all processes (singleplayer, player-hosted MP, dedicated server). Please report any issues.
Caution
Multiplayer support is experimental — please use with caution.
Multiplayer has been tested in limited scenarios. Please report any issues.
Bug fixes
- AutoDrive control on dedicated server: AutoDrive commands (configure, start/stop) failed on dedicated servers with "Vehicle not found or has no AutoDrive". The cause was that
vehicle.rootNodeis a process-local handle with different values on client and server. Vehicle lookup now usesNetworkUtil.getObjectId()as the primary identifier, which is consistent across all processes. - AutoDrive starts without a player in the vehicle: AutoDrive commands are now executed server-side rather than client-side, where they were being overwritten by the next server sync. Vehicles can now be started even when no player is seated in them.
0.4.8-dev15
Warning
Dies ist eine Entwicklungsversion (Dev Build) — nicht für den produktiven Einsatz empfohlen.
Funktionen können unvollständig oder fehlerhaft sein. Bitte Fehler als Issue melden.
Warning
This is a development build — not recommended for production use.
Features may be incomplete or contain bugs. Please report issues.
🇩🇪 Deutsch — v0.4.8-dev15 (Dev Build)
Caution
Die AutoDrive-Steuerung ist experimentell.
Die Funktion wurde nur in begrenzten Szenarien getestet. Bei unerwartetem Verhalten bitte als Issue melden und die Funktion nicht in kritischen Spielständen verwenden. Nur im Einzelspieler getestet.
Caution
AutoDrive-Steuerung funktioniert nicht für Clients, die einem Server joinen.
Die Funktion ist derzeit nur für den Host/Einzelspieler verfügbar.
Caution
Multiplayer-Unterstützung ist experimentell — bitte mit Vorsicht verwenden.
Multiplayer wurde in begrenzten Szenarien getestet. Fehler bitte als Issue melden.
Bugfixes
- Bodenlayer-Inversion (Karte): Die Layer für Kalk, Dünger, Mulch und Pflug waren invertiert dargestellt — dunkel bedeutete „vorhanden", obwohl dunkel intuitiv „fehlt/nötig" bedeutet. Die Darstellung wurde korrigiert: dunkel = fehlt, transparent = ok.
- Legende mit Stufenindikator (Karte): Die Legende zeigt jetzt gestufte Farbkästchen statt eines einzelnen Balkens pro Layer. Kalk wird in 4 Stufen dargestellt, Dünger und Unkraut in je 3 Stufen. Die Labels invertierter Layer wurden angepasst: „Kalk fehlt", „Dünger fehlt", „Mulch fehlt".
- Fahrzeug-Detail schließt sich sofort (Karte): Beim Öffnen eines Fahrzeug-Detailpanels aus dem Feld-Panel heraus schloss sich das Panel unmittelbar wieder. Ursache war ein hängender
transitionend-Listener vom vorherigen Schließen. Der Listener wird jetzt beim Öffnen und Schließen explizit entfernt.
🇬🇧 English — v0.4.8-dev15 (Dev Build)
Caution
AutoDrive control is experimental.
This feature has only been tested in limited scenarios. If you experience unexpected behaviour, please report it as an issue and avoid using this feature on critical save games. Tested in singleplayer only.
Caution
AutoDrive control does not work for clients joining a multiplayer server.
This feature is currently only available for the host / singleplayer.
Caution
Multiplayer support is experimental — please use with caution.
Multiplayer has been tested in limited scenarios. Please report any issues.
Bug fixes
- Soil layer inversion (Map): The layers for lime, fertiliser, mulch and ploughing were displayed inverted — dark meant "present", even though dark intuitively means "missing/needed". The display has been corrected: dark = missing, transparent = ok.
- Legend with step indicators (Map): The legend now shows stepped colour squares instead of a single bar per layer. Lime is shown in 4 steps, fertiliser and weeds in 3 steps each. Labels for inverted layers have been updated: "Lime missing", "Fertiliser missing", "Mulch missing".
- Vehicle detail closes immediately (Map): Opening the vehicle detail panel from within the field panel caused it to close again straight away. The cause was a lingering
transitionendlistener from the previous close. The listener is now explicitly removed before opening or closing the panel.
0.4.7-dev14
Warning
Dies ist eine Entwicklungsversion (Dev Build) — nicht für den produktiven Einsatz empfohlen.
Funktionen können unvollständig oder fehlerhaft sein. Bitte Fehler als Issue melden.
Warning
This is a development build — not recommended for production use.
Features may be incomplete or contain bugs. Please report issues.
🇩🇪 Deutsch — v0.4.7-dev14 (Dev Build)
Caution
Die AutoDrive-Steuerung ist experimentell.
Die Funktion wurde nur in begrenzten Szenarien getestet. Bei unerwartetem Verhalten bitte als Issue melden und die Funktion nicht in kritischen Spielständen verwenden. Nur im Einzelspieler getestet.
Caution
AutoDrive-Steuerung funktioniert nicht für Clients, die einem Server joinen.
Die Funktion ist derzeit nur für den Host/Einzelspieler verfügbar.
Caution
Multiplayer-Unterstützung ist experimentell — bitte mit Vorsicht verwenden.
Multiplayer wurde in begrenzten Szenarien getestet. Fehler bitte als Issue melden.
Neu: Wetter-Widget (Home-Seite)
Das Dashboard-Home zeigt jetzt oben ein Wetter-Widget mit drei Bereichen:
- Aktuelles Wetter — Wettertyp, Temperatur, Windgeschwindigkeit & Richtung, Regenintensität, Bodenfeuchtigkeit
- Stundenvorhersage — die nächsten 6 Spielstunden mit Icon und Temperatur
- Tagesvorhersage — bis zu 7 Tage voraus, navigierbar per Pfeil-Buttons (3 Tage gleichzeitig sichtbar). Anzeige mit Monatsnamen (März, April, …) statt Saisonbezeichnungen.
Icons basieren auf dem Tabler-Icon-Set. Für „leicht bewölkt" wird eine eigene Komposition (Sonne hinter Wolke) verwendet.
Neu: Bodenzustand-Overlay (Karte)
Der Karten-View zeigt jetzt optional einen Bodenzustand-Layer direkt über den Feldpolygonen:
- 7 Density-Map-Layer: Pflug, Düngung, Kalk, Mulch, Unkraut, Steine, Walze
- Inkrementelles Sampling — der Layer wird Zeile für Zeile im Hintergrund berechnet, kein Einzel-Frame-Einbruch
- 512×512 Auflösung mit pixelgenauem Rendering (kein Browser-Blur beim Hochskalieren)
- Vereinte Legende links — Felder und Bodenlayer in einer gemeinsamen Übersicht
Neu: Wachstumsfortschritt als Farbverlauf (Karte)
Feldpolygone zeigen den Wachstumsfortschritt der angebauten Frucht als Farbverlauf — von dunkelgrün (frisch gesät) bis hellgelb (erntereif).
Neu: Auslagern-Button für Object Storages (Silos-View)
Ballen- und Palettenlager haben jetzt einen „Auslagern"-Button pro Inhaltzeile. Ein Popover mit Slider erlaubt die Auswahl der Menge, danach wird direkt über das IPC-System (objectStorage.eject) ausgelagert. ESC und X-Button schließen den Dialog.
Verbesserungen
- Karte — Feldflächen ausblendbar: Checkbox in der Legende neben „Felder" deaktiviert die Füllung der Feldpolygone; der Rahmen bleibt sichtbar.
- Karte — Panel-Verhalten: Panels (Felddetail, Hotspot, Fahrzeug) öffnen sich ohne Abdunkelung der Karte. Die Karte bleibt jederzeit navigierbar. Klick auf freie Fläche schließt das Panel.
Performance
- Safari CPU-Reduktion: SSE-Daten auf der Kartenansicht werden auf max. 1× pro 30 s geladen (Fahrzeugpositionen weiterhin alle 2 s). Box-Blur für den Bodenlayer läuft jetzt in einem Web Worker — kein Main-Thread-Blocking mehr. Fahrzeug-Detailpanel wird auf 5 s gedrosselt.
- GPU-Compositing: Fahrzeugpins nutzen
translate3dstatttranslatefür dedizierte Compositing-Layers im Browser. CSSfilter: blur()durch vorab berechneten Canvas-Blur ersetzt.
Bugfixes
- Bodenlayer wurden nie gerendert: Der Web Worker hat den Dateinamen nicht korrekt übergeben — der Canvas blieb leer. Behoben.
- Karteninhalt unscharf:
translate3dauf.map-innerhat Sub-Pixel-Rendering ausgelöst. Zurück auftranslatefür den Container. - Kalk-Layer Farbe: Die Darstellungsfarbe des Kalk-Layers war zu hell — auf dunkles Blau (
#1d4ed8) korrigiert.
🇬🇧 English — v0.4.7-dev14 (Dev Build)
Caution
AutoDrive control is experimental.
This feature has only been tested in limited scenarios. If you experience unexpected behaviour, please report it as an issue and avoid using this feature on critical save games. Tested in singleplayer only.
Caution
AutoDrive control does not work for clients joining a multiplayer server.
This feature is currently only available for the host / singleplayer.
Caution
Multiplayer support is experimental — please use with caution.
Multiplayer has been tested in limited scenarios. Please report any issues.
New: Weather Widget (Home Page)
The dashboard home page now shows a weather widget at the top with three sections:
- Current weather — weather type, temperature, wind speed & direction, rain intensity, ground moisture
- Hourly forecast — the next 6 in-game hours with icon and temperature
- Daily forecast — up to 7 days ahead, navigable with arrow buttons (3 days visible at once). Displays month names (March, April, …) instead of season labels.
Icons are based on the Tabler icon set. A custom composite icon (sun behind cloud) is used for "partly cloudy".
New: Soil Condition Overlay (Map)
The map view now optionally shows a soil condition layer directly over field polygons:
- 7 density-map layers: ploughing, fertilisation, lime, mulch, weeds, stones, roller
- Incremental sampling — the layer is calculated row by row in the background with no single-frame drop
- 512×512 resolution with pixel-perfect rendering (no browser blur on upscaling)
- Combined legend on the left — fields and soil layers in one shared overview
New: Growth Progress as Colour Gradient (Map)
Field polygons now show the growth progress of the planted crop as a colour gradient — from dark green (freshly sown) to light yellow (harvest ready).
New: Eject Button for Object Storages (Silos View)
Bale and pallet storages now have an "Eject" button per content row. A popover with a slider lets you choose the quantity, then ejects directly via the IPC system (objectStorage.eject). ESC and the X button close the dialog.
Improvements
- Map — Hide field fills: A checkbox in the legend next to "Fields" hides the fill colour of field polygons; the outline remains visible.
- Map — Panel behaviour: Detail panels (field, hotspot, vehicle) open without dimming the map. The map remains navigable at all times. Clicking on an empty area closes the panel.
Performance
- Safari CPU reduction: SSE data on the map view is loaded at most once every 30 s (vehicle positions still every 2 s). Box-blur for the soil layer now runs in a Web Worker — no more main-thread blocking. Vehicle detail panel re-render throttled to 5 s.
- GPU compositing: Vehicle pins use
translate3dinstead oftranslatefor dedicated compositing layers in the browser. CSSfilter: blur()replaced by pre-computed canvas blur.
Bug fixes
- Soil layer never rendered: The Web Worker was not passing the filename correctly — the canvas remained blank. Fixed.
- Map content blurry:
translate3don.map-innercaused sub-pixel rendering. Reverted totranslatefor the container. - Lime layer colour: The lime layer was displayed too bright — corrected to dark blue (
#1d4ed8).
0.4.7-dev13
Warning
Dies ist eine Entwicklungsversion (Dev Build) — nicht für den produktiven Einsatz empfohlen.
Funktionen können unvollständig oder fehlerhaft sein. Bitte Fehler als Issue melden.
Warning
This is a development build — not recommended for production use.
Features may be incomplete or contain bugs. Please report issues.
🇩🇪 Deutsch — v0.4.7-dev13 (Dev Build)
Caution
Die AutoDrive-Steuerung ist experimentell.
Die Funktion wurde nur in begrenzten Szenarien getestet. Bei unerwartetem Verhalten bitte als Issue melden und die Funktion nicht in kritischen Spielständen verwenden. Nur im Einzelspieler getestet.
Caution
AutoDrive-Steuerung funktioniert nicht für Clients, die einem Server joinen.
Die Funktion ist derzeit nur für den Host/Einzelspieler verfügbar.
Caution
Multiplayer-Unterstützung ist experimentell — bitte mit Vorsicht verwenden.
Multiplayer wurde in begrenzten Szenarien getestet. Fehler bitte als Issue melden.
Important
Dashboard-Einstellungen gehen nach diesem Update einmalig verloren.
Die savegameId wurde in dev12 korrigiert (war bisher mapId_slot, jetzt mapId_erstellungsdatum). Gespeicherte Einstellungen wie Schwellwerte und Filter müssen einmalig neu konfiguriert werden.
Bugfixes
- Multiplayer — Savegame-ID wird jetzt zuverlässig an Clients geliefert: Das bisherige Push-Modell (
onClientJoined-Hook) hat auf Dedicated Servern nicht funktioniert — Clients warteten immer bis zum Timeout und erhielten dann_unknownals Savegame-ID. Lösung: Pull-Modell — der Client sendet nach dem Beitreten einFarmMonitorRequestEventan den Server, der Server antwortet direkt auf diese Verbindung. Funktioniert jetzt zuverlässig auf Dedicated Servern und normalen MP-Hosts. - Karten-Hintergrundbild für neue / unbekannte Karten: Auf Karten die noch nie lokal gespielt wurden (z.B. direkt einem Dedicated Server beitreten) wurde das Kartenbild nicht geladen. Der Pfad wird jetzt direkt aus der Karten-XML gelesen (
imageFilename-Attribut). Der Go-Server sucht die DDS-Datei zusätzlich in übergeordneten ZIP-Archiven (Walk-up) — funktioniert auch für gepackte Karten-Mods. fieldMeta.jsonwird nicht neu geschrieben: Die Datei mit den Density-Map-Maximalwerten (sprayLevelMax,limeLevelMaxusw.) wurde versehentlich aus dem Lua-Code entfernt. Der Export ist wiederhergestellt.weedStateMaxwird jetzt dynamisch aus der Bitbreite der Weed-Density-Map berechnet.savegameId = nullbei neuen SP-Spielen: Bei einem frisch gestarteten Spiel das noch nie gespeichert wurde, warsavegameIdim JSONnull. Fallback ist jetztmapId_unsaved.
🇬🇧 English — v0.4.7-dev13 (Dev Build)
Caution
AutoDrive control is experimental.
This feature has only been tested in limited scenarios. If you experience unexpected behaviour, please report it as an issue and avoid using this feature on critical save games. Tested in singleplayer only.
Caution
AutoDrive control does not work for clients joining a multiplayer server.
This feature is currently only available for the host / singleplayer.
Caution
Multiplayer support is experimental — please use with caution.
Multiplayer has been tested in limited scenarios. Please report any issues.
Important
Dashboard settings will be lost once after this update.
The savegameId format was corrected in dev12 (was mapId_slot, now mapId_creationdate). Saved settings such as thresholds and filters will need to be reconfigured once.
Bug fixes
- Multiplayer — Savegame ID now reliably delivered to clients: The previous push model (
onClientJoinedhook) did not work on dedicated servers — clients always timed out and received_unknownas the savegame ID. Fix: pull model — the client sends aFarmMonitorRequestEventto the server after joining, and the server responds directly to that connection. Now works reliably on dedicated servers and regular MP hosts. - Map background image for new / unknown maps: On maps that had never been played locally (e.g. joining a dedicated server directly), the map background image was not loaded. The path is now read directly from the map XML (
imageFilenameattribute). The Go server also searches for the DDS file in parent ZIP archives (walk-up) — works for packed map mods too. fieldMeta.jsonnot being rewritten: The file containing density-map max values (sprayLevelMax,limeLevelMaxetc.) was accidentally removed from the Lua code. The export has been restored.weedStateMaxis now calculated dynamically from the bit-width of the weed density map.savegameId = nullfor new SP games: For a freshly started game that had never been saved,savegameIdwasnullin the JSON. Fallback is nowmapId_unsaved.