尝试使用 Steam 或 SteamCMD 在 Windows 上下载 Linux 版本的游戏

尝试使用 Steam 或 SteamCMD 在 Windows 上下载 Linux 版本的游戏

我知道 SteamCMD 可能面向运行游戏服务器的人,但我想尝试使用它作为一种更实用的方式来备份我的游戏的 Linux 版本,而无需 Linux 虚拟机的麻烦(和硬盘空间)。

据我所知,它完美地适用于迈阿密热线

但是当我尝试下载 Linux 版本的 Half-Life 1 时,下载结束时出现以下错误:

c:\buildslave\steam_rel_client_win32\build\src\common\symlink.cpp (65) : Assertion Failed: 
symlinks on windows require admin rights, only work on Vista and above, and aren't supported 
in client builds Error! App '70' state is 0x602 after update job.

我在 Win 10(1909)上运行 SteamCmd,并使用以下命令下载 Linux 版本的游戏:

login <USERNAME> <PASSWORD>
force_install_dir <path to directory where I want the files saved>
@sSteamCmdForcePlatformType linux
app_update 70 validate

有人能解释一下这个错误意味着什么吗?

编辑:

我无法回答我的问题,但阅读更多内容后,我认为我可以使用适用于 Windows 的常规 Steam 客户端实现同样的效果:

第一步:-console给Steam快捷方式添加启动参数。

第二步:Steam 现在将在主窗口中显示控制台选项。单击该选项。

第三步:前往steamdb信息并搜索您要备份的游戏

第四步:查找游戏中的“Depot”部分(例如:这是 CS:GO 仓库页面:https://steamdb.info/app/730/depots/

第五步:查找您要下载的平台的仓库 ID(例如:如果我想要 CS:GO linux 测试版文件,则 ID 为 734)

这只会保存 Linux 特定的文件。要备份整个游戏,您还需要“反恐精英全球攻势 Beta 通用”

第六步:返回 Steam 控制台类型download_depot <appid> <depotid>

文件将下载到您的 Steam 安装文件夹\Steam\steamapps\content\<app id>

我没有将此标记为已回答,因为我不能 100% 确定这足以备份 Steam 游戏的其他平台版本(我没有在 Linux 中测试过备份)。

我不知道下载游戏文件是否还有一些额外的步骤,当您没有运行正确的平台时这些步骤是不可能的。

答案1

很遗憾,但有一种更简单的方法可以毫不费力地下载适用于不同平台/架构的应用程序/游戏。

  • 使用启动选项运行 Steam -console,或者使用 SteamCMD。

  • 运行以下两个命令:

    • @sSteamCmdForcePlatformType type(其中类型为windowsmacoslinux
    • @sSteamCmdForcePlatformBitness bitness(其中位数是3264

此后,直到您关闭 Steam 客户端或运行类似命令返回默认设置,它都会认为您正在您指定的平台/架构组合上运行。

但需要注意的是:

  • 如果你不暂停正在进行的下载在关闭并重新打开 Steam 之前将其从队列中删除,这将(至少部分)破坏下载。如果您暂停然后继续损坏的下载,Steam 将尝试修复它,但这可能不是真正干净的安装。

  • 您无法在充当不同的平台/架构时运行已安装的本机游戏,因为它们不兼容。

Reddit 帖子我已进行编辑,使其不那么草率。


下一部分我几年前没试过,因为我的电脑坏了。哈哈。不过,手动移动应用程序确实可行,没有理由不行,尽管它至少有一个可能的问题。

下载后,将有一个名为 appmanifest_#.acf 的文件(其中 # 是appid应用程序/游戏(对于应用程序/游戏)将保存在steamapps应用程序安装的文件夹中,应用程序数据将保存在 中steamapps/common,通常位于与应用程序名称相似的文件夹中。

EOL由于它是在另一个平台上下载的,因此它可能仍在appmanifest 文件中使用不同的(End Of Line)。任何好的文本编辑器都可以修复这个问题,但要确保它不会弄乱空格。文本VDF(Valve 数据格式) 文件要求名称和值之间有 2 个制表符,虽然 Steam 可能会自动修复它,但它也可能会出错并破坏文件,甚至可能破坏下载的应用程序数据。

如果你需要由于某些原因(可能在离线机器上有帮助),保留 appmanifest 文件是值得的。但是,如果您确实使用清单,请复制已安装应用程序的文件夹,以免它被轻易破坏。如果您要安装到具有互联网连接的机器上,您可能不需要它,但您可以保留一份副本。

继续操作之前,请确保 Steam 已关闭。如果在打开 Steam 时乱动文件,它可能会做出奇怪的事情,但这不会导致它发脾气。

  • 将应用程序文件夹从其steamapps/common安装文件夹移动到其他安装的等效文件夹。

    • 如果您正在使用清单,请将其移动到steamapps其他安装的文件夹。然后,启动 Steam 并验证游戏缓存. 这可能会破坏已安装的应用程序数据。

    • 如果没有,请尝试开始安装游戏 - Steam 应该首先下载 appmanifest 的新副本,然后快速将下载状态更改为Discovering,这意味着它注意到现有数据并将验证它是否是它期望安装的内容。

此后它应该可以按预期运行,但是同样:我自己从来没有走到这么远。

相关内容