Pular para o conteúdo principal
Use esta ferramenta para gerenciar os dados do XGameSave no seu PC. Não a use enquanto o título estiver em execução. Fazer isso pode deixar os Game Saves do título em um estado indeterminado. Esta ferramenta requer que o pacote do título esteja instalado no seu PC. Esse requisito é diferente do console, onde a implantação pelo Visual Studio é suficiente para que o xbstorage interaja com os Game Saves do título. Você pode gerar pacotes para PC com o makepkg e instalá-los com o wdapp install.
Se você precisar gerenciar os dados do XGameSave no console, deverá usar o Gerenciar o armazenamento do XGameSave no console (xbstorage.exe).

xgamesaveutil reset

Exclui apenas os dados locais do PFN e do SCID especificados no PC, sem impacto nos salvamentos na nuvem. Se um título for iniciado depois que xgamesaveutil reset for chamado, os salvamentos existentes na nuvem serão sincronizados para o dispositivo. Há duas formas de especificar o local dos dados a serem excluídos:
  • Se o parâmetro /context for usado e o nome de arquivo especificado por <infile> tiver uma seção ContextDescription preenchida corretamente, esse arquivo será usado para especificar o PFN e o SCID de destino.
  • O PFN e o SCID podem ser especificados parcial ou totalmente por meio de parâmetros de linha de comando, que têm precedência sobre os respectivos elementos do PFN e do SCID especificados no arquivo de entrada.
Exemplos

xgamesaveutil import

Importa os dados especificados em filename para um espaço de armazenamento. Esse arquivo XML contém os dados. Para ver um exemplo, veja xgamesaveutil generate neste artigo. Para obter mais informações sobre o formato XML do arquivo, veja Formato de arquivo de importação e exportação neste artigo. Há duas formas de especificar para onde importar os dados do XGameSave:
  • Se o parâmetro /context for usado e o nome de arquivo especificado por <filename> tiver uma seção ContextDescription preenchida corretamente, esse arquivo será usado para especificar o PFN e o SCID de destino.
  • O PFN e o SCID podem ser especificados parcial ou totalmente por meio de parâmetros de linha de comando, que têm precedência sobre os respectivos elementos do PFN e do SCID especificados no arquivo de entrada.
Exemplos
No PC, esta ferramenta grava os dados importados diretamente no armazenamento local. Ela não sincroniza com a nuvem antes ou depois da importação e não carrega automaticamente os dados importados na nuvem. Os dados são carregados na próxima vez que o título for iniciado e adquirir o provedor de Game Saves (por exemplo, chamando XGameSaveInitializeProvider).Isso é diferente da ferramenta do console (xbstorage), que sincroniza com a nuvem antes de importar e carrega os dados imediatamente depois.
Se um jogo com o mesmo Service Configuration Identifier (SCID) primário estiver em execução, essa operação poderá causar uma condição de corrida e deixar o conteúdo do espaço de armazenamento do XGameSave em um estado indeterminado. Se /replace não for especificado, os contêineres especificados no arquivo de entrada serão apagados antes que os blobs especificados no arquivo de entrada sejam gravados. Os contêineres do espaço de armazenamento do XGameSave que não forem especificados no arquivo de entrada não serão alterados.

xgamesaveutil export

Exporta dados de um espaço de armazenamento do XGameSave para o arquivo especificado por outfile. O arquivo XML contém os dados exportados. Para ver um exemplo, veja xgamesaveutil generate. Para obter detalhes sobre o formato XML, veja Formato de arquivo de importação e exportação. Há duas formas de especificar de onde exportar os dados do XGameSave:
  • Se o parâmetro /context for usado e o nome de arquivo especificado por <infile> tiver uma seção ContextDescription preenchida corretamente, esse arquivo será usado para especificar o PFN e o SCID de destino.
  • O PFN e o SCID podem ser especificados parcial ou totalmente por meio de parâmetros de linha de comando, que têm precedência sobre os respectivos elementos do PFN e do SCID especificados no arquivo de entrada.
