🚂

Steamでのゲームビルド手順 | SteamPipeの使い方

に公開

Steamの「ビルド」について、備忘録的にまとめました。
手順は大きく2つありますが、ここではSteamPipeを使ってビルドする方法を記載しています。

前提

Steamの「ビルド」とは?

Steamにおける「ビルド」とは、こちらで作った完成品をSteamにアップロードする工程そのものを指します。
アップロードしたコンテンツはSteam上にて、1つ以上のDepot(デポ)という単位で管理されます。デポは対応するOSやDLCに応じて数が増えるもので、例えば「Windowsのみ対応、DLC無し」なら1つです。

Steamの工程は「ストアプレゼンス・ゲームビルド・ゲームリリース」の3つに分かれますが、ここの2つ目にあたります(今回審査の話はしません)。

ビルド方法

大きく以下2つの方法があります:

  • Zip形式でアップロード
  • SteamPipeを使ってアップロード
    • GUIかコマンドラインの2択

こちらの記事が方法全てをまとめてあり、大変参考になります。

https://indiegamesjapan.com/archives/2021/04/184/#:~:text=やり方は2つあります。 ・ZIPファイルで直接デポをアップロード ・「Steamworks SDK」を使用してアップロード

特徴

  • Zip: Steamworksの画面上で手軽に行えるので、すぐアップしたい時に便利(2GBの容量制限あり)
  • SteamPipe: 初期設定こそ面倒だが、継続的にビルドしたいならおすすめ

今回は後者のSteamPipeの方法を使用したので、こちらの手順をまとめます。

本記事での実行環境・条件

  • Windows 11
  • Steamworks SDK 1.62
  • デポは1つとする

SteamPipeによるビルド

公式ドキュメント からSteamworks SDKをインストールします。

このパッケージ内にある「SteamCMD」を使ってコマンドラインで実施していくのですが、この作業をGUI上で行える「SteamPipeGUI」も同封されており、このアプリでも実施できます。

が、自分がダウンロードしたSDK内のSteamPipeGUIにて、図の一番下のログイン入力欄がなく、Uploadボタンを押しても「ログインが必要です」と出てきて使用できませんでした(ネットで似た不具合が見当たらず、自分の凡ミスの可能性があります)。


本来のSteamPipeGUIの画面(上記記事から参照しております)

原因わからず解決できなかったので、今回はコマンドライン上での手順で実施しています。

事前準備

ゲームエンジンにてビルドさせた完成品を準備し、「steamworks_sdk_162/sdk/tools/ContentBuilder/content」フォルダに置いておきます。

その際Steamworksにてインストール設定が必要です。アプリ管理ページの「Steamworks設定を編集」を選択。

「インストール」タブを開きます。

以下項目を設定:

  • インストールフォルダ:Steamからインストールした時のフォルダ名になる
  • 実行可能ファイル(重要):ここに完成品内のexeファイルの名称を正しく記載

完了したら忘れずに「公開」します。

コマンドラインによるビルド

「steamworks_sdk_162/sdk/tools/ContentBuilder/builder」内のsteamcmd.exeを実行します(初回はダウンロードが走る)。

「ContentBuilder/scripts」内に、サンプルにしたがってapp_build_<APPID>.vdfdepot_build_<DEPOID>.vdfの2つを作成します。

注:<APPID>と<DEPOID>と書いている個所は、<>は外して自身のIDを記載してください(DEPOIDはAPPID+1になっていると思います)

app_build_<APPID>.vdf
"AppBuild"
{
	"AppID" "<APPID>" // Your AppID
	"Desc" "Your build description here" // internal description for this build
	// "Preview" "1" // make this a preview build only, nothing is uploaded
	"Local" "..\..\ContentServer\htdocs" // put content on local content server instead of uploading to Steam
	"SetLive" "" // set this build live on beta branch AlphaTest
	"ContentRoot" "..\content\<以下パス指定>" // content root folder relative to this script file
	// "BuildOutput" "D:\build_output\" // put build cache and log files on different drive for better performance
	"verbose" "0" // spew more build details in console
	"Depots"
	{
		// file mapping instructions for each depot are in separate script files
		"<DEPOID>" "depot_build_<DEPOID>.vdf"
	}
}
depot_build_<DEPOID>.vdf
"DepotBuild"
{
	// Set your assigned depot ID here
	"DepotID" "<DEPOID>"

	// include all files recursivley
	"FileMapping"
	{
		// This can be a full path, or a path relative to ContentRoot
		"LocalPath" "*"

		// This is a path relative to the install folder of your game
		"DepotPath" "."
		
		// If LocalPath contains wildcards, setting this means that all
		// matching files within subdirectories of LocalPath will also
		// be included.
		"Recursive" "1"
  }
}

プロパティの補足

  • ContentRoot: アップロードする完成品のパス
  • SetLive: ブランチの名前
    • defaultブランチの場合は""指定でよいが、ビルド後に手動設定が必要(方法は「ビルド後」で後述)
    • テスト用ブランチにする場合は、事前にブランチ作成(以下記事参考)

https://michikoshibuya.com/steam-betatest/


用意ができたら、SteamCMDにて以下を実行します:

login <steamworksアカウント> # パスワードや二段階認証によりログイン
run_app_build ..\scripts\app_build_<APPID>.vdf

ビルド後

Steamworks管理画面の「SteamPipe > ビルド」にてビルド内容を確認します

  • 左上が「default」になっていることを確認
  • なっていなければ「アプリブランチの選択」でdefaultを選択

以上の手順ができていれば、このSteamworksアカウントでログインしたSteamアプリから、ゲームをインストールできるようになっていると思います。

インストールした中身が空だった場合、「インストール設定」が間違えている可能性が高いです。事前準備の項目を参考に設定してください。


おまけ:キーの発行

リリース前に他の人にもテストしてほしい場合は、キーを発行する必要があります。

「キーを管理」タブにて、「リリース状態のオーバーライド」を選択し、申請。

タグはtestingなど用途に合っていそうなものでいいと思います。
リクエスト完了後、自分の場合は数時間後にメールが届きました。

キーのダウンロードは、「キーの管理タブ > "キー履歴を表示"を押す > キーの割り当て」にてできます。

Steamアプリ左下の「+ゲームを追加 > Steamで製品を有効化する」から、キーを入力しましょう。

Discussion