Sincronización de archivos de juego en múltiples plataformas: integración de almacenamiento en la nube de HeroicGamesLauncher

Sincronización de archivos de juego en múltiples plataformas: integración de almacenamiento en la nube de HeroicGamesLauncher

Enlace de descarga gratuito: HeroicGamesLauncher, un lanzador nativo para GOG, Amazon y Epic Games para Linux, Windows y Mac. Dirección del proyecto: https://gitcode.com/GitHub_Trending/he/HeroicGamesLauncher

¿Te has enfrentado a la pérdida de progreso al cambiar de dispositivo? ¿O has tenido dificultades para continuar con tu avance en diferentes plataformas? La función de almacenamiento en la nube de HeroicGamesLauncher resuelve este problema, integrando profundamente los servicios de almacenamiento en la nube de GOG y Epic Games, permitiendo que tu progreso se transfiera sin interrupciones entre dispositivos. Este artículo explica cómo configurar y utilizar esta funcionalidad poderosa, asegurando que cada aventura esté guardada correctamente.

Mecanismo principal de sincronización de archivos

La función de sincronización de archivos de HeroicGamesLauncher se implementa mediante el módulo save_sync.ts, ubicado en src/backend/save_sync.ts. Su principio fundamental es crear un canal de datos bidireccional entre los archivos locales y el almacenamiento en la nube, analizando los metadatos proporcionados por las plataformas de juegos para identificar automáticamente las rutas de los archivos y realizar la sincronización.

// Ejemplo de lógica principal de sincronización (proveniente de save_sync.ts)
async function getDefaultSavePath(
  appName: string,
  runner: Runner,
  alreadyDefinedGogSaves: GOGCloudSavesLocation[]
): Promise<string | GOGCloudSavesLocation[]> {
  switch (runner) {
    case 'legendary':
      return getDefaultLegendarySavePath(appName)
    case 'gog':
      return getDefaultGogSavePaths(appName, alreadyDefinedGogSaves)
    // Soporte para otras plataformas...
  }
}


Estrategias de adaptación a múltiples plataformas

El sistema utiliza estrategias de sincronización diferentes según el tipo de plataforma de juego (Legendary/Epic o GOG):

  • Epic Games: Utiliza el comando sync-saves de la herramienta de línea de comandos Legendary.
  • GOG: Analiza la etiqueta <SaveFolderVariable> en los metadatos del juego, reemplazando dinámicamente las variables del entorno del sistema.

Interfaz de configuración y flujo de operaciones

La función de sincronización de archivos está ubicada en la sección "Sync Saves" del panel de configuración, correspondiente al archivo src/frontend/screens/Settings/sections/SyncSaves/index.tsx. El diseño sigue el lenguaje de diseño uniforme de Heroic, ofreciendo controles intuitivos y opciones de configuración de ruta.

Opciones principales de configuración

  1. Interruptor de sincronización automática: Control global para habilitar o deshabilitar la sincronización automática de archivos.
  2. Configuración de ruta de archivos: Especificar una ubicación local personalizada para guardar los archivos.
  3. Selección de estrategia de sincronización: Ofrece cuatro modos de sincronización:
  • Solo descarga (--skip-upload)
  • Solo carga (--skip-download)
  • Descarga forzada (--force-download)
  • Carga forzada (--force-upload)

Configuración específica por plataforma

Según la plataforma del juego, la interfaz muestra opciones diferenciadas:

// Ejemplo de código de adaptación a plataformas (proveniente de SyncSaves/index.tsx)
if (runner === 'legendary') {
  return <LegendarySyncSaves {...props} />
}

if (runner === 'gog') {
  return <GOGSyncSaves {...props} />
}


Consejos avanzados de uso

Ruta de archivos personalizada

Para juegos con ubicaciones no estándar, puedes especificar manualmente la ruta:

  1. En la página de configuración del juego, busca la sección "Sync Saves".
  2. Desactiva la opción "Usar ruta predeterminada".
  3. Haz clic en "Examinar" para seleccionar la carpeta real de los archivos.
  4. Haz clic en "Verificar ruta" para confirmar la configuración.

Resolución de conflictos de sincronización

Cuando haya conflictos entre los archivos locales y los de la nube, el sistema maneja la situación según la estrategia preestablecida:

  • Estrategia predeterminada: Conserva la versión más reciente (basada en la hora de modificación).
  • Estrategia forzada: Sobrescribe utilizando parámetros de línea de comandos (--force-*).

Registro y solución de problemas

Los registros detallados del proceso de sincronización están disponibles en:

  • Dentro de la aplicación: Configuración > Registros > Filtrar "SaveSync".
  • En el sistema de archivos: Los archivos de registro relevantes se encuentran en el directorio ~/.config/heroic/logs/.

Solución de problemas frecuentes

Ruta de archivos no reconocida

Esto suele deberse a problemas de configuración de variables de entorno de Wine. Las soluciones son:

  1. Asegúrate de que la configuración del prefijo de Wine sea correcta.
  2. Ejecuta heroic-cli wine env en la terminal para revisar las variables de entorno.
  3. Al especificar manualmente la ruta, usa el formato de ruta absoluta.

Errores de falla de sincronización

Código de error Posible causa Solución
ENOENT La ruta de los archivos no existe Verifica la ruta o reinstala el juego
EACCES Permiso insuficiente Revisa los ajustes de permisos de la carpeta
ETIMEDOUT Problemas de conexión de red Verifica la configuración del proxy de red

Visión futura de funciones

Según el plan de desarrollo del proyecto, la función de sincronización de archivos mejorará en versiones futuras:

  1. Sincronización incremental: Transmite solo los archivos modificados, ahorrando ancho de banda.
  2. Historial de versiones: Función para retroceder a versiones anteriores de los archivos.
  3. Sincronización antre plataformas: Cambios sin interrupciones entre Windows/Linux/MacOS.
  4. Almacenamiento en la nube de terceros: Soporte para servicios como Dropbox o Google Drive.

Para obtener actualizaciones recientes, consulta el CHANGELOG.md del proyecto o participa en los debates de GitHub.

Nota: Realizar copias de seguridad periódicas de archivos importantes es la mejor práctica para garantizar la seguridad de los datos, incluso cuando se utilice la función de sincronización en la nube.

Si experimentas otros problemas durante el uso, por favor comunícate con los canales proporcionados en Support.md.

Enlace de descarga gratuito: HeroicGamesLauncher, un lanzador nativo para GOG, Amazon y Epic Games para Linux, Windows y Mac. Dirección del proyecto: https://gitcode.com/GitHub_Trending/he/HeroicGamesLauncher

Etiquetas: HeroicGamesLauncher almacenamiento en la nube sincronización de archivos juegos multiplataforma configuración de juego

Publicado el 8-12 05:11