Updated Library Locations (markdown)

Garry Newman 2020-02-23 09:33:32 +00:00
parent b6599cb225
commit f004779671

@ -1,64 +1 @@
Generally speaking the native dlls (steam_api.dll, steam_api64.dll, libsteam_api.dylib etc) need to be next to the application's exe. Moved - please go here: https://wiki.facepunch.com/steamworks/Server_Library
# Development
When you're developing the appropriate dll needs to be somewhere your game/editor can find them. If you're using Unity they need to be in your project root. Be careful that they match with the dlls we provide in the release zip - if they don't you'll probably crash.
![Rust Development Example](https://files.facepunch.com/garry/2017/07/08/93e03fee.png)
# Rust Example
We ship Rust on Windows32, Windows64, Osx and Linux. Here's where we copy the libraries, where Rust/ is the location of Rust.exe/Rust.app/Rust
![Rust Development Example](https://files.facepunch.com/garry/2017/07/08/b9577971.png)
| Platform | File, Location |
| ------------- | ------------- |
| Windows (32bit) | Rust/steam_api.dll |
| Windows (64bit) | Rust/steam_api64.dll |
| Osx (64bit) | Rust/libsteam_api.dylib |
| Linux (64bit) | Rust/libsteam_api64.so |
## Dedicated Server
The dedicated server is a bit different. It can run without Steam so we need to ship a few more dlls alongside it.
| Platform | File, Location |
| ------------- | ------------- |
| Windows (64bitbit) | Rust/steam_api64.dll |
| | Rust/steamclient64.dll |
| | Rust/tier0_s64.dll |
| | Rust/vstdlib_s64.dll |
Technically 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). But we play it safe by including dlls we know will always work - so we don't run the risk of appid 1007 updating and breaking our server.
We grab these dlls using [steamcmd](https://developer.valvesoftware.com/wiki/SteamCMD), using these scripts. Osx doesn't seem to be able to run dedicated servers.
### Windows
```
@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
@sSteamCmdForcePlatformType windows
login anonymous
force_install_dir ../sdk_win
app_update 1007 validate
quit
```
### 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_osx.txt
```