Skip to content

AlexBezuska/steamline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

steamline

Reusable SteamPipe upload helper intended to live as a git submodule.

This module is intentionally game-agnostic: game IDs, depot mappings, and build paths belong in your game repo config, not here.

What lives in this module

  • steamline.sh: generic Steam upload runner
  • steampipe-upload-builds.sh: compatibility wrapper that forwards to steamline.sh
  • vdf/: VDF templates used for one-time bootstrap of game-owned VDF files
  • examples/: starter templates for game-owned env config

External SDK location

steamline.sh defaults to:

  • STEAM_SDK_ROOT=~/steam-sdk

It also supports these fallback layouts:

  • $STEAM_SDK_ROOT/tools/ContentBuilder
  • $STEAM_SDK_ROOT/sdk/tools/ContentBuilder
  • <module>/sdk/tools/ContentBuilder (legacy fallback)

Expected game-owned files (outside submodule)

In your game repo, commit a config such as:

  • steamline.config.env

Then create your local private config (ignored by git):

  • steamline.config.local.env

An env template is provided in the submodule:

  • steamline/examples/steamline.config.env.example

Game-owned VDF files are generated in this submodule folder:

  • steamline/app_build.vdf
  • steamline/depot_build_linux.vdf
  • steamline/depot_build_windows.vdf
  • steamline/depot_build_macos.vdf

These generated VDF files are gitignored by steamline/.gitignore.

steamline.sh bootstraps those files from vdf/*.tpl only if they are missing.

Behavior:

  • If a VDF file is missing, steamline.sh creates it from defaults.
  • If a VDF file already exists, steamline.sh uses it as-is and does not overwrite it.
  • Steam build output is written to a temp directory outside the repo ($TMPDIR or /tmp).

You can copy env config from examples/.

Usage

From the module directory:

./steamline.sh --check
./steamline.sh

From repo root:

./steamline/steamline.sh --check

Override config path if needed:

./steamline/steamline.sh --config ./steamline.config.local.env --check
./steamline/steamline.sh --config ./steamline.config.env --check

Legacy root-level config path (./steamline.config.env) is still recognized for backward compatibility.

Credentials

Use steamline.config.env as your game-specific env file. Start from steamline/examples/steamline.config.env.example:

  • STEAM_USERNAME
  • STEAM_PASSWORD

Steam Guard code is not required in config; SteamCMD handles guard prompts on login.

About

steam uploader

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors