다음을 통해 공유


PC에서 XGameSave 데이터 관리(xgamesaveutil.exe)

이 도구를 사용하여 PC에서 XGameSave 데이터를 관리합니다. 이 도구는 다음과 같은 하위 명령과 함수를 제공합니다.

참고 항목

콘솔에서 XGameSave 데이터를 관리해야 하는 경우 xbstorage.exe 명령줄 도구(NDA 주제)권한 부여 필요를 사용해야 합니다.

명령

설명

resetPC에서 지정된 PFN 및 SCID에 대한 모든 로컬 데이터를 삭제합니다.
import지정된 XML 파일에서 XGameSave 저장 공간으로 데이터를 가져옵니다.
exportXGameSave 저장 공간에서 지정된 XML 파일로 데이터를 내보냅니다.
deleteXGameSave 저장 공간에서 데이터를 삭제합니다.
generate더미 데이터를 생성하고 지정한 XML 파일에 저장합니다.

xgamesaveutil 재설정

xgamesaveutil reset [/pfn:<PFN>] [/scid:<SCID>] [/context:<infile>]

지정된 PFN 및 SCID에 대해 모든 로컬 데이터를 삭제합니다.

삭제할 데이터의 위치를 지정하는 방법은 다음 두 가지입니다.

  • /context 매개 변수가 사용되고 <infile>로 지정된 파일 이름에 올바르게 채워진 ContextDescription 섹션이 있는 경우 해당 파일은 대상 PFN 및 SCID를 지정하는 데 사용됩니다.

  • 입력 파일에 지정된 PFN 및 SCID의 해당 요소보다 우선하는 명령줄 매개 변수를 통해 PFN 맟 SCID의 일부 또는 전체를 지정할 수 있습니다.

옵션 설명
/context:<infile> 지정된 파일을 사용하여 앱 PFN 및 SCID를 지정합니다.
/pfn:<PFN> 데이터를 삭제할 앱에 대한 PFN(패키지 패밀리 이름)을 지정합니다. 앱을 설치해야 합니다.
/scid:<SCID> SCID(서비스 구성 식별자)를 지정합니다. Xbox 서비스 구성에서 가져온 항목입니다.

사용 예는 다음과 같습니다.

xgamesaveutil reset /context:target.xml
xgamesaveutil reset /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22

xgamesaveutil import

xgamesaveutil import <filename> [/pfn:<PFN>] [/scid:<SCID>] [/replace]

filename에 지정된 데이터를 저장 공간으로 가져옵니다. 이 XML 파일에는 데이터가 포함되어 있습니다. 예제를 보려면 이 항목의 xgamesaveutil generate를 참조하세요. 파일의 XML 형식에 대한 자세한 내용은 이 항목의 가져오기 및 내보내기 파일 형식을 참조하세요.

XGameSave 데이터를 가져올 위치를 지정하는 방법에는 두 가지가 있습니다.

  • /context 매개 변수가 사용되고 <filename>에 의해 지정된 파일 이름에 올바르게 채워진 ContextDescription 섹션이 있는 경우 해당 파일은 대상 PFN 및 SCID를 지정하는 데 사용됩니다.

  • 입력 파일에 지정된 PFN 및 SCID의 해당 요소보다 우선하는 명령줄 매개 변수를 통해 PFN 맟 SCID의 일부 또는 전체를 지정할 수 있습니다.

옵션 설명
/pfn:<PFN> 데이터를 삭제할 앱에 대한 PFN(패키지 패밀리 이름)을 지정합니다. 앱을 설치해야 합니다.
/scid:<SCID> SCID(서비스 구성 식별자)를 지정합니다. Xbox 서비스 구성에서 가져온 항목입니다.
/replace 가져오기를 수행하기 전에 모든 컨테이너를 삭제합니다.
사용 예는 다음과 같습니다. ```cmd xgamesaveutil import mydata.xml xgamesaveutil import mydata.xml /replace xgamesaveutil import mydata.xml /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22 ```

지정된 XGameSave 저장 공간으로 가져오기 전에 시스템은 실행 중인 게임이 공간을 확보할 때 실행되는 것과 동일한 논리를 사용하여 클라우드와 동기화를 시도합니다.

