1 Modpaket Metadaten
Batista82 edited this page 2026-07-30 18:22:36 +02:00

Modpaket-Metadaten

Zweck

Phase 2 kann Metadaten aus lokalen Modpaketquellen lesen, ohne SCS-Inhalte zu verändern oder zu extrahieren.

Unterstützte Quellen:

  • Modverzeichnisse
  • ZIP-basierte .scs-Archive

HashFS-basierte .scs-Archive werden erkannt, aber für Metadaten noch nicht nativ gelesen.

Manifestpfad

Der Reader sucht im Paket nach:

manifest.sii

Fehlt diese Datei, wird das Paket als nicht auswertbar gemeldet.

Unterstützte Teilmenge

Der aktuelle Clean-Room-Reader wertet eine kleine textbasierte Teilmenge aus:

SiiNunit
{
mod_package : .package_id {
  display_name: "Anzeigename"
  package_version: "1.0"
  category[]: "map"
  required_mod[]: "connector"
}
}

Ausgewertet werden:

  • Paketkennung aus mod_package
  • display_name oder name
  • package_version oder version
  • category[]
  • required_mod[]
  • dependency[]

Unbekannte Felder werden ignoriert.

Ableitung

  • Die Paketkennung wird normalisiert und ohne führenden Punkt gespeichert.
  • category[] mit dem Wert map markiert die Quelle als Karten-Mod.
  • Abhängigkeiten werden als Modkennungen übernommen.
  • Fehlt ein Anzeigename, wird das Manifest abgelehnt.

Einbindung in Profilreader

ScsProfileModResolver durchsucht konfigurierte Modquellen nach:

  • Modverzeichnissen mit manifest.sii
  • direkten ZIP-basierten .scs-Dateien
  • .scs-Dateien direkt unter einem Modquellverzeichnis

Profil-Modreferenzen werden anhand der normalisierten Paketkennung aufgelöst. Bleibt eine Referenz unaufgelöst, bleibt die belegbare Profil-ID erhalten und es wird eine Diagnose erzeugt.

Grenzen

Diese Implementierung ist die vollständige Phase-2-Spezifikation der aktuell benötigten Modmanifest-Teilmenge. Sie ist kein vollständiger SCS-SII-Parser für alle möglichen SII-Objekte.