DepotDownloader Steam游戏仓库下载工具使用指南
DepotDownloader 是一款基于 SteamKit2 库的 Steam 仓库下载工具,支持 .NET 8.0。该工具专门用于下载 Steam 应用程序的仓库内容,包括游戏、DLC 以及创意工坊项目。它通过命令行接口提供精确的下载控制,适合需要获取特定版本游戏内容的用户。
项目概述
DepotDownloader 是一个纯命令行工具,没有图形用户界面,必须在控制台环境中运行。它能够处理多种下载场景,包括应用仓库下载、创意工坊项目下载等。
安装方法
从源码构建
首先克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/de/DepotDownloader
然后使用 .NET 构建项目:
cd DepotDownloader
dotnet build
包管理器安装
Windows winget:
winget install --exact --id SteamRE.DepotDownloader
macOS Homebrew:
brew tap steamre/tools
brew install depotdownloader
核心功能
应用仓库下载
下载一个应用的所有或指定仓库:
./DepotDownloader -app <id> [-depot <id> [-manifest <id>]]
例如下载 CS:GO 应用:
./DepotDownloader -app 730
创意工坊下载
使用 pubfile ID 下载创意工坊项目:
./DepotDownloader -app <id> -pubfile <id>
使用 UGC ID 下载创意工坊项目:
./DepotDownloader -app <id> -ugc <id>
参数详解
认证参数
-username <user>:登录受限内容所需的账户用户名-password <pass>:账户密码-remember-password:记住密码用于后续登录-qr:显示登录二维码,可通过 Steam 手机应用扫描-no-mobile:优先输入 2FA 代码而非在手机应用中确认-loginid <#>:唯一的 32 位整数 Steam LogonID,在同时运行多个 DepotDownloader 实例时必需
下载参数
-app <#>:要下载的 AppID-depot <#>:要下载的 DepotID-manifest <id>:要下载内容的清单 ID(需要 -depot 参数,默认:分支的当前版本)-branch <branchname>:从指定分支下载(如果可用,默认:Public)-branchpassword <pass>:分支密码(如果适用)
下载配置参数
-all-platforms:使用 -app 参数时下载所有平台特定的仓库-os <os>:下载游戏的操作系统(windows、macos 或 linux,默认:程序当前运行的操作系统)-osarch <arch>:下载游戏的架构(32 或 64,默认:主机的架构)-all-archs:使用 -app 参数时下载所有架构特定的仓库-all-languages:使用 -app 参数时下载所有语言特定的仓库-language <lang>:下载游戏的语言(默认:english)-lowviolence:使用 -app 参数时下载低暴力版本仓库-dir <installdir>:放置下载文件的目录-filelist <file.txt>:包含要下载文件列表的本地文件名(来自清单)。如果希望使用正则表达式匹配,请在文件路径前加上regex:。每个文件路径应单独一行。
其他参数
-validate:包含已下载文件的校验和验证-manifest-only:下载任何将被下载仓库的人类可读清单-cellid <#>:覆盖内容服务器的 CellID-max-downloads <#>:同时下载的最大块数(默认:8)-use-lancache:通过 Lancache 实例强制在本地网络上下载-debug:启用详细调试日志-V或--version:打印版本和运行时信息
使用示例
下载特定版本游戏
./DepotDownloader -app 730 -depot 731 -manifest 7617088375292372759
下载创意工坊内容
./DepotDownloader -app 730 -pubfile 1885082371
./DepotDownloader -app 730 -ugc 770604181014286929
高级功能
文件列表筛选
创建一个文本文件,列出要下载的特定文件,然后使用:
./DepotDownloader -app 730 -filelist myfiles.txt
文件内容示例:
maps/de_dust2.bsp
materials/models/weapons/v_knife.mdl
多平台下载
下载适用于所有平台的游戏内容:
./DepotDownloader -app 730 -all-platforms
常见问题
为什么每次运行都需要输入 2FA 代码?
您的 2FA 代码用于验证 Steam 会话。需要使用 -remember-password 来"记住"您的会话,这将持久保存您的 Steam 会话登录密钥。
账户已登录 Steam 时能否运行 DepotDownloader?
如果它们共享相同的 LoginID,任何与 Steam 的连接都将被关闭。您可以使用 -loginid 指定不同的 LoginID。
包含特殊字符的密码无效?
如果在 -password 参数中传递包含特殊字符的密码,需要为您使用的 shell 适当地转义命令。只要包含 -username,就不需要在命令行中包含 -password 参数。您将可以交互式输入密码。
获取错误 401 或旧清单 ID 没有返回清单代码?
尝试使用 Steam 账户登录,使用匿名账户时可能会发生这种情况。Steam 允许开发者阻止下载旧清单,在这种情况下,即使参数看起来正确,也不会返回清单代码。
下载速度慢且频繁连接超时?
下载旧版本时,缓存服务器可能无法立即提供块,这使得下载速度变慢。尝试增加 -max-downloads 以更好地饱和网络。
项目结构
DepotDownloader 项目包含以下主要组件:
- Program.cs:程序入口点,处理命令行参数解析
- ContentDownloader.cs:核心下载逻辑实现
- Steam3Session.cs:Steam 会话管理
- Util.cs:实用工具函数
注意事项
- 该工具必须在控制台环境中运行
- 下载受版权保护的内容可能需要遵守相关法律法规
- 建议仅在合法用途下使用此工具
- 某些内容可能需要特定账户权限才能访问
DepotDownloader 为 Steam 游戏资源管理提供了强大的工具支持,无论是开发者还是游戏爱好者都能从中受益。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



