Skip to main content

什么是 Steam manifest 文件,怎么配合 SteamTools 使用?

Steam manifest 文件 + 配套 Lua 脚本完整指南,四步把游戏装进 SteamTools。为新用户设计的前门页;深度内容链接到对应子页。

最近更新: 2026-07-05

如果你搜过"SteamTools 怎么用"或"steam manifest 是什么",结果是把五个 Discord 串起来读、再翻三个 GitHub issue,这篇就是给你准备的。它是整个站点的前门:先回答所有人都会问的两个问题,其余内容都链到对应子页;读完"该读的那一节"就能拿到一个能用的文件落到磁盘上。

30 秒答案

Steam manifest 文件是一个 Valve "ACF" 格式的小文本文件,告诉 SteamTools 桌面客户端要下载哪个游戏的哪些 depot、以及怎么验证它们。每个 manifest 都配一个 Lua 脚本,告诉 SteamTools 走哪个 branch、如何去 Steam 服务器做校验。两个文件一起,让 SteamTools 离线安装游戏,而不需要经过官方 Steam 客户端。

你可以在首页按 Steam App ID 一键生成 manifest + Lua 对。下面解释这两个文件到底是什么、怎么工作、放到哪里、出问题怎么办。

Steam manifest 文件是什么?

manifest 文件名是 appmanifest_<APPID>.acf。以 Portal(AppID 400)为例:

"AppState"
{
    "appid"         "400"
    "name"          "Portal"
    "installdir"    "Portal"
    "StateFlags"    "4"
    "UpdateLocalTime"   "Wed Jan  1 12:34:56 2025"
    "buildid"       "1234567"
    "LastOwner"     "12345678901234567"
    "BytesToDownload"   "1234567890"
    "BytesDownloaded"   "1234567890"
    "AutoUpdateBehavior"    "0"
    "AllowOtherDownloadsWhileRunning"  "0"
    "InstalledDepots"
    {
        "400"  "1234567890123456789"
    }
}

格式是 Valve 写死的。真正有意义的字段是 appid(哪个游戏)、installdir(SteamTools 把文件放哪)、buildid(哪个 build)、InstalledDepots 块(要下载哪些 depot ID、用哪个 manifest ID 解锁)。其他都是 SteamTools 基本忽略的元数据。

想看每个字段的完整拆解 —— StateFlags 实际是干嘛的、为什么 LastOwner 像 17 位数字、InstalledDepots 里的 manifest ID 跟 Steam CDN 的对应关系 —— 看 manifest 文件详解 那一篇。简短版:只要 appid / installdir / buildid / InstalledDepots 这四项对,SteamTools 就能装上游戏,其他都是元数据。

Lua 文件是干嘛的?

Lua 文件是 manifest 的搭档。一般 10-30 行,告诉 SteamTools 三件事:

  1. 走哪个 branch。 Steam 游戏有多个 branch —— public(默认)、betaptbexperimentalstaging。Lua 文件告诉 SteamTools manifest 是按哪个 branch 生成的。不指定的话生成器默认 public
  2. 怎么去 Steam CDN 做认证。 脚本让 SteamTools 拿 manifest 去 Steam 的公开内容服务器签名,确认 manifest 里的 depot ID 跟一个真实可下载的 build 对得上。
  3. 下载完之后做什么。 一些游戏需要 post-install 步骤(解压、移动配置文件)。Lua 文件里可以包含这些。

Lua 文件不是可选的。没有 Lua 文件只有 manifest,SteamTools 会拒绝安装并把报错写进日志。两个文件永远是一对出现。

完整端到端工作流 —— Lua 文件实际做了什么、每一行是什么意思、Lua 脚本抛错时怎么处理 —— 在 使用方式 页。还有一个四步流程图可以跟着走。

两个文件怎么配合

心智模型是:manifest 说装什么,Lua 说怎么装。 SteamTools 先读 manifest,知道要拉哪些 depot 的哪个 build;再跑 Lua 脚本,知道走哪个 branch、用什么认证路径、要不要 post-install。任何一个文件缺失,SteamTools 都会早停并把缺什么写进日志。

两个文件还互为版本锁。public branch 的 manifest 不能配 beta branch 的 Lua 脚本,反之亦然。本站生成器永远返回匹配的一对;不要从不同来源混用。

