PC에서 XGameSave 데이터 관리(xgamesaveutil.exe)
이 도구를 사용하여 PC에서 XGameSave 데이터를 관리합니다. 이 도구는 다음과 같은 하위 명령과 함수를 제공합니다.
참고 항목
콘솔에서 XGameSave 데이터를 관리해야 하는 경우 xbstorage.exe 명령줄 도구(NDA 주제)권한 부여 필요를 사용해야 합니다.
명령 |
설명 |
---|---|
reset | PC에서 지정된 PFN 및 SCID에 대한 모든 로컬 데이터를 삭제합니다. |
import | 지정된 XML 파일에서 XGameSave 저장 공간으로 데이터를 가져옵니다. |
export | XGameSave 저장 공간에서 지정된 XML 파일로 데이터를 내보냅니다. |
delete | XGameSave 저장 공간에서 데이터를 삭제합니다. |
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 | 가져오기를 수행하기 전에 모든 컨테이너를 삭제합니다. |
지정된 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 서비스 구성에서 가져온 항목입니다. |
기본 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, export 및 generate 명령과 함께 사용되는 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 주제)권한 부여 필요