Donate to KroModIx/KroModIx.Plugin.LS25
  • buymeacoffee.com/kroste

See the documentation for more details on donation links.

No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Lars Oste f276ce6599
All checks were successful
CI / build (push) Successful in 44s
Die Forge heisst git.flexfamily.de
Lars am 28.10.2026: "ab jetzt git.flexfamily.de gehoeren die repos".
Grund, und das ist der eigentliche Punkt: **git.flexfamily.cloud ist in
Lars' Firmennetz gesperrt**, .de nicht. Beide Namen zeigen auf dieselbe
Instanz und haben ein Zertifikat -- vom Arbeitsplatz aus waere die Forge
unter dem alten Namen aber nicht erreichbar.

Umgestellt sind damit: ROOT_URL, DOMAIN und SSH_DOMAIN der Instanz, alle
Git-Remotes, die Workflows und jedes Programm, das dort etwas abholt.

Ohne den Grund wirkt das wie Geschmack, und der naechste, der eine
Adresse schreibt, nimmt wieder die falsche. Er steht im allgemeinen Skill
und in RUNNER.md.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-28 14:29:58 +01:00
.forgejo/workflows Die Forge heisst git.flexfamily.de 2026-10-28 14:29:58 +01:00
.github fix(v1.22.0): Eintraege fremder Mod-Manager nicht mehr anfassen 2026-10-04 09:08:26 +02:00
docs docs: Screenshot + README auf den aktuellen Stand 2026-09-01 22:13:36 +02:00
KroModIx.Plugin.LS25 fix(v1.22.0): Eintraege fremder Mod-Manager nicht mehr anfassen 2026-10-04 09:08:26 +02:00
KroModIx.Plugin.LS25.Tests fix(v1.22.0): Eintraege fremder Mod-Manager nicht mehr anfassen 2026-10-04 09:08:26 +02:00
.editorconfig init: ModManager.Plugins.LS25 v0.1.0 (M3.1) 2026-08-07 20:10:00 +02:00
.gitignore init: ModManager.Plugins.LS25 v0.1.0 (M3.1) 2026-08-07 20:10:00 +02:00
CLAUDE.md fix(v1.22.0): Eintraege fremder Mod-Manager nicht mehr anfassen 2026-10-04 09:08:26 +02:00
Directory.Build.props rename: ModManager.Plugins.LS25 → KroModIx.Plugin.LS25 (v1.0.0) 2026-08-09 21:11:25 +02:00
Directory.Packages.props fix(v1.22.0): Eintraege fremder Mod-Manager nicht mehr anfassen 2026-10-04 09:08:26 +02:00
KroModIx.Plugin.LS25.slnx fix(v1.22.0): Eintraege fremder Mod-Manager nicht mehr anfassen 2026-10-04 09:08:26 +02:00
LICENSE init: ModManager.Plugins.LS25 v0.1.0 (M3.1) 2026-08-07 20:10:00 +02:00
nuget.config Die Forge heisst git.flexfamily.de 2026-10-28 14:29:58 +01:00
README.md docs: Screenshot + README auf den aktuellen Stand 2026-09-01 22:13:36 +02:00

KroModIx.Plugin.LS25

CI Release

Landwirtschafts-Simulator 25 als Plugin für den KroModIx. Aggregierter Katalog über GIANTS ModHub + Hof Hirschfeld + modhoster, Preview-Bilder aus dem Mod-ZIP, Update-Discovery für installierte Mods, KI-Zusammenfassung im Detail-Dialog, Backup/Restore.

Voraussetzungen

Braucht den KroModIx-Host ab v1.27.0 — dort sitzen der Backup-Baukasten und der gemeinsame Versions-Vergleich, gegen die dieses Plugin gebaut ist. Ältere Hosts laden das Plugin nicht.

Screenshot

Installiert-Tab mit ModHub-Metadaten pro Mod

Ziel-Spiel

Farming Simulator 25 — Steam AppId 2300320.

  • Windows: Documents\My Games\FarmingSimulator2025\mods\
  • Linux (Proton): <Proton-Prefix>/drive_c/users/steamuser/My Documents/My Games/FarmingSimulator2025/mods/

Neu in v1.15.0

  • DE+EN-Übersetzung aller User-facing Strings (128 Keys) — Tab-Labels, Buttons, Placeholders, Tooltips, Statusmeldungen, Notifications, Dialoge. Sprachwechsel im Host schaltet nach Kachel-Reselect (Host-Tab-Cache invalidiert seit v1.14.7) live um.

