// the find
Hackerprod/-SKYNET-Steam-Emulator
LAN-first Steam emulator: Steamworks API client emulation + server-side Game Coordinator (Dota 2 lobbies/parties/match stats), for full offline multiplayer without Steam or internet connection
SKYNET is a Steamworks API emulator split into two parts: a .NET Framework DLL that mimics the Steam API ABI via DllExport, and an ASP.NET Core backend that owns all shared state (sessions, lobbies, friends, stats, GC traffic). The primary target is Dota 2 offline multiplayer, with a TypeScript Game Coordinator runtime that handles lobby/party/match flows. This is for developers who want to run Dota LAN sessions without Steam, or who want to reverse-engineer and experiment with GC protocol behavior.
The architectural split is sound — keeping ABI-compatible DLL thin and pushing state to the server means you can hot-reload GC logic without rebuilding native code. The TypeScript GC runtime with hot reload and a live trace console is genuinely useful for iterating on protocol behavior. The README is unusually honest about what it is and isn't: VAC trust, certificate scope, and legacy migration paths are all called out explicitly rather than buried. The generated protobuf contracts and NetHook decode tooling show real investment in making reverse-engineering work reproducible.
The DLL targets .NET Framework 4.7.2 while the server targets .NET 8 — two separate runtimes means two separate build chains, and the MSBuild/DllExport path for releasing the DLL is fragile enough that the README has to hardcode Visual Studio Build Tools paths. All server state lives in memory (SteamApiStateService) with SQLite as a persistence layer; there's no indication of what happens to in-flight lobbies or sessions on server crash. The TypeScript GC runtime adds a Node.js dependency with no clear version pinning strategy, and the boundary between C# host services and TypeScript modules is underdocumented beyond the README pointer. Stars are low (131) for the scope of what's here, suggesting the setup complexity is a real adoption barrier.