Steamworks Libraries

Something people always seem to have trouble with in Facepunch.Steamworks is where to put the steam libraries. Here’s what we do in Rust.

Windows 32

Put steam_api.dll next to the exe.

Windows 64

Put steam_api64.dll next to the exe.

MacOS

Put libsteam_api.dylib next to the app.

Linux

We don’t officially support 32 bit versions of linux, but there’s a bit of a gotcha here. Both the 32bit and 64 libraries are called libsteam_api.so. So in Facepunch.Steamworks we rename the 64bit version to libsteam_api64.so.

So just rename and put libsteam_api64.so next to the exe.

Dedicated Servers

The dedicated servers need a bunch of other shit because they don’t have Steam. I use this to download them: Steam Dedicated Server. Basically download and run Update.bat and Steam will download the latest dlls.

You can ignore the steamapps folder. If you’re shipping a windows 64 bit version of your app, grab the files with 64 in their name and ship with them. If you’re shipping 32bit, then do the other files.

The OSX folder is empty, so I’m assuming they don’t support dedicated servers (which probably makes sense).

Linux has the steamclient.so in the root, that’s the 32bit version. The 64bit is in linux64, stick that next to your exe (don’t rename this one).