跨代测试光盘概述
使用本主题来创建跨代测试光盘,这样就可以跨 Xbox One 系列主机和 Xbox Series 主机测试游戏。
注意
这些说明仅用于测试目的。 对于零售方案,这个数据是根据合作伙伴中心的元数据自动配置的。 在创建汇编光盘的流程中所选择的选项用于控制安装顺序和自动播放等设置。 当提交游戏进行引入时,不会向Microsoft提交测试元数据或JSON配置文件。
可以创建下列类型的测试光盘。
创建智能传递光盘
智能分发光盘包含用于 Xbox One 系列主机和 Xbox Series 主机的程序包。 这些程序包有一个适用于两个程序包的许可证。 它们属于“合作伙伴中心”中同一产品的一部分。 当插入控制台时,会安装控制台类型的相应程序包。 安装包括启动任何适用的内容更新(如果有)。
注意
如果你想要为游戏创建按主机代代的包,请在光盘上使用单独的合作伙伴中心产品,这称为多产品光盘。有关详细信息,请参阅本主题中的 多产品光盘 部分。
创建和测试智能传递光盘
如果要创建和测试智能传递光盘,请按照本主题以下部分的描述创建catalog.js元数据文件和光盘布局。
创建光盘布局
创建如以下示例所示的光盘布局。
- Disc Root
- Licenses (folder) - (Not needed for Xbox One ERA Development Kits. Use XVCs that are created with the /LT flag or /LK flag.)
License0.xml (file) - (Not needed for Xbox One ERA dev kits. Use XVCs that are created with the /LT or /LK flag.)
- MSXC (folder)
- Package_x.xvc (file)
- Package_xs.xvc (file)
- Metadata (folder)
- catalog.js (file)
- Package_x.xvc (folder)
- Package images (files)
Package_x.xvc 和 Package_xs.xvc 是每个主机代系的程序包。 MakePkg 工具将为 Xbox One 软件包添加 _x
后缀或为 Xbox Series X|S 代软件包添加 _xs
后缀。 其中一个包在catalog.js文件中称为另一个包的 “变种”。 在前面的例子中,Package_xs.xvc是Package_x.xvc的变体。
目录的内容如下。
- 许可证包含游戏的许可证文件。 Xbox One ERA 开发工具包不需要此信息。 使用通过
/LT
或/LK
标志创建的 XVC。 之后,可以省略。
重要
如果使用使用 /LK
标志创建的包,则需要使用 xbapp installkey 将 CEKB 文件安装到目标控制台。 这将允许解密光盘上的 /LK 包。有关详细信息 ,请参阅xbapp.exe (NDA 主题) 要求授权 。
MSXC 包含 Xbox shell 使用的打包的游戏和元数据。
元数据 包含 Xbox shell 用于光盘上的游戏和游戏程序包的元数据。
Package_x.xvc 包含游戏中shell使用的图片。 名称必须与MSXC中的游戏包文件一致。 不需要为其他包的变种包提供图像。
Catalog.js
在元数据文件夹中,创建一个名为catalog.js的文件。 编辑此文件以反映其他文件夹中的软件包及图像的名称。
注意
此文件必须采用 UTF-8 编码。 我们建议在网上使用 JSON 验证程序。 如果要确保JSON得到验证,请将其复制到文本编辑器中,然后以UTF-8格式保存文件。
智能交付产品示例
下面以使用智能交付的catalog.js文件单品为例,进行内联注释。
{
"version": "4.0", // Don't adjust this value.
"packages": [ // This is an array of packages.
{
"packageName": "Package_x.xvc", // Match your package name in MSXC\<package name> to the package name in MSXC\Metadata\<package name>.
"generation": "8", // Enter "8" for Xbox One packages, or enter "9" for Xbox Series X|S generation packages.
"oneStoreProductId": "BX38WRFV50MJ", // Partner Center Product ID for the package.
"contentId": "2b05043b-4043-4ba0-80ed-fd4811c4b333", // Content ID for your package. Match this to the Content ID of the package file.
"titleId": "037C3A1D", // Title ID for your package.
"variants" : [
{
"generation": "9", // The console generation for this variant of the package. Enter "8" for Xbox One packages, or enter "9" for Xbox Series X|S generation packages.
"packageName": "Package_xs.xvc" // The package name for this variant. All packages must have the same Content ID or Product ID.
}
],
"titles": [
{
"locale": "default",
"title": "Killer Instinct" // Package title.
}
],
"images": [
{
"size": "100x100",
"image": "100x100_1.png" // Match the file names to MSXC\Metadata\<Package_x>\.
},
{
"size": "208x208",
"image": "208x208_1.png"
},
{
"size": "480x480",
"image": "480x480_1.png"
}
],
"ratings": [ // This ratings information is only for example purposes.
{ // This is automatically generated for your discs
"system": "OFLC", // by using the information that's published in Partner Center.
"value": "M"
},
{
"system": "DJCTQ",
"value": "14"
},
{
"system": "PCBP",
"value": "Unrated"
},
{
"system": "USK",
"value": "16"
},
{
"system": "ESRB",
"value": "T"
},
{
"system": "CERO",
"value": "Unrated"
},
{
"system": "CSRR",
"value": "Unrated"
},
{
"system": "COB",
"value": "M"
},
{
"system": "GRB",
"value": "Unrated"
},
{
"system": "PEGI",
"value": "16"
},
{
"system": "PEGIPortugal",
"value": "Unrated"
}
],
"type": "Game"
}
]
}
多产品光盘
多产品光盘中包含用于 Xbox One 和 Xbox Series X|S 主机的包。 光盘包含每个软件包的许可证。 这些包来自“合作伙伴中心”的独立产品。 它们具有在“合作伙伴中心”配置的显式代性关系。 当程序包作为数字捆绑包出售时,或使用光盘安装到主机时,默认只安装其中一个程序包。将光盘插入主机时,会安装适合主机类型的程序包。 这包括启动任何适用的内容更新(如果有)。
注意
如果要使用单个合作伙伴中心产品按主机代系创建包,这称为跨代智能交付光盘。有关详细信息,请参阅本主题的 智能交付 部分。
多产品光盘示例
下面是带内嵌批注的catalog.js 文件多产品光盘的示例。
{
"version": "4.0", // Don't change this value.
"bundle": {
"oneStoreProductId": "9P436MXJ71GV", // Replace with the game bundle Product ID.
"launchPackage": "Package1_x.xvc", // This is the package that is launched when the game disc is inserted into the console.
"titles": [
{
"locale": "default",
"title": "Game Title" // Replace with the game bundle name.
}
],
"images": [
{
"size": "100x100",
"image": "100x100_1.png" // Match this to the image file names that are in MSXC\Metadata\Bundle\.
},
{
"size": "208x208",
"image": "208x208_1.png"
},
{
"size": "480x480",
"image": "480x480_1.png"
}
]
},
"siblings": [ // The sibling entry that sets these two packages as
[ // related. The correct package for the console
"Package1_x.xvc", // type is chosen.
"Package2_xs.xvc" // Note: the sibling relationships are an array
] // of arrays.
],
"packages": [
{
"packageName": "Package1_x.xvc", // Match this to the folder name that's in MSXC\Metadata\<folder name>.
"generation": "8", // Xbox One family generation that's used for Xbox One and Xbox Series X|S consoles.
"oneStoreProductId": "BX38WRFV50MJ", // Replace with Package 1 Product ID.
"contentId": "ace6ef3b-0c5b-4f17-a651-390e75169d5c", // Replace with Package 1 Content ID. Match the ID to the Content ID of the package file.
"titles": [
{
"locale": "default",
"title": "Game Title Xbox One Edition"
}
],
"images": [
{
"size": "100x100",
"image": "100x100_1.png" // Match file names that are in MSXC\Metadata\Package1_x.xvc\.
},
{
"size": "208x208",
"image": "208x208_1.png"
},
{
"size": "480x480",
"image": "480x480_1.png"
}
],
"ratings": [
{
"system": "ESRB",
"value": "E"
}
],
"type": "Game"
},
{
"packageName": "Package2_xs.xvc",
"generation": "9",
"oneStoreProductId": "BVC818MXZ6KG",
"contentId": "5519355c-bff9-40b4-92bb-b5473fd9c577",
"titleId": "35c8f637",
"titles": [
{
"locale": "default",
"title": "Game Title Xbox Series generation edition"
}
],
"images": [
{
"size": "100x100",
"image": "100x100_1.png"
},
{
"size": "208x208",
"image": "208x208_1.png"
},
{
"size": "480x480",
"image": "480x480_1.png"
}
],
"ratings": [
{
"system": "ESRB",
"value": "E"
}
],
"type": "Game"
}
]
}