Instalación
Traducción de la página original en inglés de OmsiLaunch 0.1.0-beta3. La página en inglés es la referencia normativa: si difieren, prevalecen la página en inglés y el código.
Esta página explica qué requiere OmsiLaunch 0.1.0-beta3, qué build de OMSI admite, cómo se instala el paquete de la versión en una raíz de instalación de OMSI y cómo se verifica la instalación con /version y /plan antes de iniciar una sesión. El contenido del paquete se especifica en empaquetado; el primer lanzamiento se describe en primera sesión.
Requisitos#
| Requisito | Detalle | Fallo si falta |
|---|---|---|
| Windows 10 o posterior, 64 bits | El controlador comprueba Environment.OSVersion.Version.Major >= 10, un sistema operativo x64 y un proceso x64. | El plan no es ejecutable, con OL_E_UNSUPPORTED_OPERATING_SYSTEM (o OL_E_UNSUPPORTED_OS_ARCHITECTURE), salida 1/3. |
| .NET 6 Desktop Runtime, x64 | OmsiLaunch.Controller.runtimeconfig.json requiere Microsoft.NETCore.App 6.0 y Microsoft.WindowsDesktop.App 6.0 (el indicador de la bandeja usa Windows Forms). Los shims lo localizan con nethost.dll. | OmsiLaunch.exe termina con un código de shim 102..106 antes de cualquier salida; OmsiLaunchW.exe muestra OmsiLaunch could not start the .NET host (code N). |
| .NET 6 Runtime, x86 | plugins\OmsiLaunch.Plugin.runtimeconfig.json requiere Microsoft.NETCore.App 6.0 para x86, porque el plugin se ejecuta dentro del Omsi.exe de 32 bits. El paquete x86 de .NET 6 Desktop Runtime también cumple este requisito. | El plugin no se inicia dentro de OMSI; la sesión no llega a Running (OL_E_PLUGIN_NOT_LOADED / OL_E_STARTUP_TIMEOUT), salida 1, archivos restaurados. |
| Build de OMSI 2 admitida | Omsi.exe con SHA-256 692EBFBF2CD32FAB05A8B934E52C2BE14594E939882F3DBF2BA4E2B66CCC6243 (8,503,440 bytes), perfil Omsi23004_692EBFBF, validado en runtime. El ejecutable Steam LAA 7DAB063D1F62E73B3A2C7A6AC1921D7EDF5E5DB0FBC731481D117EEC8DE7D759 se acepta, pero su estado de validación es pending_beta_field_validation. El hash se vuelve a comprobar en cada planificación y en cada inicio. | OL_E_UNSUPPORTED_BUILD; el plan no es ejecutable, salida 1. Consulta compatibilidad. |
| Raíz de instalación con permiso de escritura | La transacción escribe .omsilaunch\, overlays bajo GUI\, Texture\ y options.cfg, y los restaura; el usuario actual debe poder escribir en la raíz (evita Program Files sin los permisos adecuados). | OL_E_INSTALLATION_NOT_WRITABLE, salida 1. |
| Un usuario, un propietario por instalación | El lease de la instalación Local\OmsiLaunch.Installation.<sha256(root)> y la canalización de control son por sesión de inicio de sesión de Windows. | OL_E_INSTALLATION_BUSY / OL_E_SESSION_ALREADY_ACTIVE, salida 7. |
Ambos runtimes se descargan por separado desde Microsoft; instala el Desktop Runtime x64 y el Runtime x86 (o el Desktop Runtime x86) de .NET 6. No se requiere ningún otro componente. Ningún dato sale del ordenador.
Confirmar la build de OMSI#
Sustituye <OMSI_PATH> por tu directorio de OMSI 2 (por ejemplo, C:\OMSI 2).
Get-FileHash '<OMSI_PATH>\Omsi.exe' -Algorithm SHA256
(Get-Item '<OMSI_PATH>\Omsi.exe').LengthEl hash debe ser uno de los dos indicados arriba. Tras la instalación, OmsiLaunch.exe profiles imprime la misma lista con su estado de validación.
Instalar el paquete#
- Descarga
OmsiLaunch-0.1.0-beta3.zipyOmsiLaunch-0.1.0-beta3.zip.sha256; verifica la suma de comprobación (Get-FileHashdebe coincidir con el valor del archivo.sha256). - Extrae el archivo comprimido directamente en la raíz de instalación de OMSI (la carpeta que contiene
Omsi.exe). El archivo comprimido está organizado para esa raíz:OmsiLaunch.exe,OmsiLaunchW.exe,nethost.dll,OmsiLaunch.Controller.dlly los demás ensamblados del controladorOmsiLaunch.*.dll,YamlDotNet.dll,release-manifest.json,LICENSEyTHIRD-PARTY-NOTICES.mden la raíz;- el conjunto de archivos del plugin permanente
plugins\OmsiLaunch.*(9 archivos) junto a tus plugins existentes, que nunca se tocan; .omsilaunch\con los recursos del splash, la documentación offline y los ejemplos.
- Mantén
release-manifest.jsonjunto aOmsiLaunch.exe. Es lo que permite que cada inicio verifique los archivos del plugin instalados mediante SHA-256 (plugin.integrity.reference = manifest); sin él solo se comprueban la presencia y la coherencia interna (plugin.integrity.reference = self). - No muevas ni cambies el nombre de nada bajo
plugins\OmsiLaunch.*y no coloques binarios del plugin en.omsilaunch\.
La actualización es la misma operación: extrae el nuevo paquete sobre los archivos antiguos mientras no haya ninguna sesión en ejecución ni ninguna recuperación pendiente (OmsiLaunch.exe /recovery-status). Los hashes del plugin y el manifiesto deben proceder siempre del mismo paquete (en caso contrario, OL_E_PERMANENT_PLUGIN_HASH_MISMATCH).
Verificar#
Ejecuta desde la raíz de OMSI (el argumento de instalación toma de forma predeterminada el directorio que contiene OmsiLaunch.exe):
OmsiLaunch.exe /versionResultado esperado: "version": "0.1.0-beta3", "protocol_version": "0.1", "supported_family": "OMSI_2_3_004_COMMON"; salida 0. Una salida 102..106 significa que falta el runtime x64 de .NET 6 o que el paquete está incompleto.
OmsiLaunch.exe profiles
OmsiLaunch.exe /list:MapsResultado esperado: los hashes admitidos y, a continuación, los mapas detectados en esta instalación; salida 0.
OmsiLaunch.exe /new /map:maps\Grundorf\global.cfg /entrypoint-index:1 /planResultado esperado: Plan: READY profile=Omsi23004_692EBFBF y salida 0 (usa cualquier identidad de mapa de /list:Maps; el índice del punto de entrada debe ser un índice presentado de ese mapa, consulta /list:Entrypoints /map:<identity>). Con --json, el plan enumera TouchedFiles (los overlays del splash), PlannedMutations, RequiredCapabilities (todas STATICALLY_VALIDATED), Diagnostics (incluido plugin.integrity.reference) e IsRunnable. Plan: NOT RUNNABLE con salida 1 indica el motivo en Diagnostics (OL_E_UNSUPPORTED_BUILD, OL_E_MAP_NOT_FOUND, OL_E_ENTRYPOINT_REQUIRED, OL_E_RUNTIME_ARTIFACT_MISSING, ...). La planificación nunca inicia OMSI y nunca escribe en la instalación.
Dónde queda cada cosa después#
| Ruta | Contenido |
|---|---|
<root>\.omsilaunch\diagnostics\<sessionId>-host.log | Traza del host de cada sesión (se conservan las 50 sesiones más recientes) |
<root>\.omsilaunch\diagnostics\tray-host.log | Registro del indicador de la bandeja |
<root>\.omsilaunch\journal.json, backup\<sessionId>\ | Solo presentes mientras hay una transacción pendiente; consulta transacciones y recuperación |
<root>\.omsilaunch\session-profiles\<id>\profile.yaml | Tus perfiles de sesión predefinidos; consulta perfiles de sesión |
<root>\.omsilaunch\assets\splash\ | Recursos del splash gestionado |
<root>\.omsilaunch\docs\ | Esta documentación, offline (empieza por README.md; la referencia de la CLI es reference\cli.md) |
<root>\.omsilaunch\examples\ | LaunchSpec y perfil de sesión de ejemplo |
Desinstalar#
Detén cualquier sesión, ejecuta OmsiLaunch.exe /recovery-status (y /recover si hay algo pendiente) y, a continuación, elimina los archivos del producto de la raíz, plugins\OmsiLaunch.* y .omsilaunch\. Los detalles están en empaquetado.
Siguiente#
Primera sesión · Referencia de la CLI · limitaciones conocidas