> ## 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.

# 테스트 디스크 만들기

> 테스트 디스크 만들기

<Note>이 지침은 테스트 목적으로만 사용됩니다. 소매 시나리오의 경우, 이 데이터는 Partner Center의 메타데이터에 따라 자동으로 구성됩니다. 컴필레이션 디스크 만들기 흐름에서 선택된 옵션은 설치 순서, 자동 재생 등을 제어하는 데 사용됩니다. 인제스트를 위해 게임을 제출할 때 테스트 메타데이터나 JSON 구성 파일은 직접 제출하지 않습니다.</Note>

이 항목에서는 테스트 디스크를 만드는 방법을 설명합니다. 다음과 같은 유형의 테스트 디스크를 만들 수 있습니다.

* [컴필레이션](#ID4E1)
* [다중 디스크](#ID4EBE)

<a id="ID4E1" />

## 컴필레이션

### 테스트 컴필레이션 디스크 만들기

컴필레이션 디스크를 만들고 테스트하려면 다음과 같이 catalog.js 메타데이터 파일과 디스크 레이아웃을 만들어야 합니다.

* [디스크 레이아웃 만들기](#ID4EGB)
* [Catalog.js](#ID4EMC)
* [설치 순서 지정 및 알림](#ID4ELD)
* [배포](#ID4EYD)

<a id="ID4EGB" />

### 디스크 레이아웃 만들기

다음 예제와 같은 디스크 레이아웃을 만듭니다.

```
- 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)  
```

여기서 디렉터리에는 다음 내용이 포함됩니다.

* **Licenses**에는 게임의 라이선스 파일이 포함됩니다. 이 정보는 XBOX One ERA 개발 키트에는 필요하지 않습니다. **/LT** 플래그로 생성된 XVC를 사용해야 합니다. 그런 다음 생략할 수 있습니다.

* **MSXC**에는 패키징된 게임과 XBOX 셸이 사용하는 메타데이터가 포함됩니다.

* **Metadata**에는 셸이 디스크의 게임과 게임 패키지에 사용하는 메타데이터가 포함됩니다.

* **Bundle**에는 셸이 사용하는 이미지가 포함됩니다.

* **Package1.XVC**에는 셸이 첫 번째 게임에 사용하는 이미지가 포함됩니다. 이름은 MSXC의 게임 패키지 파일 이름과 일치해야 합니다.

* **Package2.XVC**에는 셸이 두 번째 게임에 사용하는 이미지가 포함됩니다. 이름은 MSXC의 게임 패키지 파일 이름과 일치해야 합니다.

<a id="ID4EMC" />

### Catalog.js

Metadata 폴더에서 catalog.js라는 파일을 만듭니다. 다른 폴더에 있는 패키지와 이미지의 이름을 반영하도록 이 파일을 편집합니다. 이 파일은 UTF-16 LE로 인코딩되어야 합니다. 웹의 JSON 유효성 검사기 사용을 권장합니다. JSON의 유효성이 확인되도록 텍스트 편집기에 복사한 다음 UTF-16 LE 형식으로 파일을 저장하세요.

<a id="ID4ESC" />

##### 주석이 포함된 다중 게임 시나리오의 catalog.js 파일 예

```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" />

##### 게임과 다운로드 가능한 콘텐츠(DLC) 시나리오의 catalog.js 예

```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" />

### 설치 순서 지정 및 알림

DLC 설치 알림은 일반적으로 DLC 패키지의 설치가 완료될 때 트리거됩니다. 특정 유형의 게임 디스크의 경우, 이는 매우 짧은 시간에 많은 알림을 생성할 수 있기 때문에 원하지 않을 수 있습니다. 예를 들어, Game of the Year 에디션에는 디스크에 많은 수의 작은 DLC 패키지가 포함될 수 있습니다. 이 상황을 처리하기 위해, DLC에 대한 알림은 해당 DLC가 적용되는 게임이 이미 설치된 경우에만 트리거됩니다.

작은 DLC 패키지가 많이 포함된 게임의 경우, DLC가 게임보다 먼저 설치되도록 디스크의 패키지 순서를 지정하는 것을 권장합니다. 이렇게 하면 DLC 패키지가 설치될 때 사용자가 알림으로 넘치지 않도록 보장합니다.

큰 DLC 패키지가 소수 포함된 게임의 경우, 모든 DLC 패키지가 설치될 때까지 사용자가 게임 플레이를 차단당하지 않도록 메인 게임 이후에 DLC를 설치하는 것을 권장합니다.

DLC와 게임의 설치 순서를 제어하려면 단순히 catalog.js의 *Packages* JSON 배열에서 순서를 조정하세요. 이 배열이 기본 설치 순서를 제어합니다.

<a id="ID4EYD" />

### 배포

컴필레이션 디스크를 배포하려면 디렉터리 구조를 디스크에 굽습니다. 개발 키트에 디스크를 삽입하면 소매 콘솔에서 릴리스 버전이 시작되는 것처럼 시작됩니다.

<a id="ID4EBE" />

## 다중 디스크

테스트 다중 디스크를 만들려면 기존 XVC를 두 파일로 분할합니다.

<Note>XVC는 Layout.xml 파일에 정의된 대로 개별 청크 경계에서만 분할할 수 있습니다. 매우 큰 청크(45GB보다 큰)가 있는 XVC는 다중 디스크 기능을 사용하여 게시하는 것이 불가능할 수 있습니다. 일반적으로 타이틀의 청크는 45GB보다 작게 유지하는 것이 가장 좋습니다.</Note>

XVC를 두 개의 디스크로 분할하려면 다음과 유사한 DiscLayout.xml 파일을 만듭니다.

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

다음으로, SplitPkg를 호출하여 디스크에 굽힐 개별 파일을 생성합니다. 이렇게 하면 원본 XVC 파일 이름에 ".MultiDisc.1" 및 ".MultiDisc.2"라는 접미사가 붙은 두 개의 파일이 생성됩니다.

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

여러 디스크에서 설치하는 것을 시뮬레이션하려면 디스크 1에는 `xbapp install`을, 디스크 2에는 `xbapp install`을 사용합니다. 디스크 1의 콘텐츠가 설치된 후 콘솔이 디스크 2를 삽입하라는 메시지를 표시합니다.

<a id="ID4ENF" />

### Catalog.js

이 테스트 디스크를 굽려면 새 **discNumber**, **discCount**, **discSetId** 필드가 포함된 Catalog.js 파일을 만듭니다. *모든* 디스크에 이 모든 메타데이터가 필요합니다. 각 디스크의 Catalog.js 파일 간의 유일한 차이는 **discNumber** 필드의 값입니다. 예를 들어 디스크 1은 값이 1이어야 하고, 디스크 2는 값이 2여야 합니다. 0은 예약된 값이며 사용해서는 안 됩니다.

<a id="ID4E5F" />

#### 다중 디스크용 Catalog.js 예

```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"
    }
  ]
}  
```

## 함께 보기

* [세대 간 테스트 디스크 만들기](/build/core-features/common/packaging/creating-cross-gen-test-discs)
* [디스크 만들기](/build/core-features/common/packaging/creating-discs)
* [다중 디스크 기능](/build/core-features/common/packaging/packaging-multi-disc)
* [프랜차이즈 게임 허브](https://learn.microsoft.com/build/store/franchise-game-hubs)


## Related topics

- [디스크 만들기](/ko/build/core-features/common/packaging/creating-discs.md)
- [세대 간 테스트 디스크 개요](/ko/build/core-features/common/packaging/creating-cross-gen-test-discs.md)
- [멀티 디스크 기능](/ko/build/core-features/common/packaging/packaging-multi-disc.md)
- [XBOX 콘솔용 타이틀 패키징 시작하기](/ko/build/core-features/common/packaging/overviews/packaging-getting-started-for-console.md)
- [듀얼 SKU 크로스 제너레이션 게임](/ko/build/console-features/cross-gen/cross-gen-dual-sku.md)
