如何以编程方式获取 Steam 游戏安装/保存文件路径?

如何以编程方式获取 Steam 游戏安装/保存文件路径?

某些 Steam 游戏不支持云备份,因此我使用带有 Makefile 的 Git 存储库来创建游戏保存文件和设置的备份。由于存储限制,我不得不创建一个额外的 Steam 库文件夹。也就是说,我的一些游戏存储在/home/username/.local/share/Steam,而其他游戏则存储在/mnt/games/SteamLibrary。我希望 Makefile 自动处理这个问题,这样我就不必对当前的安装路径进行硬编码。在许多情况下,保存文件夹位于 Steam 库内,所以这是主要问题:

如何使用游戏 ID 或名称获取安装目录?

我是不是寻找手动解决方案,例如查看 Steam GUI 或缓慢/脆弱的解决方案,例如find / -type d -name GAME_ID.解析和循环 的输出steamcmd +library_folder_list +quit将是可怕的,但作为最后的手段是可能的。

奖金问题

一些游戏将他们的保存放在同一目录中。例如,《空洞骑士》的保存和设置位于~/.config/unity3d/Team Cherry/Hollow Knight.我不希望 Steam 知道这个目录,但如果它知道并且您知道如何获取它,那肯定值得奖励。

答案1

.steam/root/steamapps/libraryfolders.vdf应包含每个库文件夹的块以及该库中安装的游戏/程序的 appid。

.steam/root/steamapps/appmanifest_<appid>.acf包含一个名称字段,其名称对应于 appid。

我很确定,游戏保存文件的设置是游戏特定的设置,而不是在 steam 中配置的某个位置。所以我无法回答额外的问题,我很害怕。

相关内容