Skip to main content
Version: 0.2.3 Stable

Dedicated server

The dedicated server hosts a multiplayer world without opening a game window or requiring graphics hardware. Download the server package for your operating system from the neoOMSI download page.

Use an OMSI 2 installation on the server that contains the maps, vehicles, and scenery you intend to use. neoOMSI reads that content; it does not distribute or modify it. Keep the server and players on the same neoOMSI release.

Session invitations and host identity​

New invitations look like NEO-XXXX-XXXX-XXXX-XXXX-X. They contain a fingerprint of the host's per-session public key and a typo check. Players should copy the full invitation and share it through a trusted channel.

The fingerprint lets clients verify the advertised host identity and the initial welcome, including when a connection uses a tunnel. It does not encrypt or authenticate every later gameplay datagram. Direct-address joins do not include this host identity check.

Running the server​

Extract the server package, then start it with the path to the server's OMSI 2 installation:

# Linux and macOS
./start.sh /path/to/OMSI2
# Windows
start.cmd "C:\path\to\OMSI2"

The first run creates server.cfg beside the server executable. The server writes its log to server.log on Linux and macOS; on Windows, output stays in the console window. The package includes a short README.md with these offline startup instructions.

Configuration (server.cfg)​

server.cfg uses key = value lines. It is created with comments describing every setting. Common options include:

SettingDefaultPurpose
mapmaps/Berlin-Spandau/global.cfgMap path relative to the OMSI 2 folder.
port27015UDP port for game traffic.
web_port27025TCP port for the status and WebSocket gateway.
max_players16Player limit.
traffic30Random traffic level.
timetable1Enable scheduled AI buses.
passengers1Enable waiting and onboard passengers.
tunnel1Start a temporary Cloudflare quick tunnel for the gateway.
share_positions0Allow GET /players to show names, buses, lines, and positions.
admin_passwordemptyPassword for the in-game server administration menu.

The game session uses UDP port; the gateway uses TCP web_port. For direct connections, configure the server host's firewall and router for the ports your players need. The quick tunnel can help when a gateway connection cannot reach the host directly; it does not replace the UDP game connection.

tunnel = 1 starts a temporary tunnel and prints its changing address. Set it to 0 if you do not want to start one. If you enable share_positions, tell players that the gateway can expose their names, buses, lines, and positions to anyone who can reach it. Set a strong admin_password before sharing the server.

Building the server package​

The provided packages already include the server executable and startup scripts. Engine contributors can build a Linux package with scripts/build-server.sh; the source repository is not required to run a downloaded server package.