OmsiLaunch 文件

文件版本 v0.1.0-beta.3在 GitHub 上檢視原始檔

本頁為 OmsiLaunch 0.1.0-beta3 英文原始頁面 的翻譯。英文頁面為規範版本:若有出入,以英文頁面與程式碼為準。

這是 OmsiLaunch 0.1.0-beta3(強化後基準版本)的規範性英文文件。OmsiLaunch 針對唯一一個 OMSI 2 組建(設定檔 Omsi23004_692EBFBF)提供可程式化的啟動、工作階段擁有權與執行階段控制。docs/ 下的每一頁都描述目前程式碼的實際行為;當頁面與程式碼不一致時,以程式碼為準,該頁面即視為錯誤。

全文使用的穩定性詞彙:STABLE_BETA、EXPERIMENTAL、PARTIAL、INTERNAL、UNAVAILABLE。會被解析但不產生任何作用的旗標標示為 ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT。除非執行階段驗證狀態如此記載,否則任何項目都不稱為已於執行階段驗證。

讀者導覽#

頁面用途
快速上手從 OMSI 根目錄規劃、啟動、觀察並停止一個工作階段。
安裝先決條件、將套件解壓縮到 OMSI 根目錄、以 /version 驗證、完整移除。
公開 API 快速入門一個完整的 .NET 程式,用來規劃、啟動、讀取並停止一個工作階段。
CLI 參考OmsiLaunch.exe / OmsiLaunchW.exe 的所有旗標、命令字與階層式路由。
CLI 範例常見工作可直接複製貼上的命令列。
LaunchSpec 參考所有 LaunchSpec 屬性與列舉值,以及 /spec 的 JSON 載入規則。
工作階段設定檔參考profile.yaml 結構描述 omsilaunch.session-profile/v1、索引鍵、限制與優先順序。
公開 API 參考IOmsiLaunch、公開 record 與列舉,以及每個成員的穩定性。
公開 API 清單自動產生的清單,列出每個公開型別與成員及其簽章與穩定性。
執行階段控制執行階段命令通道、逾時、handle、停止語意。
功能參考功能目錄,以及每個公開執行階段操作 id 及其分類。
工作階段生命週期SessionState 狀態轉換、StartSessionAsync 保證的事項、工作階段如何結束。
交易與復原日誌狀態、備份、還原驗證、工作階段刪除、當機復原。
永久外掛程式模型plugins\OmsiLaunch.* 檔案集合、以資訊清單(manifest)為基礎的完整性檢查、工作階段絕不觸碰的項目。
本機控制/IPC具名管道(named pipe)協定 0.1、每個安裝各自的端點、session_id 繫結、信任模型。
OmsiLaunchW.exeWindows(無主控台)主機:與 OmsiLaunch.exe 的差異、/silent、對話方塊、結束代碼。
Windows 系統匣通知區域指示器:圖示、選單、狀態視窗的逐欄說明、End session、檔案總管重新啟動。
錯誤參考每個 OL_E_* / OL_W_* 代碼及其類別與意義。
結束代碼PublicExitCode 值 0 到 10,以及啟動程式 shim 代碼 100 到 106。
封裝/安裝配置發行 ZIP 中的檔案、release-manifest.json、.omsilaunch\ 的配置。
相容性/支援的 OMSI 組建唯一支援的 Omsi.exe hash、接受的 Steam LAA hash、平台需求。
已知限制此 Beta 版中不支援、部分支援或屬於已接受風險的項目。
執行階段驗證狀態哪些已在 OMSI 下執行過、哪些僅離線執行過、哪些仍需要實際工作階段。

對維護者而言仍具規範性的根層級頁面: 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。這些頁面只是摘要;上方各頁才是詳細參考。歷史頁面列於文件資訊清單。

本文件如何保持同步#

文件檢查關卡 tests\OmsiLaunch.DocumentationTests 會針對 OmsiLaunch.Api 與 OmsiLaunch.Core 進行編譯,並將上述頁面與定義公開介面的程式碼相互比對:

關卡檢查內容
docs.cli-flags每個 CliInput.KnownFlags 項目都以 `/flag` 或 `/flag:` 形式出現在 CLI 參考中;每個 CliInput.AcceptedNoEffectFlags 項目在其所在行都標示為 ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT;每個命令字與每個 CliInput.HierarchicalRoutes 路由都與其執行階段操作一同出現;每個 PublicExitCode 值在結束代碼表中都有一個 | n | 資料列。
docs.capabilities每個 PublicCapabilityRegistry.All id、每個 PublicCapabilityRegistry.PublicRuntimeOperationIds 項目與每個 PublicCapabilityClassification 名稱都出現在功能參考中。
docs.errors每個 PublicErrorCodes.All 代碼都出現在錯誤參考中,且 src\ 或 tools\OmsiLaunch.Cli\ 中沒有任何 OL_E_* / OL_W_* 常值缺漏於 PublicErrorCodes。
docs.public-apiOmsiLaunch.Api 的每個匯出型別、每個列舉值與每個 IOmsiLaunch 成員都出現在公開 API 參考中,且五個穩定性詞彙全部都有使用。
docs.launchspec可由 LaunchSpec 存取的每個公開屬性及其列舉的每個值都出現在 LaunchSpec 參考中。
docs.session-profiles每個 SessionProfileCompiler.SchemaKeys 索引鍵、結構描述識別碼與 256 KiB 限制都出現在工作階段設定檔參考中。
docs.structure導覽表中的每個頁面都存在。
docs.linksdocs\**\*.md(不含 docs\localized\)與根層級 *.md 檔案中的每個相對連結都能解析為一個檔案或目錄。
docs.localizationdocs\localized\LOCALIZATION-MANIFEST.md 所列的每個地區設定都具備本地化頁面集的所有頁面;每個頁面都保留英文頁面的標題、表格與程式碼區塊、每個行內程式碼片段(旗標、功能與操作 id、錯誤碼、索引鍵、識別碼)與每個連結,且其相對連結皆可解析。

此關卡是 tools\Invoke-OfflineValidation.ps1 執行的測試套件之一(可用 -SkipDocs 略過)。它以離線方式執行,絕不會啟動 OMSI;當旗標、路由、功能、錯誤碼、列舉值或公開型別未經記載,或連結失效時,會使組建失敗。它不檢查文字敘述,因此頁面對行為的描述仍可能有誤;遇到這種情況,請針對該頁面回報錯誤。

翻譯#

docs\localized\<locale>\ 存放此 0.1.0-beta3 文件的完整翻譯,涵蓋 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 與 ja-JP。頁面集、各地區設定的根目錄以及刻意不翻譯的頁面列於 localized/LOCALIZATION-MANIFEST.md。翻譯會保留英文頁面中的每個命令、旗標、識別碼、錯誤碼與範例不變,並由 docs.localization 關卡進行檢查。英文頁面仍是規範性的來源:翻譯與英文頁面不一致時,以英文頁面與程式碼為準,該翻譯即視為錯誤。