本文目录导读:

如果你是一名独立游戏开发者,或者正打算把自己制作的游戏分享给全世界玩家,Steam无疑是最好的起点,但很多新手在第一次接触Steamworks后台时,面对复杂的“上传游戏”流程经常会一脸茫然——构建分支、Depot配置、Steam Pipe管道、测试分支……这些术语足以劝退不少人。
别担心,本文将用最通俗的语言,手把手教你完成从注册Steamworks到成功上传游戏的全部步骤,无论你是用Unity、Unreal还是自研引擎,这套流程都通用。
第一步:准备工作
在开始上传之前,请确保你拥有以下条件:
- Steam账号:一个至少消费过5美元、未处于受限状态的账号。
- Steamworks开发者资格:登录 partner.steamgames.com 并注册为开发者,需要支付100美元(按每个应用算)的提交费——这笔钱会在游戏销售额达到1000美元后返还。
- Steamworks SDK:在Steamworks后台下载最新版SDK,解压后你会得到一个名为
sdk的文件夹,里面包含了上传工具steamcmd.exe以及相关的构建工具。 - 游戏构建版本:你的游戏已经打包成可执行文件(.exe)以及其他依赖文件(如资源、DLL、配置文件等),建议先压缩成zip,方便后续操作。
第二步:在Steamworks后台创建应用
- 登录Steamworks,点击顶部菜单的 “应用” > “创建新应用”。
- 填写游戏基本信息:名称(最终可改)、类型(游戏/软件/视频等)、是否为免费游戏等。
- 提交后系统会生成一个唯一的 App ID(1234560),记下这个ID,后面会反复用到。
- 设置商店页面(此时可以跳过,但建议先把基本信息填好,方便后续审核),关键字段包括:游戏描述、截图、预告片、标签、系统需求等,这些内容可以等上传成功后慢慢完善。
第三步:配置Depot(仓库)
Steam上的游戏并非直接上传一个exe文件,而是通过 Depot(仓库) 机制来分发,每个Depot对应一个“内容块”,比如主程序一个Depot,Windows专用DLL一个Depot,语言包一个Depot,这样做的好处是更新时只需替换变动的部分。
- 在Steamworks后台,找到你的App,点击 “Steam Pipe”(旧版叫“Depot”)。
- 系统已经自动生成了一个默认Depot(Depot ID通常等于App ID),你也可以手动添加更多。
- 点击Depot ID进入配置页,设置:
- 语言:如果这个Depot包含多语言资源,可以特殊标记;一般选“所有语言”。
- 操作系统:Windows、macOS、Linux分别创建独立Depot。
- 分支:默认有
default(正式版)、beta(可选)、temp(临时),通常只用default。
- 记下每个Depot的ID,上传时需要用到。
第四步:使用SteamCMD上传游戏文件
SteamCMD是命令行工具,用来向Steam服务器提交你的构建版本,它是整个流程最核心、也最容易出错的地方。
1 获取SteamCMD并登录
在Steamworks后台的“工具”页面可以下载SteamCMD,如果你下载了完整SDK,它就在 sdk\tools\ContentBuilder\builder 目录下。
打开终端(Windows用cmd或PowerShell),进入SteamCMD所在目录,运行:
steamcmd.exe
登录你的Steamworks开发者账号(注意:必须使用Steam账号,不是邮箱,且要在Steam客户端中解除账号保护限制):
login your_username your_password
2 编写上传脚本(app_build_XXXX.vdf)
每次手动输入命令很麻烦,推荐用脚本文件,新建一个文本文件,命名为 app_build_1234560.vdf(数字换成你的App ID),内容模板如下:
"AppBuild"
{
"AppID" "1234560" // 你的App ID
"Desc" "First Upload - v1.0" // 构建描述,随便写
"BuildOutput" "C:\build_output" // 构建日志和缓存目录
"ContentRoot" "C:\game_build" // 你的游戏文件根目录
"Depots"
{
"1234560" // 你的Depot ID
{
"FileMapping"
{
"LocalPath" ".\*" // 从ContentRoot开始的相对路径(. 表示根目录)
"DepotPath" "." // 在Depot中的存放路径(通常也是根目录)
"recursive" "1" // 包含子文件夹
}
"FileExclusion" "*.pdb" // 排除调试符号文件(可选)
}
}
}
重点解释:
ContentRoot:你游戏文件所在的本地文件夹路径,D:\MyGame\Build。LocalPath:相对于ContentRoot的路径, 表示所有文件和子文件夹。DepotPath:上传到Depot后的路径,一般用 表示保持原样。- 如果有多个Depot(比如macOS和Windows),就按同样格式在
Depots下新增条目。
3 执行上传
在SteamCMD中,先登录,然后输入:
run_app_build_http C:\path\to\app_build_1234560.vdf
等待上传完成,控制台会显示上传速度和最终结果,如果出现错误,请检查:
- 路径中是否有中文或空格(建议全英文路径)。
- SteamCMD是否以管理员权限运行。
- 文件是否被其他程序占用。
第五步:设置发布分支与测试
上传成功后,你的游戏还不会自动推送给玩家,需要回到Steamworks后台:
- 进入 “Steam Pipe” > “构建” 页面,你会看到刚才上传的构建版本(Build ID)。
- 点击 “设置为当前版本”,选择分支(默认
default),确认。 - 建议先创建一个测试分支(
beta),让内部成员或小范围测试玩家下载验证,方法:在“分支管理”中添加新分支,然后将该分支的构建版本设为刚才上传的Build。 - 在“发布”页面,设置商店页面可见状态为 “隐藏”(不公开),这样只有拥有测试权限的人才能看到。
第六步:提交审核与发布
一切测试通过后,最后的步骤:
- 填完商店页面:所有必填字段(包括游戏分类、年龄分级问卷、最终用户协议等)都要完成,否则无法提交。
- 提交审核:在“发布”页面点击 “提交审核”,Steam会进行人工审查,通常需要1-5个工作日,期间会检查游戏内容是否合规、是否存在恶意代码、商店页面是否完整等。
- 收到通过通知后:回到“发布”页面,选择 “发布到商店”,确认日期,你可以立刻发布,也可以设定一个未来的日期(配合宣传)。
常见问题与避坑指南
❌ 上传失败:Error #3 Access Denied
- 原因:你没有该Depot的权限,检查是否在Steamworks后台正确添加了Depot,并且你登录的账号是开发者账号(不是普通用户)。
❌ 上传慢或卡住
- 解决方案:更换网络环境(比如用加速器),或者使用
run_app_build(不使用HTTP,但更稳定)。
❌ 上传后游戏打不开
- 检查:是否把全部依赖文件都打包进去了?特别是Visual Studio运行时、DirectX、.NET Framework等,建议用依赖分析工具(如Dependency Walker)检查。
- 注意:Steam客服不会帮你调试游戏,所有技术问题都要自己解决。
💡 高效更新策略
- 每次更新时,只需在脚本中修改
Desc和ContentRoot指向新构建,重新上传即可,不要重复创建新Depot。 - 使用 “仅上传变更文件” 的模式(在VDF中添加
"chunksize"参数)可以大幅减少上传时间。
💡 多平台(Windows/Mac/Linux)管理
- 每个平台使用独立的Depot,上传时在VDF中分别配置,确保每个平台只有对应的可执行文件和资源,例如macOS要包含 .app 包,Linux要包含可执行权限。
把游戏上传到Steam并不神秘,核心步骤就是:创建应用 → 配置Depot → 用SteamCMD上传 → 设置分支 → 提交审核,每一步都有明确的操作对象,只要细心阅读官方文档(或本文),绝大部分开发者都能在半小时内完成第一次上传。
最后提醒几点:
- 不要试图上传盗版或侵权内容,Steam审核很严。
- 首次提交审核建议提前一周,避免遇到问题来不及修改。
- 善用测试分支,上线前至少让3名以上朋友实机测试。
打开你的Steamworks后台,按照本文的指引开始上传你的第一个游戏吧,祝你的作品大卖! 🎮