NO MOM
I CANT PAUSE.
Scientific Number Tools Documentación
Soporte
Explorar documentación

Guardar y recuperar un saldo protegido

Conserva las identidades de recuperación y prueba la carga en otro proceso.

En esta página

Prepara la sesión nativa

La persistencia portable necesita una inicialización controlada por la aplicación. Blueprint o IA por sí solos no proporcionan secretos de recuperación.

  1. Obtén el ID de clave existente y el secreto aleatorio de 32 bytes del propietario mediante tu sistema protegido de cuenta/recuperación. Genera una clave con FScientificNumberRecoveryKeys::Generate solo para un propietario realmente nuevo.
  2. Conserva un anillo compartido FScientificNumberRecoveryKeys. Añade la clave con su ID estable y distinto de cero. Conserva claves antiguas mientras admitas sus registros y borra los buffers temporales tras utilizarlos.
  3. Elige FScientificNumberFileSaveStore para almacenamiento local Win64 o implementa IScientificNumberSaveStore para un almacén fiable. CompareExchange debe comprobar y aplicar atómicamente la revisión esperada.
  4. Crea y conserva un UScientificNumberSaveSession. Inicialízalo una vez con perfil, GUID estable del dominio del juego, propietario autenticado, claves y almacén. Comprueba éxito y error. Una sesión inicializada no puede vincularse de nuevo.
Límite de recuperación

Nunca generes una clave sustituta para ocultar un fallo de carga. Perder el secreto original impide recuperar sus registros. No guardes secretos de producción en valores predeterminados de Blueprint, assets públicos ni archivos junto a la partida.

Guarda desde Blueprint

Expón la sesión inicializada al juego conservando su propiedad correctamente en Unreal. Crea un Safe de 12345 y llama a Save con Slot TutorialWallet y Expected Revision 0 para un slot nuevo. Comprueba el éxito, conserva Out Revision e inspecciona Out Error si falla.

En escrituras posteriores usa la revisión que realmente leíste o guardaste. Ante un conflicto, carga y reevalúa la operación de juego; no escribas repetidamente un saldo obsoleto adivinando revisiones.

Cierra y recupera

  1. Cierra el proceso completo del juego después de guardar correctamente.
  2. Abre otro proceso e inicializa con los mismos ID de clave, secretos, dominio, propietario y slot.
  3. Llama a Load. Minimum Revision permite imponer un límite inferior conocido por una fuente fiable; cero acepta la revisión autenticada disponible.
  4. Tras el éxito, autentica el Safe devuelto con Try Get Safe Number.
Resultado esperado

El nuevo proceso recupera 12345. Una clave incorrecta, otra identidad o un registro alterado se rechazan; no se cargan como cero.

Contexto y autoridad

Usa SaveContextBound y LoadContextBound para valores ligados a contexto. El contexto en memoria y la identidad del guardado son entradas distintas. No serialices handles opacos de IA ni bytes Safe en memoria como formato de partida.

LocalPortable detecta alteraciones autenticadas y conflictos entre escritores que siguen el protocolo. No impide que el propietario de la máquina restaure una copia antigua completa. TrustedServer requiere identidad, almacenamiento y revisiones realmente fiables; elegir ese enum no crea un backend.

Las llamadas de almacenamiento son síncronas. Planifica el trabajo lento del backend y conserva la sesión y sus dependencias durante la operación. Consulta Documentation/PortableSafePersistence.md, incluido en el plugin, para el contrato nativo y el proveedor anterior.