다음을 통해 공유


Xbox 본체용 타이틀 패키징 시작하기

다음 단계를 사용하여 Microsoft Game Development Kit에서 테스트를 위해 사이드로드한 다음, 퍼블리싱을 위해 파트너 센터에 제출할 수 있는 XVC 패키지를 만듭니다.

파트너 센터에서 제품 ID 정보 받기

Microsoft 담당자에게 연락하여 파트너 센터에서 제품을 만듭니다. 이는 퍼블리셔 ID와 패키지 이름을 알아야 하는 다음 단계를 위한 필수 조건입니다. 이 항목에 대한 자세한 내용은 다른 문서에서 설명하며, Microsoft 담당자의 도움이 필요할 수도 있습니다.

루트 폴더에 MicrosoftGame.config 파일을 만들고 나머지 게임 콘텐츠를 만듭니다.

MicrosoftGame.config xml 파일 샘플은 이 항목의 뒷부분에 포함되어 있습니다. .config 파일 생성을 간소화하고 파트너 센터 프로젝트의 ID와 이름 값을 자동으로 동기화하는 MicrosoftGame.config 편집기와 함께 참고자료로 사용할 수 있습니다.

셸 및 Microsoft Store 패키지에 표시할 아이콘 만들기

다음 MicrosoftGame.config 샘플에 나열된 각 이미지에 해당하는 파일을 지정된 크기에 맞게 조정한 후 게임의 루트 폴더에 넣습니다. 또는 이미지 자산을 하위 디렉터리에 배치할 수 있습니다. 이때 ShellVisuals 아이콘 경로가 일치하도록 조정해야 합니다. MicrosoftGame.config 편집기는 단일 원본 이미지를 입력으로 사용하여 이러한 이미지를 생성하는 기능을 제공합니다.

Microsoft GDK(Game Development Kit)(MakePkg.exe 패키징 도구 포함) 설치

Microsoft GDK(게임 개발 키트) 명령 프롬프트는 기본값으로 다음 폴더에 있습니다.
C:\Program Files (x86)\Microsoft GDK\Command Prompts

패키징 레이아웃 매핑 파일을 만들기

모든 게임 콘텐츠가 있는 단일 폴더가 포함된 폴더에서 Microsoft GDK(Game Development Kit) 명령 프롬프트를 열고 다음 명령을 실행합니다.

MakePkg genmap /f layout.xml /d <Your_Game_Folder>

이렇게 하면 패키징 단계에서 사용되는 layout.xml이라는 파일이 생성됩니다.

참고 항목

layout.xml을 사용자 지정하여 게임 콘텐츠를 지정자 및 기능이 있는 청크로 구성하는 방법에 관한 내용을 보려면 지능형 전송 가이드를 참조하세요. 이를 통해 다양한 디바이스와 다른 언어로 설치되는 콘텐츠를 사용자 지정할 수 있을 뿐만 아니라 사용자가 설치하려는 게임의 부분을 선택할 수 있습니다. 자세한 내용은 지능형 전송 개요를 참조하세요.

패키지 만들기

패키지를 만드는 방법

다음 단계에 따라 /lk 암호화된 패키지를 만듭니다.

  1. 1회성: makepkg genkey /ekb SECRET_KEY.lekb을(를) 실행하여 SECRET_KEY.lekb 파일을 만듭니다. 패키지를 암호화하는 안정적인 콘텐츠 키를 저장하는 LEKB(로컬 에스크로된 키 블롭)입니다. 액세스 권한이 필요한 안전한 장소에 보관해야 합니다. 이상적인 설정에서는 공식 빌드 머신/계정 만 액세스할 수 있어야 합니다.
  2. 패키지 작성: 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.EKBPackageFullName_licenseName_GUID.CEKB 형식의 이름을 가진 파일을 내보냅니다. 밑줄(_) 문자를 사용합니다.

/lk 암호화는 테스트 암호화(/lt) 및 제출 암호화(/l)와 비교할 때 다음과 같은 이점이 있기 때문에 콘솔에서 개발 키트 테스트 및 제출에 권장되는 암호화 모드입니다.

  1. packageutil 비교는 /l과 달리 올바른 업데이트 크기 추정치를 생성할 수 있습니다.
  2. 이 기능을 사용하면 콘솔과 PC가 콘텐츠 업데이트를 다운로드하는 데 사용하는 것과 동일한 알고리즘을 사용하여 파트너 센터에 델타 업로드를 안전하게 수행할 수 있습니다.
  3. (/l와(과) 달리) 개발 키트에 설치할 수 있습니다.
  4. (/lt와(와) 달리) 보안 암호화 키 자료를 사용하며 특정 환경에서만 암호를 해독할 수 있습니다.

패키지 설치 테스트

다음 명령을 사용하여 패키지 설치를 테스트합니다.

xbapp install <Your_Package>

패키지에서 지능형 전송 기능을 사용하는 경우 /i 옵션을 사용하여 소매 최종 사용자 환경을 테스트하기 위해 설치할 패키지 기능을 선택하는 대화형 셸 UI를 호출할 수 있습니다.

xbapp install /i <Your_Package>

패키지 설치에 대한 중요 참고 사항

xbapp 설치는 패키지를 ERA 개발 키트에 로드하는 데 필요한 CEKB 파일을 자동으로 설치합니다. 도구 기반 설치(게임 디스크, 외부 저장소, 콘솔 간 전송) 이외의 설치 시나리오를 테스트하는 경우 xbapp installkey 명령을 사용하여 CEKB 파일만 설치할 수 있습니다. 자세한 내용은 xbapp.exe(NDA 항목)권한 부여 필요를 참조하세요.

Warning

LEKB 파일의 내용은 약간 난독화됩니다. LEKB 파일에 대한 액세스를 보호하여 콘텐츠 패키지의 보안을 보장하는 것은 사용자의 책임입니다. LEKB 파일과 makepkg 팩에서 출력한 콘텐츠 패키지 파일을 소유한 사용자는 누구나 해당 콘텐츠를 해독할 수 있습니다.

Warning

CEKB 파일의 내용을 사용하면 모든 활성 ERA devkit에 패키지를 로드할 수 있습니다. CEKB 파일에 대한 액세스를 보호하여 콘텐츠 패키지의 보안을 보장하는 것은 사용자의 책임입니다. CEKB 파일, 활성 ERA 개발 키트 및 makepkg 팩에서 출력한 콘텐츠 패키지 파일을 소유한 사용자는 누구나 개발 키트에 패키지를 설치하고 패키지를 시작할 수 있으며 패키지에서 파일을 xbcp할 수 있습니다.

Important

2021년 4월 GDK 이전에 생성된 LEKB 파일은 CEKB 파일을 만들지 않습니다. 새로운 개발 키트 사이드 로딩 기능을 사용하려면 2021년 4월 이후의 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 항목)권한 부여 필요