从 AppID 到装上游戏:四步走

完整流程拿到 AppID 之后大约三分钟。压缩版:

  1. 找 App ID。 就是 Steam 商店 URL 里的数字 —— 例如 Portal 是 https://store.steampowered.com/app/400/,所以 App ID 是 400。如果 URL 里找不到,看 如何找 Steam App ID 页的三种可靠方法。
  2. 搜索确认。首页输入游戏名或 App ID。搜索走的是 Steam 商店实时接口,所以 DLC、原声带、未上架但已发布的 app 都能搜到。
  3. 生成。 按按钮。生成器去上游 ManifestHub3 缓存取数据,返回一个 ZIP,里面是 .acf.lua 两个文件。响应通常 1.5 秒内。
  4. 放文件。.acf 放进 <SteamTools>/depotcache/,把 .lua 放在 SteamTools 二进制文件同级目录。重启 SteamTools。游戏出现在你的库里。

详细走查 —— 包括 Windows / macOS / Linux 下 <SteamTools> 在哪、SteamTools 看不到文件怎么办、怎么读 SteamTools 日志 —— 在 使用方式 页。

怎么找 Steam App ID

三种可靠方法,按成功率排序:

  1. 从 Steam 商店 URL。 打开游戏商店页,/app/ 后面的数字就是 App ID。例如 https://store.steampowered.com/app/400/Portal/400
  2. 从 SteamDB。steamdb.info 搜游戏,页面顶部的标准商店 URL 里有 App ID。
  3. 从本地 Steam 安装。 如果你已经装了游戏,看 <Steam>/steamapps/ 目录。每个已安装游戏都有一个 appmanifest_<APPID>.acf 文件,文件名里的数字就是 App ID。

完整指南 —— 包括下架游戏、DLC、原声带、未上架但已发布的 app 怎么找 —— 在 如何找 Steam App ID 页。

常见问题与解决

最常出问题的 5 个,按频率排序:

1. 下载的 ZIP 是空的。 通常三件事之一:AppID 在 Steam 目录里但 ManifestHub3 缓存还没有(页面会显示"暂不在下载数据库"提示和 Discord 链接);SteamTools 客户端在过滤这个文件(看日志目录);本地安全软件在剥响应。如果都不是,去 Discord 提一个 issue,带上 App ID 和 ZIP。

2. 文件放进去 SteamTools 看不到。 最常见是路径错了。Windows 是 <SteamTools>\depotcache\(放 .acf)+ <SteamTools>\(放 .lua)。macOS / Linux 路径类似。复制完要重启 SteamTools;它不会热加载。

3. 报"App not found in the Steam store"。 那个数字通常是 package ID、depot ID、build ID,不是 App ID。对照标准商店 URL 确认。下架游戏的 AppID 在 /appdetails 查不到,根本没法生成。

4. 报"429 rate limit"。 生成器对每个 IP 强制 1.5 秒间隔。脚本调用就用指数退避,上限 10 秒。没有 API key,没有更高级别。

5. Lua 脚本启动时抛错。 文件损坏了(重新下载),或者脚本跟 manifest 的 branch 不匹配。永远用同一次生成器调用返回的成对文件。

完整长尾问题 —— branch 不匹配、地区锁、反作弊冲突、proton 边缘案例、manifest 生成和 SteamTools 重启之间 build 被下架怎么办 —— 看 FAQ,20 条覆盖"我试了 X,下一步怎么办"。

SteamTools 与替代品

最常见的"vs"问题,简要回答:

  • SteamTools vs 官方 Steam 客户端。 SteamTools 是 SteamTools-Team 维护的开源 Steam fork,不是 Valve 分发或背书的。它扩展了官方客户端的离线库管理、多账号切换、应用社区发布的 manifest + Lua 解锁。本站(SteamTools.games)是独立的生成器,只产出 SteamTools 消费的 manifest + Lua 对 —— 不是 fork、不是客户端。
  • Watt Toolkit vs Steam++ vs SteamTools。 同一个项目在不同时间点的名字。最初叫 SteamTools,中文社区叫 Steam++,后来改名为 Watt Toolkit。三个名字都指 github.com/SteamTools-Team/SteamTools 维护的同一个桌面客户端。
  • SteamTools vs GreenLuma。 GreenLuma 是另一个社区项目,manifest + Lua 格式不一样。两个生态不能互换。本站产出的是 SteamTools 专用文件;如果你用 GreenLuma,这个生成器不适合你。
  • 2026 年的 SteamTools。 对新用户,SteamTools + 本站生成器是最轻的路径。另一个生态(GreenLuma 加少量付费解锁器)不推荐新用户使用 —— 维护差、文档少、恶意软件风险高。

