在Linux

时间:2015-05-22 18:04:41

标签: linux sdk game-engine steam

我只是尝试为Linux设置Valves Source SDK 2013,但我需要说我发现wiki +文档相当混乱,部分严重过时(仅限Windows的说明,仅适用于GoldSrc / pre-20XX SDk等)

我希望那些已经经历过麻烦的人可以为我提供一些关于如何正确设置系统的提示。
我尝试使用一些特定于Windows的说明来理解系统,但有些是高度特定于平台的。

所以这是当前状态(我基于我在此维基页面上所做的事情:Wiki: Source SDK 2013

GitHub的SDK SDK 2013的源代码已克隆到

~/Git/source-sdk-2013/

SDK Base 2013通过Steam和steam-runtime安装到

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

我不确定是否有一个特定的路径我应该将蒸汽运行时放入其中,所以我只是将它放入我自己创建的工作目录中。

# 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

我还没有触及任何源文件,因为已经提供了大量的源代码。我只想确认设置了工作工具链

这一切都编译得很好,但最后脚本想要chmod client.so和server.so但声称“找不到” - 但遗憾的是它没有提供搜索它们的任何信息。实际上这些是存在的 $ SDKROOT / MP /游戏/ mod_hl2mp / bin中

甚至标记为可执行文件(-rwxr-xr-x)。

所以我只是忽略了这一点并希望最好。我的下一行听起来有点奇怪:

  

此时,您应该使用您选择的Source SDK Base 2013加载client.so和server.so文件。

所以我应该可以使用“Source SDK Base 2013”​​(你选择的?)来加载文件??Valve是唯一一个提供O.o的文件。我该怎么做?遗憾的是,我没有发现任何暗示。

但是他们向我提示蒸汽运行时的README.txt告诉我这样做:

  

run.sh ./MyGame

但可执行文件在哪里?我只有.so的

这就是我现在的观点。我很困惑,因为我现在有很多问题:

  • 为什么只有Linux用户需要下载steam运行时?如果我不想通过Steam发货怎么办?
  • chmod失败是脚本失败还是我的目录设置错误?
  • 如何通过SDK Base加载这些库
  • 二进制文件在哪里?我在这里很困惑......

我忽略了什么吗? 我感谢任何提示或资源链接,也许解释当我只是愚蠢地理解他们的意思时:P

编辑:实际上还有一个用于steam-runtime的GitHub repo(GitHub/steam-runtime) - 为什么下载过时了,git repo有一些更新的东西正在进行中。应该选择哪个?

1 个答案:

答案 0 :(得分:1)

在朋友的帮助下,我没想到能够回答这个问题(他不知道Linux,但我们可以解决这个问题)我可以比预期更快地解决它。

要通过Steam SDK Base“加载”游戏,只需附加-game参数并将其指向包含gameinfo.txt(即$ SDKROOT / mp / game / mod_hl2mp /)的目录。
或者,只需将此目录的内容复制到

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

其中$ MYSOURCEMOD是你想要的方式(不要使用空格)。然后在该目录中添加一个steam.inf文件,其中包含以下内容:

  

APPID = 243750
  产品名称= $ MYSOURCEMOD
  PatchVersion = 1.0.0.0

重新启动后,Steam将能够找到sourcemod。

我不是相当确定“蒸汽运行时”的东西是什么,但我想是设置构建环境(使用自定义gcc等),因为这是如何脚本看起来像。我不确定为什么你应该通过运行时的bin /子文件夹中的run.sh来运行游戏,而不是通过Steam或者通过Source SDK Base的参数来运行游戏,但也许有人可以在这里启发我。

要下载的存档只是GitHub上托管的steam-runtime的下载器/配置器。