> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Creación de discos de prueba

> Creación de discos de prueba

<Note>Estas instrucciones son solo para fines de prueba. En los escenarios comerciales, estos datos se configuran automáticamente según los metadatos de Partner Center. Las opciones seleccionadas en el flujo de creación de discos de recopilación se usan para controlar el orden de instalación, la reproducción automática y mucho más. No nos envía directamente los metadatos de prueba ni los archivos de configuración JSON al enviar sus juegos para su ingesta.</Note>

En este tema se explica cómo crear discos de prueba. Puede crear los siguientes tipos de discos de prueba.

* [Recopilaciones](#ID4E1)
* [Varios discos](#ID4EBE)

<a id="ID4E1" />

## Recopilaciones

### Crear un disco de recopilación de prueba

Para crear y probar un disco de recopilación, debe crear un archivo de metadatos catalog.js y un diseño de disco como se describe a continuación.

* [Crear un diseño de disco](#ID4EGB)
* [Catalog.js](#ID4EMC)
* [Orden de instalación y notificaciones](#ID4ELD)
* [Implementación](#ID4EYD)

<a id="ID4EGB" />

### Crear un diseño de disco

Cree un diseño de disco similar al ejemplo siguiente.

```
- Disc Root
    - Licenses (folder) - (Not needed for Xbox One ERA Development Kits - make sure to use XVCs created with /LT flag)
        License0.xml (file) - (Not needed for Xbox One ERA dev kits - make sure to use XVCs created with /LT flag)
    - MSXC (folder)
        - Package1.xvc (file)
        - Package2.xvc (file)
        - Metadata (folder)
            - catalog.js (file)
            - Bundle (folder)
                - Bundle images (files)
            - Package1.xvc (folder)
                - Package 1 images (files)
            - Package2.xvc (folder)
                - Package 2 images (files)  
```

Donde los directorios tienen el siguiente contenido:

* **Licenses** contiene los archivos de licencia de los juegos. Esta información no es necesaria para los kits de desarrollo de XBOX One ERA. Asegúrese de usar XVC creados con la marca **/LT**. Después, estos se pueden omitir.

* **MSXC** contiene los juegos empaquetados y los metadatos que usa el shell de XBOX.

* **Metadata** contiene los metadatos que el shell usa para los juegos del disco y para los paquetes de juegos.

* **Bundle** contiene imágenes que usa el shell.

* **Package1.XVC** contiene imágenes que usa el shell para el primer juego. El nombre debe coincidir con el del archivo de paquete del juego en MSXC.

* **Package2.XVC** contiene imágenes que usa el shell para el segundo juego. El nombre debe coincidir con el del archivo de paquete del juego en MSXC.

<a id="ID4EMC" />

### Catalog.js

En la carpeta Metadata, cree un archivo denominado catalog.js. Edite este archivo para reflejar los nombres de sus paquetes e imágenes en las demás carpetas. Este archivo debe estar codificado en UTF-16 LE. Se recomienda usar un validador de JSON en la web. Para asegurarse de que el JSON es válido, cópielo en un editor de texto y, a continuación, guarde el archivo en formato UTF-16 LE.

<a id="ID4ESC" />

##### Ejemplo de un archivo catalog.js para un escenario de varios juegos con comentarios

```js theme={null}
{
  "version": "4.1",                                        // Don't adjust this value.
  "bundle": {
    "oneStoreProductId": "9P436MXJ71GV",                   // Replace with your bundle product id.
    "titles": [
      {
        "locale": "default",
        "title": "Bundle Title"                            // Replace with bundle title.
      }
    ],
    "images": [
      {
        "size": "100x100",                                 // Don't change the size values.
        "image": "100x100_1.png"                           // Must match the image file names in MSXC\Metadata\Bundle\
      },
      {
        "size": "208x208",
        "image": "208x208_1.png"
      },
      {
        "size": "480x480",
        "image": "480x480_1.png"
      }
    ]
  },
  "packages": [                                             // This is an array of packages.
    {
      "packageName": "Package1.xvc",                        // Match your package name in MSXC\<package name> and MSXC\Metdata\<package name>
      "oneStoreProductId": "BX38WRFV50MJ",                  // Product id for package 1.
      "contentId": "2b05043b-4043-4ba0-80ed-fd4811c4b333",  // Content id for package 1.  Must match the content id of the package file.
      "franchiseGameHubId": "47445142-3636-3036-C048-464D4E574000", // Optional; Replace with the FranchiseGameHubId. This marks the package as a game hub
      "titleId": "037C3A1D",                                // Title id for package 1.
      "titles": [
        {
          "locale": "default",
          "title": "Killer Instinct"                        // Package 1 title.
        }
      ],
      "images": [
        {
          "size": "100x100",
          "image": "100x100_1.png"                          // Match file names in MSXC\Metadata\<Package1>\
        },
        {
          "size": "208x208",
          "image": "208x208_1.png"
        },
        {
          "size": "480x480",
          "image": "480x480_1.png"
        }
      ],
      "ratings": [
        {
          "system": "OFLC",
          "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"
  },
  {
    "packageName": "Package2.xvc",
    "oneStoreProductId": "BVC818MXZ6KG",
    "contentId": "4a6cb1d0-5ad3-47b7-9583-7480098b4a26",
    "associatedFranchiseGameHubId": "47445142-3636-3036-C048-464D4E574000", // Replace with the FranchiseGameHubId of the corresponding franchise game hub that this package is launched with. Optional;
    "titleId": "669E1864",
    "titles": [
      {
        "locale": "default",
        "title": "LocoCycle"
      }
    ],
    "images": [
      {
        "size": "100x100",
        "image": "100x100_1.png"
      },
      {
        "size": "208x208",
        "image": "208x208_1.png"
      },
      {
        "size": "480x480",
        "image": "480x480_1.png"
      }
    ],
    "ratings": [
      {
        "system": "OFLC",
        "value": "PG"
      },
      {
        "system": "DJCTQ",
        "value": "10"
      },
      {
        "system": "USK",
        "value": "12"
      },
      {
        "system": "ESRB",
        "value": "T"
      },
      {
        "system": "PEGI",
        "value": "12"
      },
      {
        "system": "COB",
        "value": "PG"
      }
    ],
    "type": "Game"
    }
  ]
}  
```

<a id="ID4EAD" />

##### Ejemplo de catalog.js para un escenario de juego y contenido descargable (DLC)

```js theme={null}
{
  "version": "4.0",                                        // Don't adjust this value.
  "bundle": {
    "oneStoreProductId": "9P436MXJ71GV",                   // Replace with bundle product id.
    "launchPackage": "Package3.xvc",                       // Should be the package name of the game package.  This is the package that is launched when the game disc is inserted.
    "titles": [
      {
        "locale": "default",                                        
        "title": "Game + DLC Bundle Title"                 // Replace with bundle name.
      }
    ],
    "images": [
      {
        "size": "100x100",
        "image": "100x100_1.png"                           // Must match the image file names in MSXC\Metadata\Bundle\
      },
      {
        "size": "208x208",
        "image": "208x208_1.png"
      },
      {
        "size": "480x480",
        "image": "480x480_1.png"
      }
    ]
  },
  "packages": [
    {
      "packageName": "Package1.xvc",                       // Match folder name in MSXC\Metadata\<folder name>
      "oneStoreProductId": "BX38WRFV50MJ",                 // Replace with DLC 1 product id.
      "contentId": "ace6ef3b-0c5b-4f17-a651-390e75169d5c", // Replace with DLC 1 content id. This must match the content id of the package file.
      "allowedOneStoreProductIds": [
        "BVC818MXZ6KG"                                     // Should match the product id of the game that will load this DLC.
      ],
      "titles": [
        {
          "locale": "default",
          "title": "DLC Title 1"
        }
      ],
      "images": [
        {
          "size": "100x100",
          "image": "100x100_1.png"                         // Match file names in MSXC\Metadata\Package1.xvc\
        },
        {
          "size": "208x208",
          "image": "208x208_1.png"
        },
        {
          "size": "480x480",
          "image": "480x480_1.png"
        }
      ],
      "ratings": [
        {
          "system": "ESRB",
          "value": "E"
        }
      ],
      "type": "Durable"                                    // Indicates that this is a DLC package.
    },
    {
      "packageName": "Package2.xvc",
      "oneStoreProductId": "9P436MXJ71GV",
      "contentId": "b0f77189-d74c-4005-b351-955d380cb875",
      "allowedOneStoreProductIds": [
        "BVC818MXZ6KG"
      ],
      "titles": [
        {
          "locale": "en-US",
          "title": "DLC Title 2"
        }
      ],
      "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": "Durable"
    },
    {
      "packageName": "Package3.xvc",
      "oneStoreProductId": "BVC818MXZ6KG",
      "contentId": "5519355c-bff9-40b4-92bb-b5473fd9c577",
      "titleId": "35c8f637",
      "titles": [
        {
          "locale": "default",
          "title": "Game Title"
        }
      ],
      "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"                                       // Indicates main game package.
    }
  ]
}  
```

<a id="ID4ELD" />

### Orden de instalación y notificaciones

Las notificaciones de instalación de DLC suelen activarse cuando un paquete de DLC completa una instalación. En determinados tipos de discos de juegos, hay casos en los que esto no es deseable, porque crearía un gran número de notificaciones en muy poco tiempo. Por ejemplo, una edición Juego del Año podría incluir un gran número de paquetes de DLC pequeños en el disco. Para gestionar esta situación, las notificaciones de DLC solo se activan cuando el juego al que se aplican ya está instalado.

Para los juegos con un gran número de paquetes de DLC pequeños, se recomienda que los paquetes del disco estén ordenados de forma que el DLC se instale antes que el juego. Esto garantiza que el usuario no se vea saturado de notificaciones cuando se instalen los paquetes de DLC.

Para los juegos con un número reducido de paquetes de DLC grandes, se recomienda que el DLC se instale después del juego principal para garantizar que el usuario no se vea bloqueado para jugar al juego hasta que se instalen todos los paquetes de DLC.

Para controlar el orden en que se instalan el DLC y el juego, simplemente ajuste su orden en la matriz JSON *Packages* de catalog.js. Esta matriz es la que controla el orden de instalación predeterminado.

<a id="ID4EYD" />

### Implementación

Para implementar el disco de recopilación, grabe la estructura de directorios en un disco. Al insertar el disco en un kit de desarrollo, se inicia igual que lo haría una versión de lanzamiento en una consola comercial.

<a id="ID4EBE" />

## Varios discos

Para crear discos de prueba de varios discos, divida su XVC existente en dos archivos.

<Note>Los XVC solo se pueden dividir en los límites de los fragmentos individuales, tal como se definen en el archivo Layout.xml. Los XVC que tienen fragmentos extremadamente grandes (de más de 45 GB) podrían ser imposibles de publicar mediante la funcionalidad de varios discos. En general, es mejor mantener los fragmentos de su título por debajo de 45 GB.</Note>

Para dividir un XVC en dos discos, cree un archivo DiscLayout.xml similar al siguiente.

```xml theme={null}
<Packages>
  <Package Name="MultiDisc" Description="Package published on 2 discs" MaxDiscs="2">
  </Package>
</Packages>  
```

A continuación, invoque SplitPkg para generar los archivos individuales que se grabarán en el disco. Esto generará dos archivos con el nombre de su archivo XVC original con los sufijos ".MultiDisc.1" y ".MultiDisc.2".

```
SplitPkg /f DiscLayout.xml /p sourceXVC /s Multidisc /pd outputDir  
```

Para simular la instalación desde varios discos, use `xbapp install` para el disco 1 y `xbapp install` para el disco 2. Después de instalar el contenido del disco 1, la consola le pedirá que inserte el disco 2.

<a id="ID4ENF" />

### Catalog.js

Para grabar estos discos de prueba, cree un archivo Catalog.js con los nuevos campos **discNumber**, **discCount** y **discSetId**. Tenga en cuenta que *todos* los discos necesitan todos estos metadatos. La única diferencia en los archivos Catalog.js de cada disco es el valor del campo **discNumber**. Por ejemplo, el disco 1 debe tener un valor de 1 y el disco 2 debe tener un valor de 2. Cero (0) es un valor reservado y no debe usarse.

<a id="ID4E5F" />

#### Ejemplo de Catalog.js para varios discos

```json theme={null}
{
  "version": "4.0",                                         // Don't adjust this value.
  "discNumber": 1,                                          // 1 for disc 1, 2 for disc 2.
  "discCount": 2,                                           // Same on all discs.
  "discSetId": "00000001",                                  // For test purposes, this can be 00000001. On retail discs, this value is unique for each published disc set. 
                                                            // Don't mix installations of test discs from different sets if they share this value. Cancel your installation before starting a new one.
  "packages": [                                             // This is an array of packages.
    {
      "packageName": "Package1.xvc",                        // Match your package name in MSXC\package-name and MSXC\Metdata\package-name
      "oneStoreProductId": "BX38WRFV50MJ",                  // Product id for package 1.
      "contentId": "2b05043b-4043-4ba0-80ed-fd4811c4b333",  // Content id for package 1. Must match the content id of the package file.
      "titleId": "037C3A1D",                                // Title id for package 1.
      "titles": [
      {
        "locale": "default",
        "title": "Killer Instinct"                          // Package 1 title.
      }
    ],
    "images": [
      {
        "size": "100x100",
        "image": "100x100_1.png"                            // Match file names in MSXC\Metadata\Package1\
      },
      {
        "size": "208x208",
        "image": "208x208_1.png"
      },
      {
        "size": "480x480",
        "image": "480x480_1.png"
      }
    ],
    "ratings": [
      {
        "system": "OFLC",
        "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"
    }
  ]
}  
```

## Consulte también

* [Creación de discos de prueba multigeneración](/build/core-features/common/packaging/creating-cross-gen-test-discs)
* [Creación de discos](/build/core-features/common/packaging/creating-discs)
* [Funcionalidad de varios discos](/build/core-features/common/packaging/packaging-multi-disc)
* [Franchise Game Hubs](https://learn.microsoft.com/build/store/franchise-game-hubs)


## Related topics

- [Creación de discos](/es/build/core-features/common/packaging/creating-discs.md)
- [Información general de los discos de prueba entre generaciones](/es/build/core-features/common/packaging/creating-cross-gen-test-discs.md)
- [Introducción al empaquetado de títulos para consolas XBOX](/es/build/core-features/common/packaging/overviews/packaging-getting-started-for-console.md)
- [Juegos entre generaciones de SKU doble](/es/build/console-features/cross-gen/cross-gen-dual-sku.md)
- [Funcionalidad multidisco](/es/build/core-features/common/packaging/packaging-multi-disc.md)