完整对比 —— 包括为什么一些付费解锁器看起来能工作但不应该信任 —— 在 FAQ 页。

给开发者

生成器在 /api/search(按游戏名查 AppID)和 /api/generate(生成 manifest + Lua 对)开放了公开 REST API。两者都不需要鉴权,都限 IP 频率,文档在 开发者 / API 页。可以下载 OpenAPI 3.1 规格。

把 SteamTools 接入更大自动化时,正确的姿势是:

  • /api/search 把用户输入的游戏名解析为 App ID。
  • /api/generate 拿那个 App ID 加一个 branch 参数。
  • 遵守 1.5 秒限频。指数退避,上限 10 秒。
  • 缓存结果。manifest + Lua 对绑定上游 build ID;上游缓存不变就不用重取。

如果一次要批量生成 50+ 个,去 Discord 让维护者一次性加到 ManifestHub3 更快 —— 这也是 首页上"热门游戏"列表的来源。

背景:SteamTools 到底是什么

SteamTools(也叫 Watt Toolkit、之前叫 Steam++)是 SteamTools-Team 维护的开源 Steam fork。不是官方 Steam 客户端的插件 —— 是一个完整的 fork,替换你机器上的 Steam 二进制。在 Windows / macOS / Linux 上都能跑。

SteamTools 在三个方面扩展了官方客户端,这三方面跟本指南相关:

  1. 离线库管理。 SteamTools 能维护一个完全可用的离线 Steam 库,包括你已经在在线状态下玩过的游戏。Steam 服务器不可达时,SteamTools 回退到本地 depot 数据 + 你放在配置目录里的 manifest + Lua 文件。
  2. 多账号切换。 SteamTools 能在同一台机器上并行跑多个 Steam 账号,depot 隔离、存档隔离。官方客户端不支持。
  3. 社区解锁。 这部分需要 manifest + Lua 文件。SteamTools 从 depotcache 目录读 manifest、跑 Lua 脚本去 Steam 公开内容服务器认证、然后把 depot 数据下载到一个官方客户端之后能用作"本地内容服务器"的目录。社区发布的 manifest + Lua 对(以及支撑它们的数据缓存)由上游 ManifestHub3 项目提供。

想看 SteamTools 是什么、谁在维护、跟 Steam++ 和 Watt Toolkit 的关系、这个生成器跟桌面客户端的边界在哪 —— 关于本站 有完整的实体定义。

常见误解

几个常被问到、先解释清楚:

"manifest 是破解或外挂。" 它是配置文件。它指向的数据已经在 Steam 的公开 CDN 上;manifest 是一份"菜谱",告诉 SteamTools 拉哪些 depot、怎么验证。manifest 本身不含任何受版权保护的内容。

"有了 manifest 就能免费装任何游戏。" 不能。manifest 只描述怎么拉 depot 数据;它不能绕过购买。SteamTools 的离线模式要求底下的 depot 数据是你已经付费买过的;manifest 是指针,不是购买的替代品。

"SteamTools 和本站是同一个项目。" 不是。SteamTools 是桌面客户端,由 github.com/SteamTools-Team 上的 SteamTools-Team 维护。本站是独立生成器,由 SteamTools.games 团队维护,产出 SteamTools 消费的输入之一。两个项目名字相似、目标一致,但代码库、维护者、发布节奏都分开。

"游戏不在上游缓存里就放弃吧。" 不 —— 页面会明说,并链到 Discord 提单。多数热门游戏几天内会进缓存;小众的可能要等一个发布周期。"暂不在缓存里"是正确信号,不是死路。

"GreenLuma 的 manifest 能在 SteamTools 用。" 不能,格式不同。两个生态不能互换。GreenLuma manifest 装不进 SteamTools,SteamTools manifest 也装不进 GreenLuma。

