1

I just try to set up Valves Source SDK 2013 for Linux but I need to say that I find the wiki + documentation rather confusing and partly heavily outdated (Windows-only instructions, only for GoldSrc / pre-20XX SDk etc.).

I hope that someone who already has gone through the hassle can supply me with some hints on how to correctly set up the system.
I tried to use some Windows-specific instructions to understand the system but some are highly platform-specific.

So here is the current status (I based what I did on this wiki page: Wiki: Source SDK 2013:

The source of the SDK SDK 2013 from GitHub is cloned to

~/Git/source-sdk-2013/

the SDK Base 2013 installed via Steam and the steam-runtime to

~/working/steam-runtime-sdk_2013-09-05/

I was not sure whether there is a specific path I should put the steam runtime into so I just put it into my self-created working dir.

# Create a Multiplayer sample project
export SDKROOT="~/Git/source-sdk-2013"
bash $SDKROOT/mp/src/creategameprojects
bash $SDKROOT/mp/src/createallprojects

# Setup Steam Runtime
export STEAMRT="~/working/steam-runtime-sdk_2013-09-05/"
cd $STEAMRT
# Choose all build targets (i386 + amd64) and download these
./setup.sh
# Set current to target to the same as host machine (ie. amd64)
./shell.sh

# Compile the actual game
make -f $SDKROOT/mp/src/games.mak

I have not yet touched any source files as there's plenty of sources already supplied. I just wanted to confirm having a working toolchain set up

This all compiles fine but in the end the script wants to chmod the client.so and server.so but claims "not found" – but it sadly does not provide any information where it searched for them. Actually these are existant in $SDKROOT/mp/game/mod_hl2mp/bin

and even marked as executable (-rwxr-xr-x).

So I just ignored this and hoped for the best. The next line to me sounds a bit strange:

At this point you should have client.so and server.so files to load with the Source SDK Base 2013 of your choice.

So I should be able so load the files with "the Source SDK Base 2013" (of your choice?!? Valve is the only one providing it O.o). How am I supposed to do that? I have not found any hint whatsoever for that, sadly.

But they hint me to the README.txt of the steam-runtime which tells me to do this:

run.sh ./MyGame

But where's the executable? I only have .so's

And this is the point where I currently am. I'm quite confused as I have many questions now:

  • Why do only the Linux users need to download the steam runtime? What if I want to not ship via Steam?
  • Is that chmod failure a script failure or a mistake in my directory setup?
  • How do I load these libraries via the SDK Base
  • Where is the binary? I'm quite confused here...

Have I overlooked something? I appreciate any hints or links to resources, maybe explanations when I just were to dumb to understand what they mean :P

EDIT: Actually there is a GitHub repo for the steam-runtime too (GitHub/steam-runtime) – why is the download so outdated, the git repo has some updated stuff going on. Which should one choose?

ljrk
  • 751
  • 1
  • 5
  • 21

1 Answers1

1

With the help of a friend I didn't expect to be able to answer this (he didn't know about Linux but we could figure it out) I could solve it faster than expected.

To "load" the game via the Steam SDK Base just append the -game parameter and point it to the directory with the gameinfo.txt (ie. $SDKROOT/mp/game/mod_hl2mp/) in it.
Alternatively just copy the contents of this directory to

~/.local/share/Steam/steamapps/sourcemods/$MYSOURCEMOD

where $MYSOURCEMOD is how you want to call it (do not use spaces). Then add a steam.inf file in that dir with following content:

appID=243750
ProductName=$MYSOURCEMOD
PatchVersion=1.0.0.0

After a restart Steam will be able to find the sourcemod.

I'm not quite sure what the "steam-runtime" thingy is but I suppose it is to set up the build environment (to use a custom gcc etc.) as this is how the scripts look like. I'm not sure why you should run the game via the run.sh in the bin/ subfolder of the runtime instead of via Steam or via the parameter one the Source SDK Base but maybe someone can enlighten me here.

The archive one shall download is only a downloader/configurator for the steam-runtime hosted on GitHub.

ljrk
  • 751
  • 1
  • 5
  • 21