手动提取steam游戏清单,用于分享游戏给未购买的朋友

打开资源管理器,进入steam安装的位置,比如默认的是C:\Program Files (x86)\Steam\

进入steamapps文件夹
找到你需要提取的游戏对应的acf文件

appmanifest_{游戏ID}.acf

(游戏ID可以打开通过steam商店打开游戏商店页面上面的链接中最后的数字就是游戏的ID)

右键acf文件,使用文本编辑器打开,找到查找InstalledDepots或StagedDepots区块
记录每个Depot信息,比如下面这种

"InstalledDepots"
{
    "1810921"        //DepotID
    {
        "manifest"        "5579919240518774631"          // ManifestID
        "size"        "24910948173"            // 文件大小
    }
}

steamapps
回到steam安装的位置,比如默认的是C:\Program Files (x86)\Steam\
进入config文件夹,找到config.vdf文件,使用文本编辑器打开
找到depots位置下面,找到对应DepotID的密钥

"depots"
{
    "1810921"        //DepotID
    {
        "DecryptionKey" "a1b2c3d4e5f6..." // 64位十六进制密钥
    }

开始创建清单文件
在桌面或任意位置创建一个文件夹,可以将其命名成游戏的ID或游戏名,让自己可以知道提取的是哪个游戏
生成Lua文件
创建文件:{游戏ID}.lua
写入格式:

addappid(游戏ID)
addappid(DepotID1, 1, "密钥1")
setManifestid(DepotID1, "ManifestID1", 文件大小)
addappid(DepotID2, 2, "密钥2")
setManifestid(DepotID2, "ManifestID2", 文件大小)

(没有多个就填一个,上面是多个DepotID的例子,有的游戏有DLC会有多个DepotID)
创建config.vdf文件
写入格式:

"depots"
{
  "DepotID1"
  {
    "DecryptionKey" "密钥1"
  }
  "DepotID2"
  {
    "DecryptionKey" "密钥2"
  }
}

复制Manifest文件
再次回到steam安装的位置,比如默认的是C:\Program Files (x86)\Steam\
进入depotcache文件夹,复制对应的manifest到创建的文件夹

{DepotID}_{ManifestID}.manifest

最终的清单结构
123456/
├── 123456.lua
├── config.vdf
├── 123_1234567890.manifest

写的不清晰,不清楚的地方可留言。