USMC Omniserver

Omniserver: one Chaser server for both 1.49 Demo and 1.50 Retail/Steam

Chaser's multiplayer community is split in two. Demo players are on 1.49, retail players are on 1.50, and neither can join the other's servers. Omniserver is a 1.50 dedicated server that both versions can join, with nothing to patch or install on the player's side.

Chaser's source code is not available, so everything was worked out from the game's executables and from captured network traffic. The two versions differ in far more than a version check: in how the server describes the world to a joining player, in how weapon loadouts are encoded, and in which player models exist at all (the demo ships 14 of the 47). A translation layer running inside the server rewrites that traffic live for every 1.49 player. Both versions share the same ShockTroops and Deathmatch games: moving, shooting, defusing objectives, switching teams and skins, following map changes.

The same DLL carries the anti-cheat and admin hook first written for Chaser servers in 2011. The server itself is patched against old crashes, including the medkit-on-death crash that took the whole server down.

Each build is tested in two stages. Offline, it is replayed against more than 700 recorded sessions and must reproduce them byte for byte, and the translation code is fuzzed for millions of iterations. Then it runs for hours on a live server against a fleet of eight bot-driven 1.49 clients, first as a fixed roster and then with bots leaving and rejoining, while watchers flag every crash, stall and dropped player.

The omniserver tracks which maps the demo players support and kicks them gracefully when 1.50 exclusive maps are selected in DM rotation