OmsiLaunch-Dokumentation

Dokumentation für Version v0.1.0-beta.3Quelle auf GitHub ansehen

Übersetzung der englischen Originalseite 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 dies nicht angibt.

Wer liest was#

SeiteZweck
Erste SchritteEine Sitzung aus dem OMSI-Stammverzeichnis planen, starten, beobachten und beenden.
InstallationVoraussetzungen, Entpacken des Pakets in das OMSI-Stammverzeichnis, Überprüfung mit /version, saubere Entfernung.
Schnellstart zur öffentlichen APIEin vollständiges .NET-Programm, das eine Sitzung plant, startet, ausliest und beendet.
CLI-ReferenzJedes Flag, jedes Befehlswort und jede hierarchische Route von OmsiLaunch.exe / OmsiLaunchW.exe.
CLI-BeispieleBefehlszeilen zum Kopieren und Einfügen für häufige Aufgaben.
LaunchSpec-ReferenzJede LaunchSpec-Eigenschaft und jeder Enum-Wert, JSON-Laderegeln für /spec.
Referenz der Sitzungsprofileprofile.yaml-Schema omsilaunch.session-profile/v1, Schlüssel, Grenzwerte, Vorrang.
Referenz der öffentlichen APIIOmsiLaunch, öffentliche Records und Enums, Stabilität pro Member.
Inventar der öffentlichen APIGenerierte Liste aller öffentlichen Typen und Member mit Signatur und Stabilität.
Runtime-SteuerungRuntime-Befehlskanal, Timeouts, Handles, Stopp-Semantik.
Capabilities-ReferenzCapability-Katalog und jede öffentliche Runtime-Operations-ID mit ihrer Klassifizierung.
SitzungslebenszyklusSessionState-Übergänge, was StartSessionAsync zusagt, wie eine Sitzung endet.
Transaktionen und RecoveryJournal-Zustände, Backups, Überprüfung der Wiederherstellung, Löschungen während der Sitzung, Recovery nach Absturz.
Modell des permanenten PluginsDie plugins\OmsiLaunch.*-Plugin-Closure, manifestbasierte Integrität, was eine Sitzung niemals anrührt.
Lokale Steuerung / IPCNamed-Pipe-Protokoll 0.1, Endpunkt pro Installation, session_id-Bindung, Vertrauensmodell.
OmsiLaunchW.exeDer Windows-Host (ohne Konsole): Unterschiede zu OmsiLaunch.exe, /silent, Dialoge, Exitcodes.
Windows-TrayAnzeige im Infobereich: Symbol, Menü, Statusfenster Feld für Feld, Sitzung beenden, Neustart des Explorers.
FehlerreferenzJeder OL_E_*- / OL_W_*-Code mit Kategorie und Bedeutung.
ExitcodesPublicExitCode-Werte 0 bis 10 und Shim-Codes des Bootstrappers 100 bis 106.
Paketierung / InstallationslayoutDateien im Release-ZIP, release-manifest.json, .omsilaunch\-Layout.
Kompatibilität / Unterstützte OMSI-BuildsDer eine unterstützte Omsi.exe-Hash, der akzeptierte Steam-LAA-Hash, Plattformanforderungen.
Bekannte EinschränkungenWas in dieser Beta nicht unterstützt, teilweise umgesetzt oder ein akzeptiertes Risiko ist.
Status der Runtime-ValidierungWas 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, PUBLIC-API.md, RUNTIME-CONTROL.md, RUNTIME-CAPABILITIES.md, BUILD-PROFILES.md, IMPLEMENTATION-STATUS.md, TESTING-AND-VALIDATION.md, POST-RELEASE-BACKLOG.md. Sie fassen zusammen; die oben genannten Seiten sind die ausführliche Referenz. Historische Seiten sind im Dokumentationsmanifest 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:

GatePrüft
docs.cli-flagsJeder 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.capabilitiesJede PublicCapabilityRegistry.All-ID, jeder PublicCapabilityRegistry.PublicRuntimeOperationIds-Eintrag und jeder PublicCapabilityClassification-Name erscheint in der Capabilities-Referenz.
docs.errorsJeder 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-apiJeder 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.launchspecJede von LaunchSpec aus erreichbare öffentliche Eigenschaft und jeder Wert ihrer Enums erscheint in der LaunchSpec-Referenz.
docs.session-profilesJeder SessionProfileCompiler.SchemaKeys-Schlüssel, der Schemabezeichner und der Grenzwert von 256 KiB erscheinen in der Referenz der Sitzungsprofile.
docs.structureJede Seite in der Navigationstabelle existiert.
docs.linksJeder 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.localizationJedes 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\<locale>\ 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 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.