# OmsiLaunch-Dokumentation
> Übersetzung der [englischen Originalseite](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/docs/README.md) für OmsiLaunch 0.1.0-beta3. Maßgeblich ist die englische Seite: Bei Abweichungen gelten die englische Seite und der Code.
Dies ist die normative englische Dokumentation für OmsiLaunch `0.1.0-beta3`, die
Basislinie nach der Härtung. OmsiLaunch bietet programmierbaren Start,
Sitzungseigentümerschaft und Runtime-Steuerung für genau einen OMSI-2-Build, das Profil
`Omsi23004_692EBFBF`. Jede Seite unter `docs/` beschreibt, was der aktuelle Code
tut; wenn eine Seite und der Code voneinander abweichen, gilt der Code, und die Seite ist ein Fehler.
Durchgehend verwendetes Stabilitätsvokabular: `STABLE_BETA`, `EXPERIMENTAL`, `PARTIAL`,
`INTERNAL`, `UNAVAILABLE`. Flags, die geparst werden, aber nichts bewirken, sind als
`ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT` gekennzeichnet. Nichts wird als
zur Laufzeit validiert bezeichnet, sofern der
[Status der Runtime-Validierung](https://omsilaunch.omsimods.com.br/de/docs/status/runtime-validation-status/index.md) dies nicht angibt.
## Wer liest was
| Zielgruppe | Hier beginnen | Danach |
| --- | --- | --- |
| Anwender (CLI, Verknüpfungen, Sitzungsprofile) | [Installation](https://omsilaunch.omsimods.com.br/de/docs/getting-started/installation/index.md), [Erste Sitzung](https://omsilaunch.omsimods.com.br/de/docs/getting-started/first-session/index.md) | [CLI-Referenz](https://omsilaunch.omsimods.com.br/de/docs/reference/cli/index.md), [CLI-Beispiele](https://omsilaunch.omsimods.com.br/de/docs/reference/cli-examples/index.md), [Sitzungsprofile](https://omsilaunch.omsimods.com.br/de/docs/reference/session-profiles/index.md), [Windows-Tray](https://omsilaunch.omsimods.com.br/de/docs/reference/windows-tray/index.md), [Exitcodes](https://omsilaunch.omsimods.com.br/de/docs/reference/exit-codes/index.md) |
| Integratoren (`OmsiLaunch.Api`, lokale IPC) | [Schnellstart zur öffentlichen API](https://omsilaunch.omsimods.com.br/de/docs/getting-started/api-quick-start/index.md), [Referenz der öffentlichen API](https://omsilaunch.omsimods.com.br/de/docs/reference/public-api/index.md), [LaunchSpec-Referenz](https://omsilaunch.omsimods.com.br/de/docs/reference/launchspec/index.md) | [Sitzungslebenszyklus](https://omsilaunch.omsimods.com.br/de/docs/concepts/session-lifecycle/index.md), [Runtime-Steuerung](https://omsilaunch.omsimods.com.br/de/docs/reference/runtime-control/index.md), [Capabilities](https://omsilaunch.omsimods.com.br/de/docs/reference/capabilities/index.md), [Lokale Steuerung / IPC](https://omsilaunch.omsimods.com.br/de/docs/reference/local-control/index.md), [Fehlerreferenz](https://omsilaunch.omsimods.com.br/de/docs/reference/errors/index.md) |
| Maintainer (Release, Validierung, Grenzen) | [Paketierung](https://omsilaunch.omsimods.com.br/de/docs/reference/packaging/index.md), [Modell des permanenten Plugins](https://omsilaunch.omsimods.com.br/de/docs/concepts/permanent-plugin/index.md) | [Transaktionen und Recovery](https://omsilaunch.omsimods.com.br/de/docs/concepts/transactions-and-recovery/index.md), [Kompatibilität](https://omsilaunch.omsimods.com.br/de/docs/reference/compatibility/index.md), [Bekannte Einschränkungen](https://omsilaunch.omsimods.com.br/de/docs/reference/known-limitations/index.md), [Status der Runtime-Validierung](https://omsilaunch.omsimods.com.br/de/docs/status/runtime-validation-status/index.md) |
## Navigation
| Seite | Zweck |
| --- | --- |
| [Erste Schritte](https://omsilaunch.omsimods.com.br/de/docs/getting-started/first-session/index.md) | Eine Sitzung aus dem OMSI-Stammverzeichnis planen, starten, beobachten und beenden. |
| [Installation](https://omsilaunch.omsimods.com.br/de/docs/getting-started/installation/index.md) | Voraussetzungen, Entpacken des Pakets in das OMSI-Stammverzeichnis, Überprüfung mit `/version`, saubere Entfernung. |
| [Schnellstart zur öffentlichen API](https://omsilaunch.omsimods.com.br/de/docs/getting-started/api-quick-start/index.md) | Ein vollständiges .NET-Programm, das eine Sitzung plant, startet, ausliest und beendet. |
| [CLI-Referenz](https://omsilaunch.omsimods.com.br/de/docs/reference/cli/index.md) | Jedes Flag, jedes Befehlswort und jede hierarchische Route von `OmsiLaunch.exe` / `OmsiLaunchW.exe`. |
| [CLI-Beispiele](https://omsilaunch.omsimods.com.br/de/docs/reference/cli-examples/index.md) | Befehlszeilen zum Kopieren und Einfügen für häufige Aufgaben. |
| [LaunchSpec-Referenz](https://omsilaunch.omsimods.com.br/de/docs/reference/launchspec/index.md) | Jede `LaunchSpec`-Eigenschaft und jeder Enum-Wert, JSON-Laderegeln für `/spec`. |
| [Referenz der Sitzungsprofile](https://omsilaunch.omsimods.com.br/de/docs/reference/session-profiles/index.md) | `profile.yaml`-Schema `omsilaunch.session-profile/v1`, Schlüssel, Grenzwerte, Vorrang. |
| [Referenz der öffentlichen API](https://omsilaunch.omsimods.com.br/de/docs/reference/public-api/index.md) | `IOmsiLaunch`, öffentliche Records und Enums, Stabilität pro Member. |
| [Inventar der öffentlichen API](https://omsilaunch.omsimods.com.br/de/docs/reference/public-api-inventory/index.md) | Generierte Liste aller öffentlichen Typen und Member mit Signatur und Stabilität. |
| [Runtime-Steuerung](https://omsilaunch.omsimods.com.br/de/docs/reference/runtime-control/index.md) | Runtime-Befehlskanal, Timeouts, Handles, Stopp-Semantik. |
| [Capabilities-Referenz](https://omsilaunch.omsimods.com.br/de/docs/reference/capabilities/index.md) | Capability-Katalog und jede öffentliche Runtime-Operations-ID mit ihrer Klassifizierung. |
| [Sitzungslebenszyklus](https://omsilaunch.omsimods.com.br/de/docs/concepts/session-lifecycle/index.md) | `SessionState`-Übergänge, was `StartSessionAsync` zusagt, wie eine Sitzung endet. |
| [Transaktionen und Recovery](https://omsilaunch.omsimods.com.br/de/docs/concepts/transactions-and-recovery/index.md) | Journal-Zustände, Backups, Überprüfung der Wiederherstellung, Löschungen während der Sitzung, Recovery nach Absturz. |
| [Modell des permanenten Plugins](https://omsilaunch.omsimods.com.br/de/docs/concepts/permanent-plugin/index.md) | Die `plugins\OmsiLaunch.*`-Plugin-Closure, manifestbasierte Integrität, was eine Sitzung niemals anrührt. |
| [Lokale Steuerung / IPC](https://omsilaunch.omsimods.com.br/de/docs/reference/local-control/index.md) | Named-Pipe-Protokoll `0.1`, Endpunkt pro Installation, `session_id`-Bindung, Vertrauensmodell. |
| [OmsiLaunchW.exe](https://omsilaunch.omsimods.com.br/de/docs/reference/omsilaunchw/index.md) | Der Windows-Host (ohne Konsole): Unterschiede zu `OmsiLaunch.exe`, `/silent`, Dialoge, Exitcodes. |
| [Windows-Tray](https://omsilaunch.omsimods.com.br/de/docs/reference/windows-tray/index.md) | Anzeige im Infobereich: Symbol, Menü, Statusfenster Feld für Feld, Sitzung beenden, Neustart des Explorers. |
| [Fehlerreferenz](https://omsilaunch.omsimods.com.br/de/docs/reference/errors/index.md) | Jeder `OL_E_*`- / `OL_W_*`-Code mit Kategorie und Bedeutung. |
| [Exitcodes](https://omsilaunch.omsimods.com.br/de/docs/reference/exit-codes/index.md) | `PublicExitCode`-Werte 0 bis 10 und Shim-Codes des Bootstrappers 100 bis 106. |
| [Paketierung / Installationslayout](https://omsilaunch.omsimods.com.br/de/docs/reference/packaging/index.md) | Dateien im Release-ZIP, `release-manifest.json`, `.omsilaunch\`-Layout. |
| [Kompatibilität / Unterstützte OMSI-Builds](https://omsilaunch.omsimods.com.br/de/docs/reference/compatibility/index.md) | Der eine unterstützte `Omsi.exe`-Hash, der akzeptierte Steam-LAA-Hash, Plattformanforderungen. |
| [Bekannte Einschränkungen](https://omsilaunch.omsimods.com.br/de/docs/reference/known-limitations/index.md) | Was in dieser Beta nicht unterstützt, teilweise umgesetzt oder ein akzeptiertes Risiko ist. |
| [Status der Runtime-Validierung](https://omsilaunch.omsimods.com.br/de/docs/status/runtime-validation-status/index.md) | Was unter OMSI lief, was nur offline lief, was noch eine echte Sitzung benötigt. |
Seiten auf Stammebene, die für Maintainer normativ bleiben:
[`README.md`](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/README.md), [`PUBLIC-API.md`](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/PUBLIC-API.md),
[`RUNTIME-CONTROL.md`](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/RUNTIME-CONTROL.md),
[`RUNTIME-CAPABILITIES.md`](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/RUNTIME-CAPABILITIES.md),
[`BUILD-PROFILES.md`](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/BUILD-PROFILES.md),
[`IMPLEMENTATION-STATUS.md`](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/IMPLEMENTATION-STATUS.md),
[`TESTING-AND-VALIDATION.md`](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/TESTING-AND-VALIDATION.md),
[`POST-RELEASE-BACKLOG.md`](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/POST-RELEASE-BACKLOG.md). Sie fassen zusammen; die
oben genannten Seiten sind die ausführliche Referenz. Historische Seiten sind im
[Dokumentationsmanifest](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/docs/DOCUMENTATION-MANIFEST.md) aufgeführt.
## Wie diese Dokumentation synchron gehalten wird
Ein Dokumentations-Gate, `tests\OmsiLaunch.DocumentationTests`, wird gegen
`OmsiLaunch.Api` und `OmsiLaunch.Core` kompiliert und vergleicht die oben genannten Seiten mit dem
Code, der die öffentliche Oberfläche definiert:
| Gate | Prüft |
| --- | --- |
| `docs.cli-flags` | Jeder `CliInput.KnownFlags`-Eintrag erscheint in der CLI-Referenz als `` `/flag` `` oder `` `/flag:` ``; jeder `CliInput.AcceptedNoEffectFlags`-Eintrag ist in seiner Zeile als `ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT` gekennzeichnet; jedes Befehlswort und jede `CliInput.HierarchicalRoutes`-Route erscheint mit ihrer Runtime-Operation; jeder `PublicExitCode`-Wert hat eine `| n |`-Zeile in der Exitcode-Tabelle. |
| `docs.capabilities` | Jede `PublicCapabilityRegistry.All`-ID, jeder `PublicCapabilityRegistry.PublicRuntimeOperationIds`-Eintrag und jeder `PublicCapabilityClassification`-Name erscheint in der Capabilities-Referenz. |
| `docs.errors` | Jeder `PublicErrorCodes.All`-Code erscheint in der Fehlerreferenz, und kein `OL_E_*`- / `OL_W_*`-Literal in `src\` oder `tools\OmsiLaunch.Cli\` fehlt in `PublicErrorCodes`. |
| `docs.public-api` | Jeder exportierte Typ von `OmsiLaunch.Api`, jeder Enum-Wert und jeder `IOmsiLaunch`-Member erscheint in der Referenz der öffentlichen API, und alle fünf Stabilitätswörter werden verwendet. |
| `docs.launchspec` | Jede von `LaunchSpec` aus erreichbare öffentliche Eigenschaft und jeder Wert ihrer Enums erscheint in der LaunchSpec-Referenz. |
| `docs.session-profiles` | Jeder `SessionProfileCompiler.SchemaKeys`-Schlüssel, der Schemabezeichner und der Grenzwert von `256 KiB` erscheinen in der Referenz der Sitzungsprofile. |
| `docs.structure` | Jede Seite in der Navigationstabelle existiert. |
| `docs.links` | Jeder relative Link in `docs\**\*.md` (ausgenommen `docs\localized\`) und in den `*.md`-Dateien auf Stammebene wird zu einer Datei oder einem Verzeichnis aufgelöst. |
| `docs.localization` | Jedes in `docs\localized\LOCALIZATION-MANIFEST.md` aufgeführte Gebietsschema enthält jede Seite des lokalisierten Seitensatzes; jede Seite behält die Überschriften, Tabellen und Codeblöcke der englischen Seite, jeden Inline-Code-Abschnitt (Flags, Capability- und Operations-IDs, Fehlercodes, Schlüssel, Bezeichner) und jeden Link bei, und ihre relativen Links werden aufgelöst. |
Das Gate ist eine der Testsuiten, die von `tools\Invoke-OfflineValidation.ps1` ausgeführt werden
(überspringen Sie es mit `-SkipDocs`). Es läuft offline, startet niemals OMSI und lässt den
Build fehlschlagen, wenn ein Flag, eine Route, eine Capability, ein Fehlercode, ein Enum-Wert oder ein öffentlicher Typ
undokumentiert oder ein Link defekt ist. Es prüft keinen Fließtext, daher kann eine Seite
das Verhalten dennoch falsch beschreiben; melden Sie dies als Fehler gegen die Seite.
## Übersetzungen
`docs\localized\\` enthält vollständige Übersetzungen dieser `0.1.0-beta3`-Dokumentation
für `pt-BR`, `pt-PT`, `en-GB`, `fr-FR`, `de-DE`, `es-ES`, `es-LATAM`, `it-IT`, `pl-PL`, `nl-NL`, `ru-RU`, `zh-CN`, `zh-TW` und `ja-JP`. Der Seitensatz, die Stammverzeichnisse der Gebietsschemas und die
absichtlich nicht übersetzten Seiten sind in
[`localized/LOCALIZATION-MANIFEST.md`](https://github.com/lmonteirotech/OmsiLaunch/blob/v0.1.0-beta.3/docs/localized/LOCALIZATION-MANIFEST.md) aufgeführt.
Übersetzungen behalten jeden Befehl, jedes Flag, jeden Bezeichner, jeden Fehlercode und jedes Beispiel
der englischen Seiten unverändert bei, und das `docs.localization`-Gate prüft dies.
Die englischen Seiten bleiben die normative Quelle: Wo eine Übersetzung von ihnen
abweicht, sind die englische Seite und der Code maßgeblich, und die Übersetzung
ist ein Fehler.