You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何借助Steam Client API或文件编辑在Steam Deck自动添加非Steam游戏?

实现Steam Deck自动添加非Steam游戏的方案

一、通过Steam命令行实现(EmuDeck常用方式)

官方没有公开的Steam Client API用于直接添加非Steam游戏,但可以通过Steam客户端的命令行参数触发添加流程:

  • 使用命令:steam steam://addnonsteamgame/<完整文件路径>,注意路径中的空格需要转义为%20,或者用双引号包裹整个路径(比如steam "steam://addnonsteamgame/home/deck/Games/My Game.exe")。
  • 这种方式会唤起Steam的添加非Steam游戏向导,适合单条添加;如果要批量操作,更推荐编辑配置文件。

二、直接编辑Steam快捷方式配置文件

Steam的非Steam游戏信息全部存在shortcuts.vdf文件中,这是EmuDeck批量添加的核心逻辑:

  • 文件路径:~/.steam/steam/userdata/<你的Steam用户ID>/config/shortcuts.vdf,其中<你的Steam用户ID>是一串数字,可通过查看userdata下的文件夹获取。
  • VDF格式规则:文件采用Valve的VDF格式,每个非Steam游戏是一个以数字命名的子项,包含以下关键字段:
    • AppName:显示在Steam库中的游戏名称
    • Exe:游戏/模拟器的执行文件绝对路径
    • StartDir:启动目录(通常是执行文件所在文件夹)
    • Icon:游戏图标路径(可留空,Steam会自动提取或使用默认图标)
    • LaunchOptions:启动参数(比如模拟器加载ROM的命令)
  • 批量添加技巧:可以用Python或Shell脚本批量生成符合格式的VDF条目,写入文件前必须关闭Steam,否则修改会被客户端覆盖。修改完成后重启Steam,新游戏就会出现在库中。

三、实操注意事项

  • 编辑shortcuts.vdf时,要严格遵循VDF的语法(键值对用"包裹,嵌套结构用{}),语法错误会导致Steam忽略该条目。
  • 对于模拟器游戏,Exe填模拟器路径,LaunchOptions填加载ROM的参数(比如/path/to/retroarch -L /path/to/core.so /path/to/rom.nes)。
  • 可以通过steam://store/<Steam游戏ID>的图标路径来复用Steam官方游戏图标,提升库的一致性。

内容的提问来源于stack exchange,提问作者The Oddler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 15:40:28