Vertaling van de oorspronkelijke Engelse pagina voor OmsiLaunch 0.1.0-beta3. De Engelse pagina is normatief: bij verschillen gelden de Engelse pagina en de code.
Deze pagina somt, op basis van de code, alles in OmsiLaunch 0.1.0-beta3 op dat UNAVAILABLE of PARTIAL is of een geaccepteerd risico vormt, zodat gebruikers en integrators niet voortbouwen op gedrag dat het product niet biedt. Elke rij noemt de beperking, de stabiliteit ervan, waarom ze bestaat en waar ze in detail is gedocumenteerd. De Engelse documentatie is normatief; gelokaliseerde kopieën onder docs/localized/ worden niet op hetzelfde niveau onderhouden en kunnen achterlopen (zie de laatste sectie).
Alleen Omsi23004_692EBFBF wordt ondersteund (692EBFBF...6243); de Steam LAA-hash 7DAB063D...D759 staat op de toegestane lijst; de vingerafdruk en het plan ervan zijn gevalideerd met een gecontroleerde kopie, maar gameplay vereist een echte Steam-installatie (de image is het met DRM beveiligde uitvoerbare Steam-bestand)
LAST_MAP_STATE (/last, WorldMode.LastMapState) is niet geïmplementeerd; er wordt nooit een terugval op een .osn op basis van tijdstempels gebruikt
UNAVAILABLE (BI-006)
Plandiagnose OL_E_CAPABILITY_UNAVAILABLE
Expliciete of systeemdatum, -tijd en -jaar (/date, /time, /year, profiel new.date/new.time/new.year, DateSpec/TimeSpec/YearSpec) worden in de spec meegegeven, maar maken het plan niet uitvoerbaar; de plugin weigert modi anders dan Unset
Weerpreset, ICAO en actueel weer bij de start (/weather*, new.weather)
UNAVAILABLE (STATICALLY_PARTIAL, BI-003)
zoals hierboven
Model, repaint, HOF, wagennummer en kenteken van het spelersvoertuig bij de start (familie /vehicle, PlayerVehicleSpec) worden tegen de contentcatalogus opgelost maar niet toegepast; wie ze aanvraagt, maakt het plan niet uitvoerbaar; deterministische headless toewijzing van een PlayerVehicle is een toekomstige uitbreiding
Documentoverlays voor toetsenbord en controller (InputSpec, Environment.Keyboard, Environment.Controllers) worden geparseerd maar nooit door een sessie toegepast
UNAVAILABLE (BI-005)
capabilities input.*
LaunchBehaviorSpec.RestoreConfiguration en InstallationSpec.ExpectedExecutableSha256 zijn gedeclareerd maar worden nooit gelezen
Diagnostiekvlaggen (/log, /logall, /omsi-logall, /verbose, /trace, /trace-process, /trace-plugin, /trace-native) vullen DiagnosticsSpec; het zichtbare effect beperkt zich tot de hosttrace onder .omsilaunch\diagnostics
Het stoppen van een sessie is een geforceerde beëindiging: session.stop, "End session" in het systeemvak (sessie beëindigen), Ctrl+C en CloseAsync leiden allemaal tot TerminateProcess. De afsluitroutine van OMSI wordt niet uitgevoerd, OMSI herschrijft options.cfg en zijn logs niet bij het afsluiten, en niet-opgeslagen OMSI-toestand gaat verloren. Dit is bewust: zo wordt voorkomen dat OMSI herstelde bestanden overschrijft.
Bij het sluiten van de console of bij afmelden heeft de eigenaar een budget van 4 s om te stoppen en te herstellen; wat overblijft, wordt bij de volgende start via het journal hersteld
sluiten van de console runtime-gevalideerd; afmelden niet getest
De installatielease is een semafoor Local\: één eigenaar per installatie per aanmeldsessie; niet afgedwongen tussen gebruikers; niet vrijgegeven zolang een ander proces een handle vasthoudt; elk proces van dezelfde gebruiker kan de naam bezetten
Recovery wordt geweigerd (OL_E_INSTALLATION_BUSY) zolang het in het journal vastgelegde OMSI-proces draait, of, bij een journal zonder PID, zolang er een Omsi.exe uit die hoofdmap draait
bewust zo ontworpen
zoals hierboven
Een oorspronkelijk afwezig overlaypad waarvan de inhoud tijdens de sessie is gewijzigd, blokkeert het herstel (OL_E_RECOVERY_ABSENT_OWNERSHIP_MISMATCH) totdat het is geïnspecteerd
bewust zo ontworpen
zoals hierboven
Journals van vóór de eigendomsvingerafdrukken kunnen alleen worden afgesloten door een sessie met identieke geplande bytes (OL_E_RECOVERY_ABSENT_OWNERSHIP_UNVERIFIED)
PARTIAL
zoals hierboven
Alleen paden in bezit van de sessie worden hersteld. De eigen schrijfacties van OMSI tijdens een sessie (options.cfg[last_map] wanneer geen enkele instelling een overlay op options.cfg legt, Texture\standard.ipr, caches, laststn.osn, chauffeursprofiel, logs) blijven bestaan, net als na een directe OMSI-start
Schrijven van stringvariabelen, benoemde triggers, geluidstriggers (eigendom van managed strings in Delphi)
UNAVAILABLE (BI-004)
scripts.string.read is alleen-lezen
Geen verplaatsing van voertuigen, geen ruimtelijke herkoppeling over tiles heen, geen ODE-veilige autoriteit over transformaties; positievelden zijn alleen-lezen
UNAVAILABLE (BI-008)
road-vehicle.read
camera.lock / camera.unlock vereisen een PlayerVehicle; de headless NEW_MAP-start heeft er geen (een opgeslagen situatie levert er een)
bewust zo ontworpen (BI-007)
RV-004
Runtimewijzigingen (time.set, camera.set, camera.lock, vehicle.variable.set, spawn, place-random, D3D-textures) worden niet in het journal vastgelegd en niet hersteld
Blinde vlek van de handlevingerafdruk: een object van dezelfde klasse en definitie dat tussen twee lijstleesacties op hetzelfde adres opnieuw is aangemaakt, wordt niet als verouderd gedetecteerd; de levensduur bij natuurlijke verwijdering (RV-002) heeft geen veilige runtimeproducent en blijft offline
Resultaten zijn begrensd door de mailbox van 64 KiB: lange lijsten worden afgekapt (truncated=true); pixelpayloads zijn beperkt tot 48 KiB per d3d.texture.update
Kanaal met één verzoek tegelijk: één verzoek per keer per sessie; een bezet slot geeft OL_E_RUNTIME_CHANNEL_BUSY; verzoek-id's mogen niet worden hergebruikt
Telemetrie is een slot met de laatste waarde: uitbarstingen die sneller zijn dan de sampling van 100 ms door de host kunnen tussenliggende events verliezen (volgnummers houden identieke opeenvolgende events uit elkaar; gescheurde samples worden overgeslagen)
De D3D-apparaatreset is tijdens runtime waargenomen (resetting, restored, invalidatie van de generatie); een afzonderlijke overgang lost werd niet geproduceerd, omdat het apparaat van OMSI rechtstreeks naar DEVICENOTRESET ging
Resultaten van begrensde lijsten (de operaties timetable.*.list, vehicle.variables.list, vehicle.string-variables.list) retourneren hoogstens de rijen die in het runtime-slot van 64 KiB passen; de rest wordt weggelaten met truncated=true en een kleinere returned_count (documentatieaudit BUG-05). Deze release kent geen paginering
timetable.logs.read, road-vehicles.list, humans.list, vehicle.constants.list en vehicle.curves.list zijn niet begrensd: een resultaat dat groter is dan het slot, mislukt met OL_E_RUNTIME_RESPONSE_TOO_LARGE (bij geen van deze operaties waargenomen op de geteste kaarten)
De zelfgerapporteerde bewijsstrings (PublicCapabilityRegistryRuntimeValidation, GetCapabilitiesAsyncEvidenceState) zijn na de afsluitende runtimeronde niet bijgewerkt: camera.lock meldt nog steeds STATICALLY_VALIDATED en runtime.d3d.lifecycle.resetIMPLEMENTED_NOT_RUNTIME_VALIDATED. De pagina status van de runtimevalidatie is gezaghebbend
achterstand in de documentatie, geen verschil in gedrag
Sommige geavanceerde velden van de kaart-, tile-, pad- en objectgraaf worden niet beschikbaar gemaakt; runtimelezers zijn door het profiel afgeschermde, getypeerde snapshots en nooit willekeurige geheugentoegang
Geheugenleesacties in het proces volgen het patroon eerst controleren, dan gebruiken tegen een levende OMSI; een gelijktijdige wijziging door OMSI tussen de controle en het lezen kan een inconsistente snapshot opleveren (OL_E_RUNTIME_OPERATION_FAILED)
Vertrouwensmodel op basis van dezelfde gebruiker: de named pipe (CurrentUserOnly), de geheugenmappings voor handoff, telemetrie en runtime en de semafoor van de lease zijn toegankelijk voor elk proces van dezelfde Windows-gebruiker. Zo'n proces kan de status lezen, de sessie stoppen of runtime-operaties uitvoeren zodra het de session_id heeft gelezen.
Het besturingseindpunt bestaat alleen zolang de eigenaar Running is; een client ziet OL_E_NO_ACTIVE_SESSION (exitcode 4) tijdens het opstarten en nadat de sessie is beëindigd
Als een ander proces de pipenaam al bezit, blijft de eigenaar draaien zonder eindpunt (ListenFault), en kan een tweede start ten onrechte OL_E_SESSION_ALREADY_ACTIVE melden
De bewaartermijn omvat de 50 nieuwste sessies; oudere diagnostiek met sessievoorvoegsel wordt verwijderd wanneer een nieuwe sessie start
bewust zo ontworpen
zoals hierboven
JSON-uitvoer en diagnostiek bevatten installatiepaden (RootPath, assetmappen, paden .itx)
bewust zo ontworpen (lokale gegevens)
Het sessiefoutdialoogvenster van OmsiLaunchW.exe toont de foutpayload van de plugin (bijvoorbeeld {"name":"world.failed",...}) als bericht in plaats van een zin; de regel Code: is correct
Een D3D-verzoek dat door de native brug wordt geweigerd vóór enige Direct3D-aanroep, meldt native_status correct, maar de tekst van detail zegt HRESULT 0x00000000
Het statusvenster in het systeemvak is een snapshot van de geplande sessie, gemaakt wanneer het wordt geopend; het wordt niet vernieuwd en toont geen live OMSI-waarden
De Engelse pagina's onder docs/ vormen de normatieve documentatie voor deze release. docs/localized/<locale>/ bevat vertalingen van dezelfde pagina's van 0.1.0-beta3 (zie LOCALIZATION-MANIFEST.md); waar een vertaling afwijkt van de Engelse tekst, zijn de Engelse tekst en de code gezaghebbend. De historische en legacy pagina's die daar worden vermeld, zijn alleen in het Engels beschikbaar.