openOMSI README

The project's README from github.com/openOMSI-org/openOMSI. As one markdown file: README.md.

openOMSI

Version Playing now Build Docs Discord Buy me a coffee Ko-fi License

[!WARNING] Early release. Expect bugs. openOMSI is in an early stage of development: things may be missing, broken or change between versions. Please report problems in Issues or on our Discord server.

openOMSI is a from-scratch recreation of the bus simulator OMSI 2, written in Rust: 64-bit, multithreaded, with a modern renderer (Metal / Vulkan / DirectX 12 through wgpu), and fully compatible with the existing maps, buses, scenery and mods.

[!IMPORTANT] openOMSI needs an original copy of OMSI 2. It contains no game content of its own: it plays on the maps, vehicles and other files of an installed OMSI 2 and will not start without one.

Download

Every commit to main is built by GitHub Actions and published on the Releases page:

Platform File
Windows x64 / ARM64 openOMSI-<version>-windows-x64.zip / -windows-arm64.zip - run openomsi.exe
macOS (Apple silicon / Intel) openOMSI-<version>-macos-arm64.zip / -macos-x64.zip - open openOMSI.app
Linux x64 / ARM64 openOMSI-<version>-linux-x64.zip / -linux-arm64.zip - run openomsi
Android (arm64, 8.0+) openOMSI-<version>-android-arm64.apk - see docs/ANDROID.md
Dedicated server openOMSI-<version>-server-linux-x64.zip (also -linux-arm64, -windows-x64, -windows-arm64) - see docs/SERVER.md