Neu in v1.14.0

  • DDS-Preview mit ffmpeg-Fallback: Pfim decodiert BC1/BC2/BC3 und unkomprimierte Formate, für BC7 + exotische DXT-Varianten fällt der Converter jetzt auf ffmpeg -f dds -i pipe:0 -f image2pipe -c:v png pipe:1 zurück. Kein Fehler wenn ffmpeg fehlt — Convert liefert dann null, die UI zeigt den Icon-Fallback.

Features

Installiert-Tab

  • Alle Mods im Mods-Ordner mit Cover-Preview (aus modDesc.xml via DDS→PNG-Konvertierung), Autor, Version, Größe, Beschreibung
  • Enable/Disable per Klick (rename → .zip.disabled)
  • Multi-Select mit Bulk-Aktivieren/Deaktivieren/Deinstallieren
  • 🔄 Updates prüfen — vergleicht installierte Versionen mit dem ModHub-Katalog (Fuzzy-Match Filename → Titel)
  • ⬆ Alle updaten — installiert alle gefundenen Updates sequenziell
  • 🔍 Details per Doppelklick oder Button — öffnet GIANTS-Detail-Dialog mit Screenshots + KI-Zusammenfassung
  • Drag&Drop von .zip-Files installiert direkt
  • Backup + Restore aller Mods als ZIP mit Enabled-State-Manifest

ModHub-Tab (Katalog)

  • GIANTS-ModHub aggregiert mit Hof Hirschfeld und modhoster
  • Suche, Kategorien, „nur neu"-Toggle
  • Doppelklick öffnet Detail-Dialog mit Screenshots + Beschreibung + KI

Downloads-Tab

  • Alle heruntergeladenen .zip-Files mit Cover + Beschreibung
  • 📥 Alle installieren — Bulk-Install-Button
  • Pro Row: Installieren + 🔍 Details + Löschen
  • Auto-Refresh via FileSystemWatcher

Einstellungen

  • Katalog-Sprache, Katalog-Refresh-Intervall
  • KI-Provider wird zentral im Host konfiguriert (_host.Ai)

IUpdateNotifier

Grüner ↑-Badge auf der FS25-Kachel nur bei echten Updates für deine installierten Mods (v1.13.1). Auto-Check läuft 20 s nach Plugin-Load im Hintergrund. Neue ModHub-Katalog-Einträge sind ein Community-News- Signal und werden bewusst nicht mehr im Actionable-Badge summiert.

Installation

Aus dem Release das ZIP entpacken nach:

  • Windows: %APPDATA%\KroModIx\plugins\kroste.ls25\
  • Linux: ~/.config/KroModIx/plugins/kroste.ls25/

Alternativ: 1-Klick-Install über die Install-Karte in der KroModIx-Sidebar.

Kataloge

Quelle Format Direct-Download Notes
GIANTS ModHub HTML-Scraping ✅ Rate-Limit-schonend, Cache 24h
Hof Hirschfeld HTML-Scraping ❌ (Consent-Overlay) Detail-Link im Browser
modhoster Public JSON ❌ (Login-Pflicht) Detail-Link im Browser

Entwicklung

dotnet build

Braucht Zugriff auf das KroModIx-GitHub-Packages-Feed für KroModIx.Plugin.Contracts:

  • CI: secrets.GITHUB_TOKEN reicht
  • Lokal: gh auth refresh -s read:packages + nuget.config mit packageSourceMapping (siehe Repo)

Release: Tag vX.Y.Z setzen + pushen → GitHub-Action baut Bundle-ZIP.

Backups vor jedem Install

Bevor das Plugin Dateien ins Spiel schreibt, legt es einen Snapshot des Ziel-Verzeichnisses an — bei Einzel-Installs einen pro Mod, bei Bulk-Installs einen vor dem ganzen Durchlauf. Zurückspielen läuft über das Backups-Fenster im Kontextmenü der Sidebar-Kachel; es gibt bewusst kein Auto-Rollback, damit du entscheidest, welchen Stand du zurückholst. Aufbewahrt werden die letzten zehn Snapshots pro Spiel.

Schlägt ein Snapshot fehl, läuft der Install trotzdem durch (mit Log-Eintrag) — das Backup ist ein Netz, kein Türsteher.

Lizenz

MIT — siehe LICENSE.


☕ buymeacoffee.com/kroste