Exemplos
No PC, esta ferramenta lê os dados diretamente do armazenamento local. Ela não sincroniza com a nuvem antes de exportar. Os dados exportados refletem o que estiver atualmente no disco, o que pode não incluir os dados mais recentes da nuvem.
Se um app com o mesmo SCID primário estiver em execução, essa operação poderá causar uma condição de corrida e deixar o conteúdo do espaço de armazenamento do XGameSave em um estado indeterminado.

xgamesaveutil delete

Exclui todos os dados de um espaço de armazenamento do XGameSave. Para fazer isso corretamente, você deve:
  1. Verificar se o título não está em execução
  2. Executar xgamesaveutil delete para excluir os dados locais imediatamente.
  3. Iniciar o título e adquirir o provedor de Game Saves. Isso permite que o xgamesaveutil exclua automaticamente os dados da nuvem.
Há duas formas de especificar de onde excluir os dados do XGameSave:
  • Se o parâmetro /context for usado e o nome de arquivo especificado por <infile> tiver uma seção ContextDescription preenchida corretamente, esse arquivo será usado para especificar o PFN e o SCID de destino.
  • O PFN e o SCID podem ser especificados parcial ou totalmente por meio de parâmetros de linha de comando, que têm precedência sobre os respectivos elementos do PFN e do SCID especificados no arquivo de entrada.
Exemplos
Antes de excluir o espaço de armazenamento do XGameSave especificado, o sistema tenta sincronizar com a nuvem usando a mesma lógica executada quando o espaço de armazenamento é adquirido por um app em execução. Se um app com o mesmo SCID primário estiver em execução, essa operação poderá causar uma condição de corrida e deixar o conteúdo do espaço de armazenamento do XGameSave em um estado indeterminado.

xgamesaveutil generate

Gera dados fictícios e os salva em um arquivo especificado por <filename>. Para obter mais informações sobre o formato XML do arquivo, veja Formato de arquivo de importação e exportação neste artigo. O SCID é definido como 00000000-0000-0000-0000-000000000000. Altere esses valores editando o arquivo diretamente após ele ser gerado. Exemplos
Os dados de bytes são uma sequência crescente simples. Por exemplo, um blob de 5 bytes teria os seguintes bytes: 00 01 02 03 04. Para especificar um espaço de armazenamento do XGameSave por usuário, altere o nó Account no arquivo XML para algo como o exemplo a seguir.

Formato de arquivo de importação e exportação

O arquivo XML usado com os comandos import, export e generate tem o formato mostrado no exemplo a seguir.
O formato dos dados nesse arquivo XML não é idêntico ao formato na plataforma. O formato pode mudar no futuro, portanto os arquivos devem ser tratados como se tivessem um formato intermediário ou utilitário, e não um formato de arquivamento. O nó ContextDescription é opcional. Se você estiver criando um espaço de armazenamento do XGameSave para um usuário, poderá usar <Account msa="user@example.com"/> em vez de <Account machine="true"/>. Caso contrário, o contexto pode ser especificado na linha de comando para a importação. Os blobs e contêineres devem ter os nomes correspondentes atribuídos a eles pelo jogo ou app para o qual o arquivo está sendo gerado. O conteúdo de cada blob deve ser uma cadeia de caracteres envolvida em uma marca CDATA, gerada chamando CryptBinaryToStringW com o sinalizador CRYPT_STRING_BASE64, fornecendo os dados desse blob como uma matriz de bytes brutos. Por outro lado, os dados do blob podem ser convertidos de volta chamando CryptStringToBinary para fornecer a cadeia de caracteres anteriormente criptografada. Para ver um exemplo de uso dessas duas funções, veja CryptBinaryToString returns invalid bytes.

Veja também

Visão geral de Game Saves Visão geral do XGameSaveFiles Gerenciar o armazenamento do XGameSave no console (xbstorage.exe)
Última modificação em 8 de outubro de 2026