Start the game, point the launcher to your OMSI 2 folder once, pick a map, a bus and a duty, and drive. Mods go into the folder next to the game (or through the launcher's Mods page); the original installation is never written to.

From 0.1.7 on the launcher updates itself: when a newer release is out it asks at the start and, with your yes, downloads it, replaces the program and starts again (on Android through the system's installer). Settings → General → Updates switches the check off or installs without asking.

Installation

You need an installed OMSI 2 (Steam or retail, any version) with its stock content - the maps Grundorf and Berlin-Spandau and the stock buses (MAN SD200/SD202, NL). openOMSI brings no game content of its own; it plays the original's maps, buses and mods.

  1. Download the file for your system from Releases (table above) and unpack it into a folder of its own that you can write to - your Documents, a games folder, or the OMSI 2 folder itself. Not Program Files: the launcher could not update itself there.
  2. Start it.
    • Windows: openomsi.exe. Windows SmartScreen may warn about an unknown app: More info → Run anyway.
    • macOS: open openOMSI.app. The first time, macOS may refuse an app from the internet: right-click → Open → Open, or run xattr -dr com.apple.quarantine /path/to/openOMSI.app once.
    • Linux: ./openomsi (run chmod +x openomsi if it does not start). It needs a Vulkan or OpenGL driver (Mesa: mesa-vulkan-drivers, or your GPU vendor's driver).
    • Android: see docs/ANDROID.md - the OMSI 2 folder is copied onto the phone first.
  3. Point it at OMSI 2. The launcher usually finds the installation by itself (Steam libraries, the usual folders). If not, open Setup and choose the OMSI 2 folder - the one with Omsi.exe, maps and Vehicles in it (the folder, or Omsi.exe itself) - and press Save. The Steam version is under …\Steam\steamapps\common\OMSI 2.
  4. Drive: pick a bus, a map and a duty on the Drive page and press Start the duty.

Mods are installed on the Mods page (a folder or a .zip, or dropped on the window) or by putting them into the Mods folder next to the game; the OMSI 2 folder is never written to.

When something goes wrong

Goals

  1. 1:1 behaviour. Every content format of the original - maps, splines, scenery objects, vehicles, scripts, timetables, HOF files, fonts, weather, tickets, situations, plugins - loads and behaves exactly as in OMSI 2.2.032. Existing maps and mods work unchanged.
  2. No original code or assets. Nothing from the original is copied; the formats are described in docs/FORMATS.md.
  3. A better engine. 64-bit address space, streaming and texture loading on worker threads, no 2 GB limit, no single-thread stalls, LAN multiplayer and a dedicated server.

Documentation

The full documentation is on the website: https://openomsi-project.github.io/openOMSI/. The same pages live in docs/:

Document What is in it
User guide running, controls, launcher, settings, mods, LAN play, debug switches
Virtual reality OpenXR setup, VR settings and controls on Windows
Android the mobile version: install, touch controls, building the APK
Modding limits lifted for modders: more interior lights, larger textures, additions OMSI 2 ignores
PBR materials normal, roughness, metalness and occlusion maps for mods
Building building from source on macOS, Windows, Linux and Android
Content formats every OMSI 2 file format
Architecture crates, threading, renderer, roadmap
Routes how the original runs timetables, chrono, HOF, IBIS
Plugins Lua plugins (API and examples), OMSI plugin DLLs and the 32-bit plugin host
Dedicated server hosting a session without a window
Versioning & releases the MAJOR.MINOR.COMMIT scheme and the CI
Changelog what changed in each version

Building from source

git clone https://github.com/openOMSI-Project/openOMSI.git && cd openOMSI
scripts/build-macos.sh        # macOS   → dist/macos/openOMSI.app
scripts\build-windows.cmd     # Windows → dist\windows\openomsi.exe
scripts/build-linux.sh        # Linux   → dist/linux/openomsi
scripts/build-android.sh      # Android → dist/android/openOMSI-<version>.apk
scripts/build-server.sh       # server  → dist/server

Needs the latest Rust stable and the platform's C toolchain; details in docs/BUILDING.md.

Repository layout

openOMSI/
├── VERSION            MAJOR.MINOR of the next release (edited by hand)
├── crates/            the engine, one crate per subsystem of the original
│   ├── omsi-app/        the game binary `openomsi` (window, launcher, HUD, server mode)
│   ├── omsi-launcher-core/  launcher data side + `openomsi-launcher` terminal tool
│   ├── omsi-cfg/        text files, code pages, virtual file system, content roots
│   ├── omsi-script/     the OMSI script language (compiler + VM)
│   ├── omsi-o3d/ omsi-model/ omsi-texture/ omsi-geometry/   meshes, models, textures, splines
│   ├── omsi-map/ omsi-scenery/ omsi-timetable/ omsi-vehicle/ omsi-content/   content formats
│   ├── omsi-sim/        vehicles, AI traffic, people, physics
│   ├── omsi-render/     the wgpu renderer
│   ├── omsi-audio/ omsi-net/ omsi-plugin/ omsi-ui/   sound, multiplayer, plugins, UI toolkit
├── tools/             developer tools: omsi-check (format coverage)
├── scripts/           build scripts for every platform, version.sh, packaging files
├── assets/            fonts, Material icons, app icons (assets/icons/app), logos (assets/logos)
├── docs/              documentation (also published as the website)
├── site/              the GitHub Pages website
└── .github/workflows/ CI: release builds for every commit, the website

Contributing

Issues and pull requests are welcome - see CONTRIBUTING.md.

Support

openOMSI is made in free time. If you enjoy it and want to help it along, you can buy me a coffee or support it on Ko-fi - thank you!

Buy me a coffee Support me on Ko-fi

License

openOMSI is released under the MIT License. OMSI and OMSI 2 are trademarks of their respective owners. openOMSI is an independent project and is not affiliated with them.

openOMSI (openOMSI-org/openOMSI)

Searching Database…

这是什么?openOMSI 是用 Rust 从零重写的巴士模拟器 OMSI 2 复刻版,配备现代的 wgpu 渲染器(Metal/Vulkan/DirectX 12)。它能加载并游玩原版 OMSI 2 的地图、巴士和 mod,但自身不包含任何游戏内容。
这是一个完整的游戏,还是启动器加引擎?它是一个完整的替代游戏引擎加启动器:启动器负责找到或设置你的 OMSI 2 文件夹、管理 mod 和更新,然后由它自己运行实际的驾驶模拟,读取原版的地图和车辆文件。
怎么让它跑起来?从 Releases 页面下载适合你平台的构建,解压到可写的文件夹(不要放在 Program Files),启动可执行文件,让启动器自动检测你的 OMSI 2 安装(或在 Setup 中手动指定文件夹)。然后选择地图、巴士和任务,开车出发。
我必须拥有原版 OMSI 2 才能使用它吗?是的,这是强制要求。openOMSI 需要一份已安装的 OMSI 2(Steam 或实体零售版)及其自带地图和巴士——没有它就无法启动,而且原安装文件夹绝不会被修改。
它现在就能正常使用,还是仍处于早期?这是一个早期版本:要预料到会有 bug,功能可能缺失、损坏,或在不同版本之间变动。项目通过 GitHub Issues 和 Discord 跟踪问题。
它能运行在哪些平台上?Windows(x64/ARM64)、macOS(Apple Silicon 或 Intel)、Linux(x64/ARM64)和 Android 8.0+(arm64),另外还有面向 Linux 和 Windows 的独立专用服务器构建。
诊断导出实际会发送什么数据?导出的诊断包包含程序、系统、显卡/驱动/设置、控制器信息以及上一局游戏的地图和巴士,但明确不包含文件夹路径、姓名、聊天、局域网代码或地址——而且不会有任何内容被自动发送,需要你自己附上提交。
为什么要重写 OMSI 2,而不是直接用原版?目标是打造一个现代的 64 位多线程引擎,在工作者线程上进行流式/纹理加载(没有 2GB 限制,没有单线程卡顿),外加局域网多人游戏和专用服务器——同时对现有内容的行为与原版完全一致。
我可以用现有的 mod 地图玩多人游戏吗?可以,但双方都需要有房主的地图:直接放在 OMSI 2 文件夹里的地图不会被共享,而通过 Mods 页面安装的地图会自动传给加入的玩家。
支持 VR 吗?支持,有一个基于 OpenXR 的虚拟现实模式,拥有自己独立的设置和操控,在 Windows 上有单独文档说明。
如果我的显卡不支持 Vulkan 怎么办?openOMSI 会自动从 Vulkan 退回 DirectX 12,再退回 OpenGL;你也可以在 Settings → Graphics 中手动选择图形 API。
Size
40.3 MB
Stars
637
Age
20d
Commits · 90 Days