How to upload your game¶
Prefer a video?
Then watch the YouTube video How to upload your Linux game to Steam, which goes through this same content and shows how this looks like.
You want to upload your game (and optionally some more files that it needs).
There are these options:
[1]
Use a zip file and upload[2]
Create a zip file from a script and upload[3]
Usesteamcmd
and some Valve Data Format (.vdf
) files
Here is a comparison of the features of these approaches:
Option | Advantages | Disadvantages |
---|---|---|
[1] Use a zip file |
Easiest to do | Clumsy, manual steps, does not scale with more complex games |
[2] Create a zip file from a script |
Allows scripting | Still requires manual steps |
[3] Use steamcmd |
Allows scripting | Need to install and learn steamcmd and the VDF format |
Here is a decision tree:
flowchart TD
question_basic_bash[Can you do basic bash scripting?]
question_steamcmd[Can you get steamcmd to work?]
question_basic_bash --> |No| use_zip[1.Use a zip file]
question_basic_bash --> |Yes| question_steamcmd
question_steamcmd --> |No| use_zip_scripts[2.Create a zip file from script]
question_steamcmd --> |Yes| use_steamcmd[3.Use steamcmd]
[1]
Use a zip file and upload¶
This option only involves clicking in the right places.
- Zip your game files in your file explorer
- Upload the zip file on Steamworks
[2]
Create a zip file from a script and upload¶
This option involves writing and running a script to create a zip file, then clicking to upload it.
- Write a script to zip the game files
- Run the script to zip the game files
- Upload the zip file on Steamworks
This script can be very simple.
Below is a Bash script that zips the executable called my_game
to a zip file called my_game.zip
.
[3]
Use steamcmd
and some Valve Data Format (.vdf
) files¶
This option involves writing Valve Data Format files (these
are the files in which you state the location of your game files)
and then using steamcmd
to upload the files.
- Write the
.vdf
files, which are 1AppBuild
file and 1 or moreDepotBuild
files
Could you give an example AppBuild
file?
Below is an example AppBuild
file.
It assumes that there is a DepotBuild
file
called depot_build_3873941.vdf
.
"AppBuild"
{
"AppID" "3873940" // your AppID
"Desc" "My first VDF files" // internal description for this build
"ContentRoot" "." // root content folder, relative to location of this file
"BuildOutput" "." // build output folder for build logs and build cache files
"Depots"
{
// file mapping instructions for each depot are in separate script files
"3873941" "depot_build_3873941.vdf"
}
}
Could you give an example DepotBuild
file?
Below is an example DepotBuild
file.
To be able to work together with the example AppBuild
file,
this file must be called depot_build_3873941.vdf
:
- Install
steamcmd
from the Valve developer community website - In
steamcmd
, runlogin
to login - Run
run_app_build my_app_build.vdf
to upload the files