Publisher Content 패키지
Publisher Content는 플랫폼이 설치, 백그라운드 다운로드, 무결성 검증 및 사용자 환경을 계속 관리하는 동안 자체 CDN(콘텐츠 배포 네트워크)에서 추가 게임 콘텐츠를 호스팅할 수 있게 해 주는 패키지 유형입니다. Publisher Content 패키지는 XBOX One 제품군 콘솔에서 지원되며, XBOX Series X|S 콘솔에서는 2026년 10월 GDK(GDK 2610)부터 지원됩니다. Publisher Content 패키지는 런타임에 다운로드 가능 콘텐츠(DLC)처럼 동작하여 기본 게임과 함께 설치되고, 프로세스에 탑재되며, 게임이 종료되면 탑재 해제됩니다. DLC와 달리 Partner Center를 통해 수집되지 않고, 스토어 ID가 없으며, Microsoft Store를 통해 판매되거나 라이선스가 부여되지 않습니다. 어떤 콘텐츠를 제공하고, 언제 업데이트하며, 누가 받을지는 사용자의 서비스가 결정하는 기준 원본이 됩니다.Publisher Content를 사용하는 경우
다음 중 하나를 수행하려는 경우 Publisher Content를 고려하세요.- 스토어 수집 과정을 거치지 않고 소규모 라이브 서비스 업데이트(구성 데이터, 튜닝 테이블, 소규모 자산 팩)를 제공합니다.
- 기본 게임의 모든 플레이어가 자동으로 받는 퍼블리셔 브랜드 추가 콘텐츠를 제공합니다.
- 다른 플랫폼의 게임을 위해 이미 운영 중인 기존 CDN 및 콘텐츠 파이프라인을 재사용합니다.
- CDN 계층에서 출시 시점, 지역 대상 지정 또는 A/B 테스트를 직접 제어합니다.
요구 사항 및 제약 조건
- 기본 게임당 하나의 Publisher Content 패키지만 사용할 수 있습니다.
- 기본 게임을 소유한 모든 플레이어가 사용할 수 있습니다. 사용자별 라이선스 검사는 없습니다.
- XBOX One 제품군 콘솔 및 XBOX Series X|S 콘솔에서 지원됩니다.
- 기본 게임과 Publisher Content 패키지는 동일한 패키지 형식을 사용해야 합니다. 예를 들어 기본 게임이 MSIXVC2로 패키징된 경우 Publisher Content 패키지도 MSIXVC2여야 합니다.
- Publisher Content 패키지는 작아야 합니다. 즉, 크기가 1GB 미만이어야 합니다.
- Publisher Content 패키지는 퍼블리셔가 제공한 서명 자료로 서명되며, 기본 게임은 플랫폼이 해당 게임에 속한다고 주장하는 Publisher Content의 유효성을 검사할 수 있도록 대응하는 공개 자료를 포함합니다. 기본 게임 자체는 다른 타이틀과 동일한 방식으로 서명됩니다. 서명 자료는 패키지 형식에 따라 다릅니다.
- XVC 및 MSIXVC — 원시 CNG 서명 키입니다. RSA-4096이 필요합니다.
- MSIXVC2 — RSA-4096 키가 있는 X.509 인증서입니다. 인증서는 현재 유효해야 하고, 액세스 가능한 RSA 개인 키가 있어야 하며, 디지털 서명을 허용해야 합니다.
플랫폼은 Publisher Content 패키지에 대한 콘텐츠 기밀성을 제공하지 않습니다. Microsoft Store DLC와 달리 Publisher Content는 배포를 위해 암호화되지 않으므로 CDN에서 파일을 다운로드하는 누구나 해당 콘텐츠를 검사할 수 있습니다. 페이로드의 일부에 기밀성이 필요한 경우 패키징하기 전에 콘텐츠 자체 내에서 해당 부분을 암호화하세요.
구성 요소가 함께 작동하는 방식
대략적인 흐름은 다음과 같습니다.- MicrosoftGame.config에서 기본 게임에 매니페스트 URL을 선언합니다. 이 URL은 CDN에 호스팅하며 언제든지 업데이트할 수 있는 작은 JSON 파일을 가리킵니다.
- 스토어 ID로 기본 게임을 참조하는 Publisher Content 패키지를 작성합니다.
- 퍼블리셔 서명 자료로 Publisher Content 패키지에 서명합니다. 기본 게임은 플랫폼이 해당 게임에 속한다고 주장하는 모든 Publisher Content의 유효성을 검사할 수 있도록 대응하는 공개 자료를 포함합니다.
- 플레이어가 기본 게임을 설치하면 플랫폼은 매니페스트를 가져와 현재 Publisher Content 패키지의 CDN URL을 읽고 설치를 대기열에 추가합니다.
- 런타임에 게임은 설치된 패키지를 열거하고 DLC를 탑재하는 것과 동일한 방식으로 Publisher Content 패키지를 탑재합니다.
기본 게임 설정
기본 게임의 MicrosoftGame.config 파일에ManifestUrl 하위 요소가 있는 PublisherContent 요소를 추가합니다. 이 URL은 게임을 실행하는 모든 디바이스에서 연결할 수 있어야 합니다.
Publisher Content 패키지 작성
Publisher Content 페이로드와 함께 MicrosoftGame.config를 만듭니다.PublisherContentBaseProduct 요소를 사용하여 스토어 ID로 기본 게임을 참조합니다.
Publisher Content 패키지에
AllowedProducts 요소를 포함하지 마세요. 이 요소는 패키지를 표준 DLC로 식별하며 PublisherContentBaseProduct와 함께 사용할 수 없습니다.매니페스트 작성
기본 게임에서 선언한ManifestUrl에 작은 JSON 매니페스트를 호스팅합니다. 매니페스트에는 CDN에 있는 현재 Publisher Content 패키지를 가리키는 단일 url 필드가 포함됩니다. 게시한 후에는 해당 url의 Publisher Content를 변경하지 말고, 대신 모든 새 Publisher Content 패키지 버전을 새 url에 게시하고 그에 따라 매니페스트를 업데이트하세요.
퍼블리셔 서명 자료 생성
퍼블리셔 서명 자료는 빌드 머신에 있으며,makepkg가 기본 게임과 Publisher Content 패키지를 압축할 때 이름(또는 지문)으로 참조됩니다. 정확한 형식은 대상 패키지 형식에 따라 다릅니다.
퍼블리셔 서명 키 또는 인증서의 개인 키를 프로덕션 비밀로 취급하세요. 개인 자료에 액세스할 수 있는 사람은 누구나 플랫폼이 사용자가 만든 것으로 인정하는 Publisher Content 패키지를 생성할 수 있습니다.
XVC 및 MSIXVC 패키지의 경우
빌드 머신의 Windows CNG 키 저장소 공급자에서 RSA-4096 서명 키를 만듭니다. 다음 PowerShell 예제는 Microsoft Software Key Storage Provider에서MyTestPubXvcSigningKey라는 이름의 내보내기 가능한 RSA-4096 서명 키를 만듭니다.
/usepublisherkey를 통해 makepkg pack에 전달합니다. 기본값이 아닌 CNG 키 저장소 공급자를 사용하는 경우 /publisherkeyprovider를 통해 해당 이름도 전달합니다.
MSIXVC2 패키지의 경우
주체 키가 RSA-4096 키인 X.509 인증서를 만들고, 인증서와 해당 개인 키를CurrentUser\My 인증서 저장소에 설치합니다.
다음 PowerShell 예제는 CurrentUser\My에 자체 서명된 RSA-4096 인증서를 만들고 해당 .cer 파일을 내보냅니다.
.cer 경로 또는 인증서 지문을 /usepublishercert를 통해 makepkg pack에 전달합니다. 인증서가 My 이외의 저장소에 설치된 경우 /publishercertstore를 통해 해당 이름도 전달합니다.
기본 게임 및 Publisher Content 패키징
두pack 호출 모두 동일한 키 또는 인증서를 참조해야 합니다.
XVC 및 MSIXVC 패키지의 경우
기본 게임을 패키징합니다./publisherkeyprovider <providername>을 추가합니다.
MSIXVC2 패키지의 경우
기본 게임을 패키징합니다.CurrentUser\My 이외의 저장소에 설치된 경우 두 명령 모두에 /publishercertstore <store>를 추가합니다.
자세한 내용은 패키지 만들기(makepkg.exe)를 참조하세요.
게시 및 업데이트
Publisher Content 패키지는 사용자의 CDN에 호스팅되며 Partner Center에 업로드할 수 없습니다.
makepkg upload는 느슨한 형식과 패키지 형식 모두의 Publisher Content 패키지를 거부합니다. 기본 게임 패키지는 표준 Partner Center 흐름을 통해 정상적으로 업로드됩니다.- 패키징된 Publisher Content XVC를 매니페스트에서 참조한 URL로 CDN에 업로드합니다.
- 매니페스트 JSON을 기본 게임의
ManifestUrl요소에 선언한 URL로 업로드합니다. - 평소와 같이 Partner Center를 통해 기본 게임을 제출하고 출시합니다.
- 새 Publisher Content 패키지를 새 URL로 CDN에 업로드합니다. 이전 Publisher Content 패키지를 교체하지 마세요.
- 새 패키지를 가리키도록 매니페스트의
url값을 업데이트합니다. - 업데이트된 JSON 파일을 기본 게임의
ManifestUrl요소에 선언한 URL로 업로드합니다.
