MacからSteamへゲームをアップロードする際、「Upload failed!というメッセージは出るけれど、なんかうまくアップはできているっぽい」という現象が起こっていました。何それ超怖い。
先日、改めてバグ修正をアップロードして、ビルドの仕組みについて少しだけ理解が深まったので、備忘録的にメモしておこうと思います。
アップロードについては、以下の記事が大変わかりやすかったのですが、少し情報が古く、アップロードに使うvdfファイルの中身の書き方(特にmac)で注意が必要、ということがわかりました。
vdf設定
app_buildファイル
自分は以下のように設定しています。
AppID: ここには自分のAppIDを入れましょう。とりあえずこの例ではAppIDが1000番、MacOS用のデポが1001番、ということにします。
Desc: gitでいうところのコミットメッセージみたいなもの。
Preview: 本番用は0にしましょう。デフォルトで1になっているのですが、そうするとpreview build、つまり何もアップロードされない状態になります。ログとファイルマニフェストのみをビルドの出力フォルダーに出力するようです。
公式サイトには、このPreview機能について「アップロードスクリプトの反復処理やファイルマッピング、フィルター、およびプロパティが意図したとおりに機能していることを確認するのに良い方法です」と書いてありました。
Local: 「これをSteamPipeローカルコンテンツサーバー(LCS)のhtdocsパスに設定します」とのこと。
つまり、ここからSteamクライアントを使用してゲームのインストールテストができるようです。ここはよくわからなかったので、自分はコメントアウトしています。
SetLive: ビルドが成功した場合に、自動的にライブに設定されるベータブランチ名です。これは、Steamworks側で対応するブランチ名をセットしておかないとFailedのエラーが出ます(私のなんか知らんけど...のエラーの原因はここにあった)。
SDKを落としてくると、デフォルトで"AlphaTest"と入っています。この名前のブランチをビルドのページで作成しておくか、"AlphaTest"の代わりに空白にしておくと、アップロードに成功します。
ただ、WinとMacでアップする場合、両者でこのブランチ名を揃えていないと(後述)ビルド後にうまくマージされない現象が起きたので、注意が必要です。
ブランチはここで作ろう |
ContentRoot: へたにこのファイルパスをいじらず、../Contentフォルダ内にビルドしたファイルをコピーしてきてアップするのがおすすめです。その方が確実。
Depots: AppIDと名前を対応させること。
depot_buildファイル
DepotIDを自分のAppIdにして、ファイル名の数字をAppIdに置き換える以外、落としてきたまま使っています。
Windows側のSteamPipeGUIとの対応
vdfでここまで書いてきた設定をGUIでできるのが、SteamPipeGUIです(Macも対応してくれたらいいのになぁ〜)。
基本的に、app_buildファイルで設定した各項目が対応関係にあるとわかるでしょう。
注意点は以下の通りです。
Set Live on non-Default Branchの項目が、 app_buildファイルでいうところのSetLiveに該当します。必要に応じて、ここにブランチ名を入れるか、空欄にするかを決めましょう。
Preview buildのチェックボックスは、デフォルトで入っていない、つまりapp_buildファイルでいうところの"Preview" "0" に該当します。リリースに向けてビルドをアップしたい場合、このままuploadすればOK。
※上記二つのSteamPipeGUIのデフォルト値が、vdfファイルのデフォルト値と違うところがトリッキー。そんな初見殺しあるんかい。
参考
Steamへのアップロード (公式ページ)
この公式ページ、いきなり読んでも全然ピンとこないな...となりやすいので、手を動かしてアップしてみてから改めて読むと、理解が深まります。
0 コメント