XGameSave sur votre PC. Ne l’utilisez pas pendant que le titre est en cours d’exécution. Cela pourrait placer les sauvegardes de jeu du titre dans un état indéterminé.
Cet outil nécessite que le package du titre soit installé sur votre PC. Cette exigence diffère de la console, où un déploiement via Visual Studio suffit pour que xbstorage interagisse avec les sauvegardes de jeu du titre. Vous pouvez générer des packages PC avec makepkg et les installer avec wdapp install.
Si vous devez gérer des données
XGameSave sur la console, vous devez utiliser Gérer le stockage XGameSave sur console (xbstorage.exe).xgamesaveutil reset
xgamesaveutil reset, les sauvegardes existantes du cloud sont synchronisées vers l’appareil.
Il existe deux façons de spécifier l’emplacement des données à supprimer :
- Si le paramètre /context est utilisé et que le fichier spécifié par <infile> comporte une section ContextDescription correctement renseignée, ce fichier est utilisé pour spécifier le PFN et le SCID cibles.
- Le PFN et le SCID peuvent être spécifiés partiellement ou entièrement à l’aide de paramètres de ligne de commande, qui sont prioritaires sur les éléments correspondants du PFN et du SCID spécifiés dans le fichier d’entrée.
Exemples
xgamesaveutil import
XGameSave :
- Si le paramètre /context est utilisé et que le fichier spécifié par <filename> comporte une section ContextDescription correctement renseignée, ce fichier est utilisé pour spécifier le PFN et le SCID cibles.
- Le PFN et le SCID peuvent être spécifiés partiellement ou entièrement à l’aide de paramètres de ligne de commande, qui sont prioritaires sur les éléments correspondants du PFN et du SCID spécifiés dans le fichier d’entrée.
Exemples
Sur PC, cet outil écrit les données importées directement dans le stockage local. Il ne se synchronise pas avec le cloud avant ou après l’importation, et ne charge pas automatiquement les données importées dans le cloud. Les données sont chargées lors du prochain lancement du titre, lorsqu’il acquiert le fournisseur de sauvegardes de jeu (par exemple, en appelant XGameSaveInitializeProvider).Ce comportement diffère de celui de l’outil console (
xbstorage), qui se synchronise avec le cloud avant l’importation et charge les données immédiatement après.XGameSave dans un état indéterminé.
Si /replace n’est pas spécifié, les conteneurs spécifiés dans le fichier d’entrée sont effacés avant l’écriture des blobs spécifiés
dans le fichier d’entrée. Les conteneurs de l’espace de stockage XGameSave qui ne sont pas spécifiés dans le fichier d’entrée ne sont pas modifiés.
xgamesaveutil export
XGameSave vers le fichier spécifié par outfile. Le fichier XML contient les données exportées. Pour un exemple, voir xgamesaveutil generate. Pour plus de détails sur le format XML, voir Format de fichier d’importation et d’exportation.
Il existe deux façons de spécifier l’emplacement à partir duquel exporter les données XGameSave :
- Si le paramètre /context est utilisé et que le fichier spécifié par <infile> comporte une section ContextDescription correctement renseignée, ce fichier est utilisé pour spécifier le PFN et le SCID cibles.
- Le PFN et le SCID peuvent être spécifiés partiellement ou entièrement à l’aide de paramètres de ligne de commande, qui sont prioritaires sur les éléments correspondants du PFN et du SCID spécifiés dans le fichier d’entrée.
Exemples
Sur PC, cet outil lit les données directement depuis le stockage local. Il ne se synchronise pas avec le cloud avant l’exportation. Les données exportées reflètent ce qui se trouve actuellement sur le disque, ce qui peut ne pas inclure les données les plus récentes du cloud.
XGameSave dans un état indéterminé.
xgamesaveutil delete
XGameSave.
Pour effectuer cette opération correctement, vous devez :
- Vous assurer que le titre n’est pas en cours d’exécution
- Exécuter
xgamesaveutil deletepour supprimer immédiatement les données locales. - Lancer le titre et acquérir le fournisseur de sauvegardes de jeu. Cela permet à
xgamesaveutilde supprimer automatiquement les données du cloud.
XGameSave :
- Si le paramètre /context est utilisé et que le fichier spécifié par <infile> comporte une section ContextDescription correctement renseignée, ce fichier est utilisé pour spécifier le PFN et le SCID cibles.
- Le PFN et le SCID peuvent être spécifiés partiellement ou entièrement à l’aide de paramètres de ligne de commande, qui sont prioritaires sur les éléments correspondants du PFN et du SCID spécifiés dans le fichier d’entrée.
Exemples
XGameSave spécifié, le système tente de se synchroniser avec le cloud en utilisant la même
logique que celle exécutée lorsque l’espace de stockage est acquis par une application en cours d’exécution.
Si une application ayant le même SCID principal est en cours d’exécution, cette opération peut provoquer une condition de concurrence et placer le contenu de
l’espace de stockage XGameSave dans un état indéterminé.
xgamesaveutil generate
Exemples
XGameSave par utilisateur, modifiez le nœud Account du fichier XML comme dans l’exemple suivant.
Format de fichier d’importation et d’exportation
Le fichier XML utilisé avec les commandes import, export et generate a le format illustré dans l’exemple suivant.XGameSave pour un utilisateur, vous pouvez utiliser
<Account msa="user@example.com"/> au lieu de <Account machine="true"/>. Sinon, le contexte peut être spécifié
sur la ligne de commande lors de l’importation.
Les blobs et les conteneurs doivent porter les noms correspondants qui leur sont attribués par le jeu ou l’application pour lequel le fichier
est généré.
Le contenu de chaque blob doit être une chaîne encapsulée dans une balise CDATA, générée en appelant
CryptBinaryToStringW avec l’indicateur CRYPT_STRING_BASE64, en fournissant les données de ce blob sous forme de tableau
d’octets bruts. À l’inverse, les données d’un blob peuvent être reconverties en appelant CryptStringToBinary pour fournir la chaîne
précédemment chiffrée. Pour un exemple d’utilisation de ces deux fonctions, voir
CryptBinaryToString returns invalid bytes.