동일한 기본 SCID(서비스 구성 식별자)를 가진 게임이 실행 중인 경우 이 작업으로 인해 경쟁 상태가 발생하고 XGameSave 저장 공간의 콘텐츠가 불확실한 상태가 될 수 있습니다.

/replace를 지정하지 않으면 입력 파일에 지정된 BLOB를 쓰기 전에 입력 파일에 지정된 컨테이너가 지워집니다. 입력 파일에 지정되지 않은 XGameSave 저장 공간의 컨테이너는 그대로 유지됩니다.

xgamesaveutil export

xgamesaveutil export <outfile> [/pfn:<PFN>] [/scid:<SCID>] [/context:<infile>]

연결된 저장소에서 outfile에 의해 특정된 파일로 데이터를 내보냅니다. 이 XML 파일에는 데이터가 포함되어 있습니다. 예제 생성에 대한 자세한 내용은 이 항목의 xgamesaveutil generate를 참조하세요. 파일의 XML 형식에 대한 세부 내용은 가져오기 및 내보내기 파일 형식을 참조하세요.

XGameSave 데이터를 내보낼 위치를 지정하는 방법에는 두 가지가 있습니다.

  • /context 매개 변수가 사용되고 <infile>로 지정된 파일 이름에 올바르게 채워진 ContextDescription 섹션이 있는 경우 해당 파일은 대상 PFN 및 SCID를 지정하는 데 사용됩니다.

  • 입력 파일에 지정된 PFN 및 SCID의 해당 요소보다 우선하는 명령줄 매개 변수를 통해 PFN 맟 SCID의 일부 또는 전체를 지정할 수 있습니다.

옵션 설명
/pfn:<PFN> 데이터를 삭제할 앱에 대한 PFN(패키지 패밀리 이름)을 지정합니다. 앱을 설치해야 합니다.
/scid:<SCID> SCID(서비스 구성 식별자)를 지정합니다. Xbox 서비스 구성에서 가져온 항목입니다.
사용 예는 다음과 같습니다. ```cmd xgamesaveutil export exporteddata.xml /context:target.xml xgamesaveutil export exporteddata.xml /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22 ``` 지정된 XGameSave 저장 공간을 내보내기 전에 시스템은 실행 중인 앱이 저장 공간을 확보할 때 실행되는 것과 동일한 논리를 사용하여 클라우드와 동기화를 시도합니다.

기본 SCID가 동일한 앱이 실행 중인 경우 이 작업으로 인해 경쟁 상태가 발생하고 XGameSave 저장 공간의 콘텐츠가 불확실한 상태가 될 수 있습니다.

xgamesaveutil delete

xgamesaveutil delete [/pfn:<PFN>] [/scid:<SCID>] [/context:<infile>]

XGameSave 저장 공간에서 모든 데이터를 삭제합니다.

XGameSave 데이터를 삭제할 위치를 지정하는 방법에는 두 가지가 있습니다.

  • /context 매개 변수가 사용되고 <infile>로 지정된 파일 이름에 올바르게 채워진 ContextDescription 섹션이 있는 경우 해당 파일은 대상 PFN 및 SCID를 지정하는 데 사용됩니다.

  • 입력 파일에 지정된 PFN 및 SCID의 해당 요소보다 우선하는 명령줄 매개 변수를 통해 PFN 맟 SCID의 일부 또는 전체를 지정할 수 있습니다.

옵션 설명
/pfn:<PFN> 데이터를 삭제할 앱에 대한 PFN(패키지 패밀리 이름)을 지정합니다. 앱을 설치해야 합니다.
/scid:<SCID> SCID(서비스 구성 식별자)를 지정합니다. Xbox 서비스 구성에서 가져온 항목입니다.

사용 예는 다음과 같습니다.

xgamesaveutil delete /context:target.xml
xgamesaveutil delete /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22 

지정된 XGameSave 저장 공간을 삭제하기 전에 시스템은 실행 중인 앱이 저장 공간을 확보할 때 실행되는 것과 동일한 논리를 사용하여 클라우드와 동기화를 시도합니다.

