steam Depot build and apply scripts

Depot Generate Script

Start by creating a Depot Generation Script for each Depot you upload. Start by copying  depot_build_1001.vdf the script and name it after the Depot ID that will be uploaded.

Example of Depot build script:

"DepotBuildConfig" { // Set the depot ID to be uploaded by the script. "DepotID" "1001" // Set the root directory for everything. // All relative paths specified below in LocalPath in FileMapping items, and FileExclusion paths) // will be resolved against this root directory. // If you don't define ContentRoot, it will default to // the location of this script file, which you probably don't want to use. "ContentRoot""D:\MyGame\rel\master\" // recursively include all files "FileMapping" { // this can be a full path, or a path relative to ContentRoot "LocalPath" "*" // this is the path relative to your game's installation folder "DepotPath" "." // If LocalPath contains wildcards, setting this means // all files in subdirectories that match wildcards will also be included. "recursive" "1" } // exclude all symbol files // this can be a full path, or a path relative to the ContentRoot "FileExclusion" "*.pdb" }


Note:  Setting a "ContentRoot" in the Depot build script will override the "ContentRoot" in the app build script.

App build script

After setting up your Depot build script, you will need an app build script that describes the build version details. Start by copying  app_build_1000.vdf the script and name it the app ID that will be generated.

SteamPipe supports 3 spawn types:

  • Preview - Such builds can only output logs and a list of files. Making a preview build allows you to iterate on the upload script.
  • Local – The build for the  SteamPipe Local Content Server . Uploading the LCS build to your LCS will allow you to test the game install using the Steam client.
  • SteamPipe - The SteamPipe build will actually upload your Depot to Steam. It's safe to do this, and it's safe for games that have already been released, because you need to make it public before customers can download it.


Example of application build script:

"appbuild" { // Set the app ID that the script will upload. "appid" "1000" // The description of this build. // Only visible to you in the "Your Builds" column of the "App Admin" panel. // The description can be changed at any time after uploading the build in "Your Build". "desc" "Your build description here" // Enable/disable whether this is a preview build. // It is strongly recommended to use the preview build when initially setting up SteamPipe // to ensure the depot manifest contains the correct files. "preview" "1" // If the local content server is enabled, its file path. "local" "" // After the generation is successful, it will be automatically set to the online branch name, if not, it will be none. // Note that the "default" branch cannot be set to go live automatically, it must be set via the Application Admin panel. "setlive" "" // The following paths can be absolute or relative to the script. // This path will be the path where the version log, chunk cache and intermediate output will be generated. // The cache stored here enables future SteamPipe uploads to complete faster using diffing. "buildoutput" "..\output\" // Content folder root directory. "contentroot" "..\content\" // List of depots included in the build. "depots" { "1001" "depot_build_1001.vdf" } }

Generate Depot

To start building your build, edit the run_build.bat file, which includes your Steamworks build account and password (see above ) and the path to the script that applies the build:

builder\steamcmd.exe +login "account" "password" +run_app_build ..\scripts\[build_script_name].vdf +quit


Note:  Your first attempt to run the build may fail due to Steam Tokens. If you can't log in due to Steam Token, look for the Steam Token verification code in your email, run steamcmd.exe  steamcmd.exe "set_steam_guard_code <code>", and try again. After logging in once with the Steam Token, there is a Sentry file that verifies that the login is real.

After running run_build.bat, your build output should be placed in the directory specified by the build script file. If the preview build produces the expected manifest, run the build again with "preview" "0" in the app build script.

SteamPipe generation will go through the following steps:

    1. Steamcmd.exe logs into the Steam backend using the given generator Steam account.
    2. Registering the app build on the MDS (Master Depot Server) starts, which ensures that the user has the proper permissions to modify the app.
    3. For each depot included in the app build, a file list is generated based on the files in the content folder and the filtering principles defined in the Depot build configuration file.
    4. Each file is then scanned and split into small chunks of approximately 1MB. If a Depot has been made before, this split should preserve as much unchanged blocks as possible.
    5. New file blocks are compressed, encrypted and uploaded to MDS.
    6. The final manifest corresponding to this Depot version is then generated; each manifest has a unique 64-bit manifest ID.
    7. Once all depots are processed, the MDS completes this app version and assigns it a global buildID.
    8. After the build is processed, *.csm and *.csd files may appear in the build output folder. These are temporary files and can be deleted, but they speed up the processing of subsequent builds.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324689867&siteId=291194637