How to upload a build to Steam with SteamPipe
2 min read
By Eduardo Orellana ·
SteamPipe is how every build reaches Steam. In Steamworks, define a launch option and depots, publish, and add the depots to a package. Put your game files in the SDK's tools\ContentBuilder\content folder, write an app_build_<AppID>.vdf script mapping them to a depot, and run steamcmd with +login and +run_app_build. The build then appears under Your Builds; beta branches can go live from the script, but the default branch is set live by hand in Steamworks.
Every Steam game, from every engine, ships the same way
Whatever the engine, the last step is SteamPipe: Valve's content system, driven by steamcmd and two small text files. It chunks, compresses, encrypts and uploads your files, and only sends what changed next time.
In Steamworks, once
- General Installation Settings: at least one launch option, pointing at your executable.
- Depots: rename the default depot; add one per operating system if you ship more than one.
- Publish the changes.
- Associated Packages & DLC: add the depots to your package, or nobody owns them.
- A build account with Edit App Metadata and Publish App Changes To Steam permissions.
The build script
Put the game in tools\ContentBuilder\content and a script in tools\ContentBuilder\scripts:
"AppBuild"
{
"AppID" "1000"
"Desc" "First build"
"ContentRoot" "..\content\"
"BuildOutput" "..\output\"
"Depots"
{
"1001"
{
"FileMapping"
{
"LocalPath" "*"
"DepotPath" "."
"recursive" "1"
}
}
}
}Upload and set live
Run steamcmd from the ContentBuilder folder:
tools\ContentBuilder\builder\steamcmd.exe +login <account> <password> +run_app_build ..\scripts\app_build_1000.vdf +quit
Then open Your Builds in Steamworks. A beta branch can be set live by the script's SetLive field; the default branch, which players get, is set live by hand there.
Tips from Valve: set Preview to 1 to test a script without uploading; read the .log files in the output folder when a build fails; on Windows the SDK includes a SteamPipe GUI.
Where Flockbay fits
Flockbay makes the native Windows build of your Godot game and prepares the Steam store page as a .zip. The upload is yours: Flockbay never uploads to Steam.
Questions
- Can I upload to Steam without the command line?
- On Windows, the Steamworks SDK includes a SteamPipe GUI that writes the scripts and uploads for you.
Keep reading
- The indie game publishing guide
- How to publish a game on Steam
- Steam game maker
- How to put a Unity game on Steam
- How to put an Unreal Engine game on Steam
- How to put an RPG Maker game on Steam
- How to update a Steam demo, and when to take it down
- How to put a GameMaker game on Steam
Flockbay builds your game for free and prepares its Steam page as a .zip.
Download Flockbay free