INDIE INDEX

レベル:実践

Steam で DLC を出す手順|App ID の作成・ストアページ・配り方

公開 2026-10-21更新 2026-10-21Steam(Steamworks Partner Program / Steam Direct)

Steam では、DLC ごとに特有の AppID があります。DLC の AppID は、ベースゲームの「関連するすべてのパッケージ、DLC、体験版、ツール」を表示し、「新しいDLCを追加」ボタンをクリックして新規に作ります。

このページの目次
  1. DLC の AppID を作る
  2. DLC のデポを追加する
  3. ゲームの側で所有を調べる
  4. ゲーム内でストアを見せる
  5. DLC をオンデマンドでダウンロードしてインストールする設定
  6. 発売の前に購入を試す
  7. DLC の不正行為・詐欺
  8. 情報源

DLC の AppID を作る

Steam は、CDキーでの登録または Steam ストアからの入手が可能な、無料または有料のダウンロードコンテンツ(DLC)をサポートしています。

DLC の AppID を新規に作るには、ベースゲームの「関連するすべてのパッケージ、DLC、体験版、ツール」を表示し、「新しいDLCを追加」ボタンをクリックします。ベースゲームとは異なり、DLC は AppID を DepotID として使用し、DLC のデポとそのコンテンツは、デフォルトではベースゲームの AppID の下で管理されます。

DLC として配れる内容の例と、配り方の2通りはSteam で実装が要る仕様にあります。デポとビルドの仕組みはビルドとデポとブランチに、ストアページの画像の寸法はストアページに必要な画像の寸法に、審査と発売までの流れは審査と発売までの流れに、価格の入れ方はSteam の価格の決め方に、更新との使い分けは発売後の更新の出し方にあります。用語の意味はDLCにあります。

DLC のデポを追加する

別の言語、OS、アーキテクチャをサポートするために DLC デポを追加する必要がある場合の手順は、次のとおりです。

  1. Steamworks でベースアプリのアプリ管理を開きます。
  2. 「Steamworks設定を編集」>「SteamPipe」タブ>「デポ」を選択します。
  3. 「新しいデポを追加」ボタンをクリックし、名前を付け、OKをクリックします。
  4. 言語、OS、アーキテクチャを設定します。
  5. ドロップダウンボックスからこのデポに関連付ける正しい DLC を選択します。
  6. 「変更を保存」をクリックします。変更を公開するまで、Steam クライアントは新しいデポを認識しません。
  7. デポが含まれるべきすべてのパッケージ(開発者コンプパッケージなど)にデポを追加します。
  8. ビルドマシン上で、新しい DLC デポ用の新しいデポビルドスクリプトを追加します。
  9. ベースゲームアプリのビルドスクリプトに、新しいデポのビルドスクリプトを追加します。
  10. 新しいデポファイルをアップロードしたり、ビルドをライブに設定したりするなど、残りのタスクを完了します。

「DLCデポを別々に管理」を有効化すると、DLC デポは各 DLC の AppID の下で別々に管理され、アップロードされます。

ゲームの側で所有を調べる

所有を調べる関数は、次のようなものがあります。

  • CheckAppOwnership(Web API):保護されたサーバーでオンラインゲームを運営していて、WebAPI キーを使用している場合に、ユーザーが DLC を所有しているかどうかを安全に確認できます。key(Steamworks Web API パブリッシャー認証キー)・steamid(ユーザーの SteamID)・appid(所有権を確認する AppID)が必須で、ownsapp フィールドが true であれば、ユーザーは有効なライセンスを持っています。この呼び出しは、このメソッドを使用する指定の App ID を所有するパブリッシャーの API キーを必要とし、必ずセキュリティ保護されたサーバー上から呼び出し、決して直接クライアントから使用しないものです。
  • BIsSubscribedApp(クライアント API):それ以外のゲームでは、DLC の所有権を確認できます。アクティブなユーザーが指定の AppID をサブスクライブしている場合に限り true を返し、体験版など、ゲームに関連する別のゲームの所有についてチェックが必要な場合に限って使用する関数です。
  • ISteamApps::BIsDlcInstalled:ユーザーが指定の DLC を所有し、DLC がインストール済みの場合に限り true を返します。ゲーム内アイテムの付与への使用は想定されていません。

コンテンツをゲームファイルに含めてゲーム所有者全員に配る方法では、ゲームは BIsDlcInstalled を使用して、ユーザーがコンテンツを所有しているかどうかを判断できます。

ゲーム内でストアを見せる

Steamworks ゲームは、プレイヤーがゲームから退出することなくゲーム内で DLC を閲覧、購入、ダウンロードできるようサポートしています。ユーザーは、ゲーム内で開いた Steam オーバーレイ上の Web ブラウザーセッションで、すべての購入プロセスを完了できます。

ISteamFriends::ActivateGameOverlayToStore を使用すると、Steam オーバーレイに DLC を表示できます。ゲームの AppID を渡すとゲームのすべての DLC を表示でき、DLC の AppID を渡すと特定の DLC に関する情報を表示できます。この関数は、Steam オーバーレイを有効化して、渡した AppID の Steam ストアページを開きます。

ユーザーをストアに誘導する前に、Steamworks ゲームは ISteamUtils::IsOverlayEnabled を呼び出し、そのユーザーが Steam クライアント設定を通して Steam オーバーレイを無効化したかを判断します。オーバーレイプロセスを開始してゲームプロセスにフックするためには数秒間かかるので、この関数は、オーバーレイがロードしている間の最初の呼び出しには false を返します。

