XGameSave 資料。請勿在遊戲執行時使用。這樣做可能會使遊戲的遊戲存檔處於不確定的狀態。
此工具需要在您的電腦上安裝遊戲套件。這項需求與主機不同,在主機上,透過 Visual Studio 部署就足以讓 xbstorage 與遊戲的遊戲存檔互動。您可以使用 makepkg 產生 PC 套件,並使用 wdapp install 安裝。
如果您需要管理主機上的
XGameSave 資料,必須使用管理主機上的 XGameSave 儲存空間 (xbstorage.exe)。xgamesaveutil reset
xgamesaveutil reset 之後啟動遊戲,雲端中現有的存檔會同步至裝置。
有兩種方式可以指定要刪除之資料的位置:
- 如果使用 /context 參數,且 <infile> 所指定的檔案具有正確填入的 ContextDescription 區段, 則會使用該檔案來指定目標 PFN 與 SCID。
- PFN 與 SCID 可以透過命令列參數部分或完整指定,其優先順序高於輸入檔案中所指定之 PFN 與 SCID 的 對應元素。
範例
xgamesaveutil import
XGameSave 資料匯入至何處:
- 如果使用 /context 參數,且 <filename> 所指定的檔案具有正確填入的 ContextDescription 區段, 則會使用該檔案來指定目標 PFN 與 SCID。
- PFN 與 SCID 可以透過命令列參數部分或完整指定,其優先順序高於輸入檔案中所指定之 PFN 與 SCID 的 對應元素。
範例
在 PC 上,此工具會將匯入的資料直接寫入本機儲存空間。它不會在匯入之前或之後與雲端同步,也不會自動將匯入的資料上傳至雲端。資料會在下次遊戲啟動並取得遊戲存檔提供者 (例如,呼叫 XGameSaveInitializeProvider) 時上傳。這與主機工具 (
xbstorage) 不同,後者會在匯入之前與雲端同步,並在匯入之後立即上傳資料。XGameSave 儲存空間的內容處於不確定的狀態。
如果未指定 /replace,則在寫入輸入檔案中指定的 Blob 之前,會先清除輸入檔案中指定的容器。
XGameSave 儲存空間中未在輸入檔案中指定的容器不會受到影響。
xgamesaveutil export
XGameSave 儲存空間中的資料匯出至 outfile 所指定的檔案。此 XML 檔案包含匯出的資料。如需範例,請參閱 xgamesaveutil generate。如需 XML 格式的詳細資料,請參閱匯入與匯出檔案格式。
有兩種方式可以指定要從何處匯出 XGameSave 資料:
- 如果使用 /context 參數,且 <infile> 所指定的檔案具有正確填入的 ContextDescription 區段, 則會使用該檔案來指定目標 PFN 與 SCID。
- PFN 與 SCID 可以透過命令列參數部分或完整指定,其優先順序高於輸入檔案中所指定之 PFN 與 SCID 的 對應元素。
範例
在 PC 上,此工具會直接從本機儲存空間讀取資料。它不會在匯出之前與雲端同步。匯出的資料反映的是目前磁碟上的內容,可能不包含最新的雲端資料。
XGameSave 儲存空間的內容處於不確定的狀態。
xgamesaveutil delete
XGameSave 儲存空間中的所有資料。
若要正確執行此作業,您必須:
- 確定遊戲未在執行
- 執行
xgamesaveutil delete以立即刪除本機資料。 - 啟動遊戲並取得遊戲存檔提供者。這可讓
xgamesaveutil自動刪除雲端資料。
XGameSave 資料:
- 如果使用 /context 參數,且 <infile> 所指定的檔案具有正確填入的 ContextDescription 區段, 則會使用該檔案來指定目標 PFN 與 SCID。
- PFN 與 SCID 可以透過命令列參數部分或完整指定,其優先順序高於輸入檔案中所指定之 PFN 與 SCID 的 對應元素。
範例
XGameSave 儲存空間之前,系統會嘗試使用與執行中的應用程式取得儲存空間時相同的
邏輯與雲端進行同步。
如果具有相同主要 SCID 的應用程式正在執行,此作業可能會造成競爭情況,並使
XGameSave 儲存空間的內容處於不確定的狀態。
xgamesaveutil generate
範例
XGameSave 儲存空間,請將 XML 檔案中的 Account 節點變更為類似下列範例的內容。
匯入與匯出檔案格式
與 import、export 及 generate 命令搭配使用的 XML 檔案具有下列範例所示的格式。XGameSave 儲存空間,可以使用
<Account msa="user@example.com"/> 取代 <Account machine="true"/>。否則,可以在命令列上
為匯入指定內容。
Blob 與容器應具有產生檔案所針對之遊戲或應用程式為其指定的對應名稱。
每個 Blob 的內容應為包裝在 CDATA 標記中的字串,此字串是藉由呼叫
CryptBinaryToStringW 並搭配旗標 CRYPT_STRING_BASE64,提供該 Blob 的資料作為原始位元組
陣列所產生。反之,可以呼叫 CryptStringToBinary 並提供先前加密的字串,將 Blob 資料轉換回來。
如需使用這兩個函式的範例,請參閱
CryptBinaryToString returns invalid bytes。
