Facepunch.Steamworks Wiki

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

@ShutdownOnFailedCommand 1 @NoPromptForPassword 1 @sSteamCmdForcePlatformType windows login anonymous force_install_dir ../sdk_win app_update 1007 validate quit

sdk_linux.txt

Grabs the linux version of the repo (you don't have to run this on linux)

@ShutdownOnFailedCommand 1 @NoPromptForPassword 1 @sSteamCmdForcePlatformType linux login anonymous force_install_dir ../sdk_lin app_update 1007 validate quit

Bat File

"SteamCmd.exe" +runscript ../sdk_win.txt "SteamCmd.exe" +runscript ../sdk_linux.txt