기본 SCID가 동일한 앱이 실행 중인 경우 이 작업으로 인해 경쟁 상태가 발생하고 저장 공간의 콘텐츠가 불확실한 상태가 될 수 있습니다.

xgamesaveutil generate

xgamesaveutil generate <filename> [/containers:<n>] [/blobs:<n>] [/blobsize:<n>]

더미 데이터를 생성하고 <파일 이름>으로 지정된 파일에 저장합니다. 파일의 XML 형식에 대한 자세한 내용은 이 항목의 가져오기 및 내보내기 파일 형식을 참조하세요.

SCID는 00000000-0000-0000-0000-000000000000으로 설정됩니다. 개발자는 파일이 생성된 직후 파일을 편집하여 해당 값을 변경해야 합니다.

옵션 설명
/containers:<n> 생성할 컨테이너의 개수를 지정합니다. 기본값은 2입니다.
/blobs:<n> 생성할 컨테이너당 blob의 개수를 지정합니다. 기본값은 3입니다.
/blobsize:<n> Blob당 바이트 수를 지정합니다. 기본값은 1024입니다.

사용 예는 다음과 같습니다.

xgamesaveutil generate dummydata.xml
xgamesaveutil generate dummydata.xml /containers:4
xgamesaveutil generate dummydata.xml /blobs:10
xgamesaveutil generate dummydata.xml /containers:4 /blobs:10
xgamesaveutil generate dummydata.xml /containers:4 /blobs:10 /blobsize:512

바이트 데이터는 단순 오름차순입니다. 예를 들어 5바이트 BLOB에는 00 01 02 03 04 바이트가 있습니다.

사용자별 XGameSave 저장 공간을 지정하려면 XML 파일의 계정 노드를 다음 예제와 같이 변경합니다.

<Account msa="user@example.com"/>  

가져오기 및 내보내기 파일 형식

import, exportgenerate 명령과 함께 사용되는 XML 파일의 형식은 다음 예와 같습니다.

  <?xml version="1.0" encoding="UTF-8"?> 
  <XbConnectedStorageSpace> 
    <ContextDescription> 
      <Account msa="user@example.com"/>
      <Title scid="00000000-0000-0000-0000-000000000000" /> 
    </ContextDescription> 
    <Data> 
      <Containers> 
        <Container name="Container1"> 
          <Blobs> 
            <Blob name="Blob1"> 
              <![CDATA[... ] ]> 
            </Blob> 
            ... 
            <Blob name="BlobN"> 
              <![CDATA[... ] ]> 
            </Blob> 
          </Blobs>
        </Container> 
        ... 
        <Container name="ContainerN"> 
        ... 
        </Container> 
      </Containers> 
    </Data> 
  </XbConnectedStorageSpace>  

이 XML 파일의 데이터 형식은 플랫폼의 형식과 동일하지 않습니다. 형식은 나중에 변경될 수 있으므로 파일은 보관 형식이 아닌 중간 또는 유틸리티 형식으로 처리되어야 합니다.

ContextDescription 노드는 선택 사항입니다. 사용자를 위한 XGameSave 저장 공간을 만드는 경우 <Account machine="true"/> 대신 <Account msa="user@example.com"/>을(를) 사용할 수 있습니다. 그렇지 않으면 명령줄에 가져오기를 위한 구문을 지정할 수 있습니다.

BLOB 및 컨테이너에는 파일이 생성되고 있는 게임이나 앱에서 지정하는 이름이 있어야 합니다.

각 BLOB의 내용은 CDATA 태그로 묶은 문자열이어야 합니다. 이 문자열은 해당 BLOB에 대한 데이터를 원시 바이트 배열로 제공하는 CRYPT_STRING_BASE64 플래그를 사용하여 CryptBinaryToStringW를 호출하여 생성합니다. 거꾸로 CryptStringToBinary를 호출하여 이전에 암호화된 문자열을 제공하는 방식으로 BLOB 데이터를 다시 변환할 수 있습니다. 이 두 함수의 사용 예는 CryptBinaryToString returns invalid bytes를 참조하세요.

참고 항목

XGameSave 개요XGameSaveFiles 개요
콘솔에서 XGameSave 저장소 관리(NDA 주제)권한 부여 필요