什么时候不该用这个生成器

生成器适用的场景:你已经买了游戏,想用 SteamTools 离线装。不适用的场景:

  • 没买过这个游戏。 manifest 只描述怎么拉 depot 数据;它不绕过购买。所谓"免费 manifest"是不存在的。
  • 你用 GreenLuma、Goldberg 或其他非 SteamTools 客户端。 那些生态有自己的 manifest 格式。本站产出的是 SteamTools 专用文件。
  • 你想联网玩。 SteamTools 的离线模式只用于离线。联网还是走官方 Steam 客户端;SteamTools 在那的角色只是多账号切换。
  • 游戏已下架,App ID 在 /appdetails 查不到了。 Steam 的 /appdetails 接口是事实来源;App ID 返回空就帮不了。SteamDB 留有记录,但实际的 depot 数据已经不能从 Steam 拉了。

术语表

本指南和链接到的子页里用到的术语的简短参考。

App ID。 6-8 位数字,唯一标识一个 Steam app。Steam 商店 URL 里 /app/ 后面的数字。例如 Portal 是 400。

Branch。 Steam 游戏可以有多个 build branch —— public 是默认、一般你想要的就是这个;beta / ptb / experimental / staging 是常见的替代。Lua 文件告诉 SteamTools manifest 是按哪个 branch 生成的。

Build ID。 6-10 位数字,标识游戏的某个具体 build。manifest 里包含 build ID;SteamTools 下载的就是那个 build 的 depot 数据。

Depot。 Steam app 内部一个可下载内容单位。典型游戏 1-5 个 depot(主游戏、原声带、语言包等)。manifest 列出每个 depot 和解锁它的 manifest ID。

Manifest ID。 19 位数字,标识某个 depot 的某个具体版本。manifest 里的 InstalledDepots 块把 depot ID 映射到 manifest ID。

ManifestHub3。 开源 MIT 协议的社区 manifest + Lua 对缓存。生成器从 ManifestHub3 读数据。数据可审计、可 fork、不依赖本站。

SteamTools。 桌面客户端。github.com/SteamTools-Team 上 SteamTools-Team 维护。跟本站分开。

SteamTools.games。 本站。一个薄生成器,产出 SteamTools 消费的 manifest + Lua 对。跟 SteamTools-Team 无关。

Watt Toolkit。 SteamTools 客户端现在的中文名。这个项目之前叫 Steam++。

ACF。 Valve 的"Application Configuration File"格式。键值文本格式,带节头,类似于 INI。manifest 用的是 ACF。

看几个例子

manifest + Lua 流程适用于 Steam 目录里的每个游戏。想看生成的文件长什么样,首页的热门游戏区有知名 AppID 准备好直接生成。一些最常被点的:

你的游戏不在这个列表?在首页搜 —— 只要在 Steam 目录里,生成器就返回结果。如果上游 ManifestHub3 缓存还没有,页面会明说,并给一个 Discord 链接提单。

相关页面

如果你想再读一篇,按需要选:

  • 关于本站 —— 这个站是什么、谁在运营、它不是什么。想了解生成器背后是谁就看这篇。
  • 使用方式 —— 完整四步流程,带流程图、四步可视化、Lua 脚本逐行详解。动手前想理解整个工作流就看这篇。
  • manifest 文件详解 —— appmanifest_*.acf 的每个字段、它做什么、SteamTools 为什么需要它。想手动读 manifest 就看这篇。
  • 如何找 Steam App ID —— 三种可靠方法,加边缘案例(下架、DLC、原声带)。有游戏但没有 App ID 时看这篇。
  • FAQ —— 20 个长尾问题,覆盖"我试了 X,下一步怎么办"。出问题时看这篇。
  • 引用规范 —— 本站规范化、机器可读的身份卡。在论文或 AI 答案里引用 SteamTools.games 时看这篇。
  • 开发者 / API —— API 文档、OpenAPI 规格、限频细节。写脚本时看这篇。
  • 更新日志 —— 改了什么、何时改的。想看最近的站点更新有没有影响你的工作流就看这篇。
  • 博客 —— 教程、深度剖析、产品动态。想深入某个具体话题就看这篇。