Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to make and test a Steam build? #86

Open
SwamiUmami opened this issue Mar 15, 2022 · 1 comment
Open

How to make and test a Steam build? #86

SwamiUmami opened this issue Mar 15, 2022 · 1 comment

Comments

@SwamiUmami
Copy link
Contributor

When fixing #36 I wanted to make a Steam build of server, but I was not successful. First of all, I encountered compilation problems, that I temporarily fixed in my branch. After fixing this, I had problems when linking client and server binaries. More specifically, it couldn't find -lsteam_api. After scrolling through documentation I downloaded the SteamWorks SDK, but it only offers version 1.53a, which seems incompatible with Soldat. Do I need a Steam account to download other versions? Can anyone make Steam builds, or is it restricted to members of THD, or how does it work? And more importantly, how can we test Steam builds? Does it also require a Steam account?
All of this raises many questions about Steam builds, but I can't find much documentation.

@BranDougherty
Copy link
Member

BranDougherty commented Mar 16, 2022

Yeah I could never get it to work myself, maybe @helloer can fill us in if we're missing a few pieces of the puzzle.
What I have so far is:

  1. Sign up for a Steam account
  2. Log in to Steamworks
  3. Sign Steamworks SDK Access agreements
  4. Download appropriate SDK (you can just change the version at the end of the download URL, I believe we want https://partner.steamgames.com/downloads/steamworks_sdk_150.zip) (Edit: Oh actually they're listed here: https://partner.steamgames.com/downloads/list)
  5. Install and run Steam on the machine you want to test on (must be actively running)
  6. Build Soldat with -DSTEAM
  7. Copy sdk/redistributable_bin/linux64/libsteam_api.so to the directory of the soldat executables.
  8. Run soldat like normal

I also had to make the same changes to compile, and in addition I had to insert calls to SteamAPI_Init() and SteamAPI_Shutdown at the appropriate places in Server.pas to get the server to run. I'm not able to run the client, for some reason SteamAPI_SteamNetworkingSockets_v009 is returning null while all the other interfaces are working (only in the client).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants