- C# 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
CI / build (push) Successful in 42s
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> |
||
| .forgejo/workflows | ||
| .github/workflows | ||
| docs | ||
| KroModIx.Plugin.SevenDaysToDie | ||
| KroModIx.Plugin.SevenDaysToDie.Tests | ||
| .editorconfig | ||
| .gitignore | ||
| CLAUDE.md | ||
| Directory.Build.props | ||
| Directory.Packages.props | ||
| KroModIx.Plugin.SevenDaysToDie.slnx | ||
| LICENSE | ||
| nuget.config | ||
| README.md | ||
KroModIx.Plugin.SevenDaysToDie
7 Days to Die Mod-Manager — Plugin für den KroModIx.
Verwaltet Vanilla-Loader-Mods für 7 Days to Die (The Fun Pimps,
Steam AppId 251570). Jeder Mod ist ein Ordner mit ModInfo.xml unter
<InstallDir>/Mods/. Kein Bootstrap-Assistent nötig — der Mod-Loader
ist Vanilla, ab A20 sind Mods per Default aktiv.
Voraussetzungen
Braucht den KroModIx-Host ab v1.32.0 — dort sitzen der Backup-Baukasten, der gemeinsame Versions-Vergleich und seit v0.4.0 der Archiv-Baukasten samt Ausbruch-Schutz, gegen die dieses Plugin gebaut ist. Ältere Hosts laden das Plugin nicht.
Screenshot
Features
Installiert-Tab
-
Discovery aller Mod-Ordner unter
<InstallDir>/Mods/:Zustand Ordner Toggle Aktiv Mods/MyMod/Rename → Mods/MyMod.disabled/Deaktiviert Mods/MyMod.disabled/Rename zurück -
ModInfo.xml-Parser unterstützt beide historischen Formate:
- A20+ Attribut-Form:
<Name value="Foo" />,<Author value="X" />… - Legacy Element-Form:
<Name>Foo</Name>,<Author>X</Author>…
- A20+ Attribut-Form:
-
Kroste-Card-Row mit Cover (140×90, aus Nexus-Katalog via InstallManifest-ModId), Titel, Autor · Version · Größe · Datum, Summary, Status-Label, Actions (Toggle, 🔍 Details, 🗑 Deinstallieren).
-
Doppelklick auf Row öffnet den gleichen Nexus-Detail-Dialog wie im Katalog-Tab (falls ModId im InstallManifest hinterlegt).
-
Bulk-Aktionen mit Progress-Scope: „▶▶ Alle aktivieren" / „⏸⏸ Alle deaktivieren" mit Confirm-Dialog.
-
Filter-Textbox live nach Namen.
Nexus-Tab
- Voll-Katalog via
INexusService.SearchModsAsync(Contracts v1.15+, öffentliches GraphQL, kein Personal-Key nötig für Read). - Pagination (40 pro Seite), Sort (Update / Add / Endorsed / Downloaded), Server-Search, Kategorie-Filter clientseitig.
- Direct-Download in den Plugin-Downloads-Ordner (Premium-Only, analog Cyberpunk/DSP).
- Detail-Dialog mit Cover, Meta-Row, KI-Zusammenfassung
(via
IHostServices.Ai), Rich-HTML-Beschreibung. Sprachabhängiger AI-Prompt.
Downloads-Tab
- Listet
.zip/.rar/.7zim Plugin-Downloads-Ordner. - Auto-Layout-Install via SharpCompress:
- Archiv mit
Mods/-Root → direktes Extract ins Game-Root - Archiv mit
ModInfo.xmlirgendwo → Elternordner wird zum Mod
- Archiv mit
- Bulk-Install aller Downloads mit Progress-Scope.
- Row-Enrichment:
NexusFileNameParserextrahiert ModId aus dem Nexus-CDN-Filename (beide Formate: Dash + Space), Enricher zieht Cover/Autor/Summary aus dem Katalog. Doppelklick + 🔍 Details.
Update-Discovery (IUpdateNotifier)
SevenDaysInstallManifestStorepersistiert pro installiertem Mod-Ordner ein Manifest mit Nexus-ModId + Version + Original-Filename.SevenDaysUpdateCheckermatcht Manifests gegen Nexus-Katalog, meldet echte Versions-Deltas als grünen ↑-Badge auf der 7DTD- Sidebar-Kachel.
Sprachumschaltung
DE + EN. Nach Sprachwechsel im Host: Kachel neu selektieren, dann sind die frischen Übersetzungen aktiv (Host-Tab-Cache-Invalidate seit v1.14.7).
Build
dotnet build -c Release
dotnet test
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.
