Modern Steam API for Source SDK 2006 games
Find a file
2026-07-13 15:54:33 +03:00
plugin Complete same-port A2S query responder 2026-07-13 15:54:33 +03:00
plugin_tests Complete same-port A2S query responder 2026-07-13 15:54:33 +03:00
registrar Add Source plugin state bridge 2026-07-13 11:03:37 +03:00
shared Add Source plugin state bridge 2026-07-13 11:03:37 +03:00
tools Complete same-port A2S query responder 2026-07-13 15:54:33 +03:00
.gitignore Complete same-port A2S query responder 2026-07-13 15:54:33 +03:00
masterbridge.sln Add optional same-port A2S responder 2026-07-13 14:09:00 +03:00
README.md Add optional same-port A2S responder 2026-07-13 14:09:00 +03:00

MasterBridge

MasterBridge lets an unmodified Garry's Mod 9 / Source SDK Base 2006 dedicated server register through the modern Steam game-server API while preserving the original server's gameplay and legacy A2S behavior.

GMod 9 clients
      |
      v
srcds.exe + masterbridge_vsp.dll
      |
      | local server-state updates
      v
masterbridge_registrar.exe
      |
      v
Valve/Steam server backend

The solution contains two Win32 components:

  • registrar owns modern Steamworks initialization, anonymous login, metadata publication, callbacks, heartbeats, and shutdown.
  • plugin is a Source 2006 VSP that reports documented server state over loopback UDP and can optionally answer same-port A2S_INFO queries through Source's VCR receive table.

The Source 2006 engine continues to own gameplay and client connections. The plugin does not modify executable code, scan for signatures, use fixed offsets, or load modern Steamworks into srcds.exe.

Building

Visual Studio 2010 with the v100 toolset, the Source SDK 2006, and Steamworks SDK v1.64 are required. Set their locations outside the repository:

set HL2SDK2006=M:\Source\sdk2006
set STEAMWORKS_SDK=C:\path\to\steamworks_sdk
msbuild masterbridge.sln /m /p:Configuration=Release /p:Platform=Win32

The registrar reads masterbridge.ini and steam_appid.txt beside its executable. The build creates local copies from the committed example files without overwriting existing configuration.

See registration verification, local state bridge, and same-port A2S_INFO responder for protocol and deployment details.