Server Library
Dedicated servers don't have Steam running in the background so they need extra native libraries to bring along the functionality.
Libraries
So as well as the regular steam_api libraries, on Windows you also need to ship these:
- steam_api64.dll
- steamclient64.dll
- tier0_s64.dll
- vstdlib_s64.dll
The Proper Way
When you ship a dedicated server you're meant to include appid 1007 - which includes these dlls already (something you need to talk to Valve about I think).
The Easy Way
We find it a lot easier to ship the dlls ourselves. That way if something breaks we're not wondering whether it was because Valve update appid 1007 and we have no way to revert to the previous version.
We grab these dlls using steamcmd, using these scripts. Osx doesn't seem to be able to run dedicated servers.
sdk_win.txt
Grabs the Windows version of the repo
sdk_linux.txt
Grabs the linux version of the repo (you don't have to run this on linux)