DLC は通常、Steam ユーザーが購入するとすぐにダウンロードおよびインストールされます。ダウンロードが完了すると、Steam クライアントはゲーム内の Steam 通知経由でユーザーに通知し、ゲームに対してはダウンロードの完了と新規コンテンツの所有を通知します。実行中のゲームのバージョンと DLC の非互換性を避けるため、Steam は、ユーザーが最新バージョンのゲームを実行している場合にのみ新しいコンテンツをダウンロードします。

DLC をオンデマンドでダウンロードしてインストールする設定

DLC を自動でダウンロードさせずに、ゲームが DLC をダウンロードするタイミングを制御するように設定することも可能です。オンデマンドで DLC をダウンロードおよびインストールさせる設定は、次の手順です。

  1. 最大10個の DLC をダウンロード可能なチャンクとして作成できます。DLC を追加するには、アプリケーションのランディングページを開き、「関連するすべてのパッケージ、DLC、体験版、ツール」をクリックし、「新しいDLCを追加」ボタンを押します。
  2. Steam クライアントが自動でダウンロードしないよう、各 DLC を設定します。各 DLC で「Steamworks設定を編集」>「一般」タブを開き、「SteamがこのDLCを自動でダウンロードしないようにする」というボックスにチェックが入っていることを確認します。
  3. 適切なパッケージ(Steamストア、リテール、ベータテスト、Developer Compなど)に DLC を追加し、ベースアプリが購入された時点でアクセスできるようにします。アプリのランディングページを開き、「関連するすべてのパッケージ、DLC、体験版、ツール」をクリックします。DLC を追加したいパッケージをクリックし、「+アプリケーションを追加」をクリックし、関連 DLC を見つけ、チェックマークがついていることを確認後、「続行」をクリックして、保存します。
  4. SteamPipe ビルドプロセスの一環として、各 DLC 用の適切なファイルを、関連する DLC デポに追加します。
  5. コード内の適切な場所に、次の API を実装して、DLC をダウンロードおよびインストールするようにします。

コードに実装する API は、次のとおりです。

  • ISteamApps::BIsDlcInstalled:各 DLC がインストール済みかを判断します。
  • ISteamApps::InstallDLC:ダウンロードをトリガーし、コールバック DlcInstalled_t を処理します。この方法でトリガーされたダウンロードは、ダウンロードキューの先頭に配置され、直ちに開始されます。DlcInstalled_t は、現在のユーザーが DLC を所有した後にトリガーされ、その DLC がインストールされます。
  • ISteamApps::GetDlcDownloadProgress:オプションで、インストールされた DLC の進行状況を確認するために使用されます。ダウンロード済みのバイト数と合計ダウンロードサイズ(バイト)を返し、指定した DLC が存在し現在ダウンロード中の場合に限り true を返します。
  • ISteamApps::UninstallDLC:必要に応じて、DLC コンテンツを削除できます。

「SteamがこのDLCを自動でダウンロードしないようにする」ボックスにチェックを付けた場合、ゲームが InstallDLC を使っていなくても、この DLC を所有するプレイヤーは、ライブラリから DLC のインストールを手動で選択できるようになります。Steam クライアントの UI の「プロパティ」>「DLC」タブから、ユーザー自身が DLC のダウンロードを開始することもできます。

発売の前に購入を試す

DLC のテストを開始する前に、Steam クライアントのゲームリストからゲームを選択し、「プロパティ」から「DLC」タブを選択して、DLC を所有していることを確認します。そこに表示されない DLC は所有していません。

DLC の所有プロセスは、Steam クライアントを通してシミュレーションできます。新コンテンツが Steam に追加されると、パブリッシャーグループを通してコンテンツへのアクセスを付与するパッケージが与えられます。通常、このパッケージの名前には「Developer Comp」が含まれています。一時的に「Developer Comp」パッケージの所有を無効化して、DLC の購入をシミュレーションすることができます。手順は次のとおりです。

  1. steam.exe をコマンド「-console」と共に実行します(または steam://nav/console を実行します)。
  2. クライアント内のコンソールタブを開きます。
  3. コンソールで、1つ目のコマンドを入力します。これによって、どの PackageID を通して DLC の appID を所有しているかがわかります。
  4. 上記の packageID を使って、2つ目のコマンドを入力します。この時点で、アカウントは自動で DLC を所有していない状態となります。
  5. ゲームを実行し、DLC の所有権 API の応答をテストできます。
  6. Steam コンソールに戻って、3つ目のコマンドを使うと、DLC の所有を再度有効化できます。または、Steam を再起動すると自動で所有状態が元に戻ります。

コンソールに入力するコマンドは、次のとおりです。

licenses_for_app <appID>
disable_license <packageID>
enable_license <packageID>

DLC の不正行為・詐欺

何らかの購入可能な価値を提供する際には、必ず詐欺のリスクが伴います。DLC 詐欺では、ユーザーが盗まれた支払方法(クレジットカードなど)を使用して、価値の高い DLC を購入するケースがあります。詐欺師の目的は、DLC 内の利用可能なすべてのコンテンツを、詐欺師本人が所有する別のアカウントや、システム外でそれらのコンテンツの代金を支払うプレイヤーのアカウントに移行することです。

Steam は、最初の購入から48時間以内にほとんどの不正取引を見つけます。起動時または48時間後に実行される DLC の所有権チェックでは、更新されたステータスに基づいて、取引に対する変更が照合されます。

情報源

Steam 完全ガイドを順番に読む60本のうち45本目

このページに出た言葉

このページの内容の誤りは、問い合わせの窓口で受け付けています。