Xbox 本体用タイトルのパッケージ化を開始する
次の手順を使用して、XVC パッケージを作成できます。このパッケージは、Microsoft Game Development Kit でテスト用にサイドロードした後、公開用にパートナー センターに提出できます。
パートナー センターから製品 ID 情報を取得する
Microsoft の担当者と連携して、パートナー センターで製品を作成します。 これは、次の手順の前提条件となります。次の手順では、発行元 ID とパッケージ名が必要になります。 この詳細については、このトピックでは説明していません。サポートが必要な場合は、Microsoft の担当者にお問い合わせください。
その他のゲーム コンテンツと併せて、ルート フォルダーに MicrosoftGame.config ファイルを作成します。
MicrosoftGame.config xml ファイルのサンプルは、このトピックの後半にあります。 これは、.config ファイルの作成を合理化し、パートナー センター プロジェクトからの ID と名前の値を自動的に同期する MicrosoftGame.config エディターを使用するとともに参照として使用できます。
シェルと Microsoft Store パッケージに表示するアイコンを作成する
次に示す MicrosoftGame.config のサンプルの各画像について、指定されたサイズにスケーリングされた対応するファイルをゲームのルート フォルダーに配置します。 または、ShellVisuals アイコンのパスが一致するように調整された画像アセットをサブディレクトリに配置できます。 MicrosoftGame.config エディターは、入力として単一のソース画像を使用してこれらの画像を生成する機能を提供します。
Microsoft Game Development Kit (GDK) をインストールする (MakePkg.exe パッケージ化ツールを含む)
既定では、Microsoft Game Development Kit (GDK) コマンド プロンプトは次のフォルダーにあります。
C:\Program Files (x86)\Microsoft GDK\Command Prompts
パッケージ レイアウト マッピング ファイルを作成する
すべてのゲーム コンテンツの入った 1 つのフォルダーが含まれるフォルダーで Microsoft Game Development Kit (GDK) コマンド プロンプトを開き、次のコマンドを実行します。
MakePkg genmap /f layout.xml /d <Your_Game_Folder>
これにより、layout.xml というファイルが作成されます。これはパッケージ化の手順で使用されます。
注意
layout.xml をカスタマイズし、指定子および機能でゲームのコンテンツをチャンクに区切って整理する方法の詳細については、インテリジェント配信ガイドも参照してください。 これにより、異なるデバイスや言語ごとにインストールするコンテンツをカスタマイズしたり、ゲームのどの部分をインストールするかをユーザーが選択できるようにすることができます。 詳細については、「インテリジェント配信の概要」を参照してください。
パッケージを作成する
パッケージを作成する方法
/lk 暗号化パッケージを作成するには、次の手順に従います。
- 1 回限り:
makepkg genkey /ekb SECRET_KEY.lekb
を実行して SECRET_KEY.lekb ファイルを作成します。 これはローカルのエスクロー キー Blob (LEKB) で、パッケージを暗号化する安定コンテンツ キーを格納します。 これは、必要な人だけがアクセスできる、安全な場所に保存する必要があります。 公式のビルド マシン/アカウントでのみアクセスできることが理想です。 - パッケージの作成:
makepkg pack /lk SECRET_KEY.lekb /f layout.xml /d <Your_Game_Folder_Name> /pd <Output_Folder_Name>
を実行します。 SECRET_KEY.lekb ファイルに格納されているキーを使用して暗号化されたパッケージが作成されます。
パッケージの暗号化に関する重要な注意事項
Makepkg /lk スイッチは、makepkg genkey
コマンドによって作成される安定キー (常に同じキー) を使用してパッケージを暗号化します。
MakePkg /lk では、タイトル パッケージだけでなく、PackageFullName_licenseName_GUID.EKB および PackageFullName_licenseName_GUID.CEKB という形式の名前を持つファイルが出力されます。 (アンダー スコア (_) 文字の使用に注意してください。)
/lk 暗号化は、テスト暗号化 (/lt) および送信暗号化 (/l) と比較した場合に次の利点があるため、コンソールでの開発キットのテストおよび送信に推奨される暗号化モードです。
- packageutil compare は、 (/l と異なり) 正確なアップデート サイズの予測を生成できます。
- コンソールと PC でコンテンツ更新のダウンロードに使用するのと同じアルゴリズムを使用して、パートナー センターへの差分アップロードをセキュリティで保護された形で実行できます。
- これは (/l とは異なり)、開発キットにインストールできます。
- これは、セキュリティで保護された暗号化キーを使用し、(/lt とは異なり) 特定の環境でのみ暗号化を解除できます。
パッケージのインストールをテストする
次のコマンドを使用して、パッケージのインストールをテストします。
xbapp install <Your_Package>
パッケージでインテリジェント配信機能が使用されている場合は、/i オプションを使用して、製品版エンドユーザー エクスペリエンスのテスト用にインストールするパッケージ機能を選ぶための対話的シェル UI を起動することができます。
xbapp install /i <Your_Package>
パッケージのインストールに関する重要な注意事項
xbapp install は、パッケージを ERA 開発キットに読み込むのに必要な CEKB ファイルを自動的にインストールします。 ツールベースのインストール (ゲーム ディスク、外部ストレージ、コンソール間転送) 以外のインストール シナリオをテストしている場合は、xbapp installkey コマンドを使用して CEKB ファイルのみをインストールできます。 詳細については、xbapp.exe (NDA トピック)認可が必須です を参照してください。
Warning
LEKB ファイルの内容はわずかに難読化されているにすぎません。 LEKB ファイルへのアクセスをセキュリティで保護することで、コンテンツ パッケージのセキュリティを確保するのはユーザーの責任です。 makepkg パックによって出力された LEKB ファイルとコンテンツ パッケージ ファイルを所有しているすべてのユーザーがその内容を解読できます。
Warning
CEKB ファイルの内容を使用すると、アクティブな ERA 開発キットにパッケージを読み込むことができます。 CEKB ファイルへのアクセスをセキュリティで保護することで、コンテンツ パッケージのセキュリティを確保するのはユーザーの責任です。 makepkg パックによって出力された CEKB ファイル、アクティブ ERA 開発キット、コンテンツ パッケージ ファイルを所有しているすべてのユーザーがパッケージを開発キットにインストールし、パッケージを起動し、そのパッケージからファイルを xbcp で実行できます。
Important
2021 年 4 月 GDK より前に生成された LEKB ファイルでは、CEKB ファイルは作成されません。 新しい開発キットのサイドロード機能を使用するには、April 2021 以降の GDK ツールで LEKB ファイルを再作成する必要があります。
パッケージ用にディスクを作成する予定の場合は、次のトピックを参照してください。
テスト用オムニバス形式ディスクの作成
クロスジェネレーションのテスト ディスクの作成
Microsoft パートナー センターにパッケージを送信します。
/lk フラグを使用してパッケージを暗号化したため、前の MakePkg.exe コマンドを使用して作成したパッケージは、テストと送信の両方に使用できます。 このパッケージをアップロードすると、差分アップロードのメリットも得られます。 XVC ファイルと EKB ファイルは、通常と同じ手順でパートナー センターにアップロードされます。 LEKB ファイルと CEKB ファイルはアップロードされません。
MicrosoftGame.config のサンプル
MicrosoftGame.config というファイルを作成します。ゲーム コンテンツのルート ディレクトリにある次のコンテンツを使用し、その後不要なアイテムのコメントをすべて削除します。 詳細については、MicrosoftGame.config のリファレンス ページを参照してください。
MicrosoftGame.config は手動で作成できますが、これを作成する最善の方法は MicrosoftGame.config エディターを利用することです。
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
<!-- Publisher should match the exact value provided in the "Package/Identity/Publisher" field of the Game setup -> Identity section of your product's configuration area in Partner Center.
Name should match the exact value provided in the "Package/Identity/Name" field of the Game setup -> Identity section of your product's configuration area in Partner Center. -->
<Identity Name="**REPLACE**"
Publisher="**REPLACE**"
Version="1.0.1.0"/>
<!-- The fourth digit of the version number is reserved for Microsoft Store use -->
<!-- Optional: Use StoreId if your product will offer durable downloadable content (DLC) packages.
Look up the Store ID (12-character alphanumeric string) of your main application package in the Game setup -> Identity section of your product's configuration area in Partner Center. (Example: 9PNX12345AAA)
<StoreId>**REPLACE WITH STOREID**</StoreId> -->
<MSAAppId>**REPLACE WITH MSAAPPID**</MSAAppId> <!-- This value is found in the Xbox services -> Xbox Settings section in your product's configuration area in Partner Center. -->
<TitleId>**REPLACE WITH TITLEID**</TitleId> <!-- This value is found in the Game Setup -> Identity section of your product's configuration area in Partner Center. -->
<!-- Use OverrideDisplayName if you want to display a different title in the shell than the DefaultDisplayName from the ShellVisuals section, or if you need to localize it.
Use TargetDeviceFamily to specify what platform your executable is built for (NOTE: Packaging will only allow one TargetDeviceFamily type to be specified to properly build a package. For more information, see the above reference page.) -->
<ExecutableList>
<Executable Name="**REPLACE**"
Id="Game"
OverrideDisplayName="**REPLACE**"
TargetDeviceFamily="XboxOne"
/>
</ExecutableList>
<!-- DefaultDisplayName should match the exact value provided in the "Package/Identity/Name" field of the Game setup -> Identity section of your product's configuration area in Partner Center.
PublisherDisplayName should use the exact value provided in the "Package/Properties/PublisherDisplayName" field of the Game setup -> Identity section of your product's configuration area in Partner Center.-->
<!-- The following asset sizes apply
StoreLogo - 100x100
Square150x150Logo - 150x150
Square44x44Logo - 44x44
SplashScreenImage - 1920x1080
-->
<ShellVisuals DefaultDisplayName="**REPLACE**"
PublisherDisplayName="**REPLACE**"
StoreLogo="StoreLogo.png"
Square150x150Logo="Logo.png"
Square44x44Logo="SmallLogo.png"
Description="**REPLACE**"
BackgroundColor="#000040"
SplashScreenImage="SplashScreen.png"/>
</Game>
関連項目
PC 用のタイトルのパッケージ化を開始する
MicrosoftGame.Config
タイトルを Xbox 開発キットに展開する (NDA トピック)認可が必須です