linux - 在 Linux 上正确设置 Valves Source SDK 2013

标签 linux sdk game-engine steam

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

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

这是当前状态(我基于我在这个 wiki 页面上所做的:Wiki: Source SDK 2013:

SDK SDK 2013源码从GitHub克隆到

~/Git/source-sdk-2013/

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

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

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

# 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/game/mod_hl2mp/bin

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

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

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

所以我应该能够使用“Source SDK Base 2013”​​加载文件(您的选择?!?Valve 是唯一提供它的 O.o)。我该怎么做?遗憾的是,我还没有找到任何提示。

但他们提示我 steam 运行时的 README.txt 告诉我这样做:

run.sh ./MyGame

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

这就是我目前所处的位置。我很困惑,因为我现在有很多问题:

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

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

编辑:实际上也有一个用于 steam 运行时的 GitHub 存储库 (GitHub/steam-runtime) – 为什么下载如此过时,git 存储库有一些正在更新的东西。应该选择哪一个?

最佳答案

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

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

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

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

appID=243750
ProductName=$MYSOURCEMOD
PatchVersion=1.0.0.0

重启后 Steam 将能够找到 sourcemod。

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

应下载的存档只是 GitHub 上托管的 Steam 运行时的下载器/配置器。

关于linux - 在 Linux 上正确设置 Valves Source SDK 2013,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30403161/

相关文章:

linux - 从/proc/cpuinfo 获取 TSC 频率

iphone - Facebook IOS SDK 3.1 - reauthorizeWithPublishPermissions?

dart - Dart apt repo 的 NO_PUBKEY "4EB27DB2A3B88B8B"

java - 消除自制俄罗斯方 block 游戏中的闪烁

c++ - 在不同的线程中播放声音

linux - 最后一个特定字符后的表达式

linux - Fiddler/Charles 没有在 ubuntu 上解密 ssl

linux - 拒绝用户多次登录的 Shell 脚本

android - 无法解析目标 'android-8'

Java 旋转矩形产生奇怪的值