
Si tienes varias consolas Android como una Retroid Pocket 5 o una Odin 2 Portal y quieres que tus partidas guardadas viajen siempre contigo de un dispositivo a otro sin nubes de terceros de por medio, Syncthing es justo la herramienta que estabas buscando. Gracias a su sincronización cifrada punto a punto, puedes compartir saves de RetroArch, estados guardados y carpetas de configuración entre tus cacharros y tu PC sin depender de Google Drive, Dropbox ni nada parecido.
La idea es sencilla: montar tu propia nube distribuida donde tú decides qué carpetas se sincronizan, con qué dispositivos y en qué dirección. En este artículo verás cómo funciona Syncthing, cómo usarlo en Android (incluidos dispositivos tipo consola), cómo conectarlo con tu PC, Raspberry Pi o NAS, y qué ajustes conviene usar para que las partidas guardadas sean fiables, sin corrupción de datos ni conflictos raros.
Qué es Syncthing y por qué es perfecto para gamers en Android
Syncthing es una aplicación de sincronización continua de archivos entre dispositivos mediante P2P (peer-to-peer). No existe un servidor central donde se almacenen tus datos: cada equipo ejecuta su propio «daemon» de Syncthing y se conecta directamente con el resto de dispositivos autorizados.
El proyecto es software libre bajo licencia MPL 2.0, está desarrollado en Go y usa su propio protocolo eficiente de intercambio de bloques (Block Exchange Protocol). Puede correr en Windows, macOS, GNU/Linux, BSD, Android, contenedores Docker y en máquinas de bajo consumo como una Raspberry Pi o un pequeño NAS que tengas por casa.
Para un usuario que quiere sincronizar partidas, la gracia es que Syncthing no se limita a una única carpeta tipo «Documents»; te permite enlazar cualquier ruta local con cualquier ruta remota. Eso incluye directorios de saves de RetroArch, estados rápidos, configuraciones de emuladores individuales o incluso las partidas que ciertos juegos guardan en rutas algo rebuscadas dentro del almacenamiento interno.
Ventajas clave frente a la típica “nube” para tus partidas
Usar Syncthing en Android junto a tu PC, Raspberry Pi o NAS resuelve muchos problemas que tienen las soluciones clásicas en la nube cuando hablamos de partidas de juegos y emulación. Las ventajas más importantes son:
- Privacidad real: los archivos solo residen en tus propios dispositivos (o en los de personas de confianza). No hay copias en servidores ajenos ni políticas de empresa cambiando de un día para otro.
- Código abierto y auditable: cualquiera puede revisar el código y comprobar que no hay puertas traseras. Ideal si eres celoso de tus datos y no quieres cajas negras.
- Multiplataforma total: puedes sincronizar sin problema entre Android, PC con Windows o Linux, Mac, Raspberry Pi, NAS caseros, etc.
- Sin cuotas ni límites artificiales de espacio: solo te limita el tamaño de tus discos locales. Si tienes un disco grande en el PC o en el NAS, ahí caben todas tus ROMs y saves.
- Sincronización en tiempo (casi) real: en cuanto tus consolas Android y tu PC están conectados, los cambios se propagan solos. Terminas una partida en el sofá y al encender el otro dispositivo ya está el save ahí.
- Control fino por carpeta y por dispositivo: puedes definir si una carpeta es enviar/recibir, solo enviar o solo recibir, y qué archivos se deben ignorar para no liarla con temporales o cachés.
En el contexto gaming, esto se traduce en que puedes tener un repositorio central con todas tus partidas y ROMs (por ejemplo en una Raspberry Pi o un PC encendido casi siempre), y tus dispositivos Android Retro (Retroid Pocket, Odin 2, móviles, tabletas) tiran de ahí y mantienen sincronizados los directorios de saves sin que tengas que andar copiando a mano.
Seguridad, cifrado y qué ve realmente cada dispositivo
Uno de los puntos fuertes de Syncthing es que todas las comunicaciones entre dispositivos viajan cifradas punto a punto con TLS. Cada equipo genera la primera vez un certificado y una clave privada, y de ahí se deriva su identificador único de dispositivo.
Esto implica varias cosas que conviene tener claras antes de meter tus partidas y otros archivos personales:
- Aprobación mutua obligatoria: aunque alguien conozca tu ID de dispositivo, no puede conectarse si tú no lo aceptas desde la interfaz de Syncthing. Lo mismo al revés: tú tampoco te conectas a un equipo si el otro lado no confirma.
- Contenido cifrado siempre: los servidores de descubrimiento o los relays (repetidores) que Syncthing pueda usar a través de Internet solo ven tráfico cifrado; no pueden leer tus archivos.
- Exposición de metadatos mínimos: cada nodo conectado ve tu IP, sistema operativo, versión de Syncthing y tu estado (conectado, sincronizando, etc.). No es dramático, pero conviene saberlo.
- Posibilidad de montar tu propia infraestructura: si eres muy maniático de la privacidad, puedes configurar tu propio servidor de descubrimiento global y tus propios relays para no depender de los públicos.
Aunque Syncthing no necesita un «servidor central» de almacenamiento, sí usa algunos servicios auxiliares para encontrarse a través de Internet: servidor de descubrimiento global, lista de relays, servidor de actualizaciones y estadísticas anónimas opcionales. Para un uso doméstico típico Android + PC + Raspberry Pi te puedes quedar con la configuración por defecto: es segura, equilibrada y funciona sin calentarte la cabeza.
Instalar Syncthing en Android (incluyendo consolas tipo Retroid y Odin)
En Android hay varias formas de obtener el cliente. Lo habitual es instalar Syncthing o Syncthing-Fork desde Google Play o desde F-Droid. Estas aplicaciones son una especie de «envoltura» gráfica sobre el motor de Syncthing, pensada para móviles y consolas Android similares.
Al abrir la app por primera vez, se ejecuta un asistente que crea el ID del dispositivo, las carpetas por defecto y pide permisos clave:
- Acceso al almacenamiento: imprescindible para leer y escribir en las carpetas donde tienes tus saves, ROMs o configuraciones. Suele aparecer un botón tipo «Grant permission» que debes aceptar.
- Permiso de ubicación (opcional): Android exige este permiso cuando una app necesita ver el nombre de la red WiFi. Syncthing lo usa solo si quieres limitar la sincronización a determinadas redes (por ejemplo, solo en tu WiFi de casa para no gastar datos móviles).
Tras esos pasos verás la pantalla principal de la app, con pestañas de Carpetas (Folders), Dispositivos y acceso a la interfaz web. Desde ahí puedes arrancar o detener el servicio, ver el estado y entrar a los ajustes. En muchos dispositivos portátiles tipo consola funciona exactamente igual que en un móvil Android estándar.
La interfaz web: la misma cara en Android, PC y Raspberry Pi
Aunque la app Android tiene interfaz propia, la forma más sencilla y consistente de gestionar todo es usando la interfaz web integrada que expone Syncthing en el puerto 8384. Es la misma en todos los sistemas, así que lo que aprendes en uno te sirve para todos.
Desde la app suele haber un botón para abrir la interfaz web dentro de la propia aplicación. Si ves algo raro o se atasca, puedes abrir tu navegador en Android y apuntar a http://127.0.0.1:8384 (o la IP y puerto que te indique la app). La web es responsive, así que se adapta bastante bien a pantallas pequeñas.
En esa interfaz verás claramente:
- Un menú superior con Acciones, Ajustes, Mostrar ID, etc.
- Una zona de avisos con notificaciones importantes (nuevos dispositivos, carpetas propuestas, errores).
- Un bloque de Carpetas con su estado, tipo, tamaño y progreso de sincronización.
- La sección «Este dispositivo» con consumo de CPU, RAM, velocidades de subida y bajada, etc.
- El listado de «Dispositivos remotos» conocidos o conectados en ese momento.
Las ventanas de creación y edición de dispositivos o carpetas aparecen como diálogos emergentes sobre la parte inferior. Una vez te acostumbras, todo el flujo de configuración se vuelve bastante lógico y rápido.
Conectar tus Android (Retroid, Odin, móvil) con el PC o una Raspberry Pi
El corazón de Syncthing es el vínculo entre dispositivos. Cada equipo tiene un ID de dispositivo único, una cadena alfanumérica larga (y un QR asociado) que sirve para que otros dispositivos lo añadan como «remoto».
Para enganchar, por ejemplo, tu Retroid Pocket 5 con tu PC de sobremesa o tu Raspberry Pi, el proceso general sería:
- Ver el ID de tu Android: desde la interfaz web o el menú de la app, entra en «Mostrar ID». Verás el identificador y el código QR.
- Ver el ID del PC/Raspberry: en el navegador del PC o en la Pi, entra también en «Mostrar ID» en su interfaz web.
- Añadir el PC como dispositivo remoto en Android: desde la pestaña de dispositivos, pulsa «Añadir» (Add remote device) y escanea el QR del PC, o copia el ID a mano. Pon un nombre descriptivo tipo «PC Gaming», «NAS Salón» o «Raspberry Emuladores».
- Añadir el Android en el PC o la Pi: desde la interfaz web del PC, crea un nuevo dispositivo y pega el ID del Android (o escanéalo si tienes un lector de QR). Deja la dirección en «dynamic» salvo que tengas necesidades especiales.
- Aceptar la relación en ambos lados: cada vez que añades un dispositivo, al otro lado aparece un aviso pidiendo confirmación. Hasta que no aceptes en los dos sitios, no se establecerá la conexión.
Este sistema de «petición y aceptación» puede ser un pelín pesado la primera vez, pero es lo que impide que cualquiera que tenga tu ID se conecte sin tu permiso. Perfecto si compartes red con más gente o tienes dispositivos expuestos a Internet.
Sincronizar carpetas: dónde poner las partidas y cómo enlazarlas
Una vez que los dispositivos se conocen, toca decidir qué carpetas se van a sincronizar. Syncthing trabaja siempre a nivel de carpeta, identificando cada una con:
- Etiqueta legible: el nombre que verás en la interfaz, tipo «Saves RetroArch Odin».
- Ruta absoluta local: el directorio real en tu dispositivo Android o tu PC.
- ID interno de carpeta: un identificador que sirve para que Syncthing sepa que dos carpetas de distintos equipos son en realidad la misma sincronización.
En Android suele venir una carpeta por defecto llamada Camera o Fotos, pensada para sincronizar las fotos del teléfono. En tu PC podría aparecer una «Default Folder». Para las partidas, lo habitual es localizar primero en cada dispositivo dónde guarda los saves RetroArch, y crear ahí una carpeta claramente identificable.
Por ejemplo, en Android muchas configuraciones de RetroArch usan rutas como:
- /storage/emulated/0/RetroArch/saves
- /storage/emulated/0/RetroArch/states
Para compartirla, en tu Retroid u Odin harías algo como:
- Pulsar «Añadir carpeta» (Add folder).
- Poner una etiqueta tipo «RetroArch Saves».
- Indicar la ruta local correcta (por ejemplo, /storage/emulated/0/RetroArch/saves).
- En la pestaña Sharing, marcar los dispositivos con los que quieres compartirla (PC, Raspberry Pi, segundo Android…).
- Guardar y volver a la pantalla principal, donde verás la nueva carpeta listada.
En el otro dispositivo (por ejemplo el PC), aparecerá un aviso indicando que tu Android quiere compartir una carpeta con ID X y etiqueta «RetroArch Saves». Al aceptarlo, tendrás que:
- Elegir un nombre local (puede ser distinto, por ejemplo «Saves Retroid»).
- Seleccionar la ruta de destino en el PC, por ejemplo ~/Games/RetroArch/saves o D:\Retro\Saves. Ojo con que esa ruta tenga permisos de escritura.
- Confirmar la operación para que Syncthing cree el árbol de directorios si no existe y empiece la sincronización.
El progreso aparecerá con barras de porcentaje y estado «Sincronizando». Cuando todo esté al día, la carpeta pasará a «Up to date» y las dos ubicaciones quedarán enlazadas.
Tipos de carpeta: cómo evitar sustos con tus partidas
No todas las situaciones de sincronización son iguales. Syncthing permite definir por carpeta el tipo de flujo de cambios para adaptarse a lo que necesitas:
- Enviar y recibir (Send & Receive): modo por defecto. Cualquier cambio (crear, modificar o borrar archivos) se replica entre todos los dispositivos que comparten esa carpeta.
- Solo enviar (Send Only): ese dispositivo actúa como origen. Los demás reciben, pero no devuelven cambios. Si algo se modifica en un receptor, Syncthing lo marca como divergente.
- Solo recibir (Receive Only): el dispositivo solo acepta cambios de los demás; las modificaciones locales no se propagan. Ideal para equipos que hagan de «copia maestra».
En una configuración gamer tiene bastante sentido algo así:
- Poner tu PC o Raspberry Pi como «Send & Receive» para los saves, actuando de hub central.
- Configurar tus consolas Android también como Send & Receive en las carpetas de RetroArch si quieres que cualquier dispositivo pueda avanzar partidas y enviar esos cambios al resto.
- Usar «Send Only» en la carpeta de fotos del móvil si aprovechas Syncthing también para backups de imágenes y no quieres que, si borras algo en el PC, se pierda en el móvil.
La clave es que el tipo de carpeta se define independientemente en cada dispositivo. Puedes tener la misma carpeta ID configurada como «Send Only» en un nodo y «Receive Only» en otro, lo que te permite montar arquitecturas bastante flexibles de backup y replicación.
Escalar a más dispositivos: clústeres e “introducers”
Cuando empiezas a añadir más máquinas —por ejemplo, PC gaming, portátil, varias consolas Android, NAS, Raspberry— se forma lo que Syncthing llama un clúster: un grupo de dispositivos que comparten alguna carpeta entre ellos.
Si al principio tu PC es el nodo central que conoce a todos, puede pasar que para que dos dispositivos «periféricos» (por ejemplo portátil y NAS) se hablen directamente, dependan de que el PC esté online. Para mejorar esto, Syncthing dispone de la figura del Introducer o presentador.
Cuando marcas un dispositivo como introducer en otro, le estás diciendo básicamente:
- «Todo dispositivo que este equipo añada, añádemelo a mí también», para que aparezca en tu lista de dispositivos remotos.
- Lo mismo aplica a las carpetas que se compartan con esos nuevos dispositivos.
Así, si tienes un servidor que hace de presentador, los demás nodos del clúster acaban conociéndose entre sí y pueden intercambiar datos directamente, sin depender de un único “embudo”. Eso sí, no conviene marcar todos los dispositivos como introducers entre todos, porque al cabo del tiempo puedes acabar con listas llenas de equipos «fantasma» que ya no existen.
Conflictos de archivos y buenas prácticas con saves y estados
Como cualquier sistema de sincronización, Syncthing puede generar conflictos si dos dispositivos modifican el mismo archivo casi a la vez. Con saves de juegos esto puede pasar, por ejemplo, si abres la misma partida en la Retroid y en la Odin sin haber dado tiempo a que se sincronicen los cambios.
Cuando detecta un conflicto, Syncthing suele renombrar una de las copias con un sufijo tipo «sync-conflict» y la fecha/hora. No se pierde información, pero puedes encontrarte con múltiples versiones del mismo save si abusas de abrirlo en paralelo en varios equipos.
Recomendaciones básicas para gamers:
- Evita abrir la misma partida en dos dispositivos a la vez. Cierra el juego en uno, deja que se sincronice (comprueba que la carpeta esté «Up to date») y luego abre en el otro.
- Para juegos con saves delicados o formatos propietarios, considera mantener la carpeta como «Send Only» desde un nodo principal (por ejemplo tu PC) y «Receive Only» en las consolas, de modo que solo un equipo genere el save maestro.
- Revisa de vez en cuando si hay archivos con sufijo «sync-conflict» en las carpetas de saves y decide manualmente qué versión conservar.
- No uses Syncthing para bases de datos monolíticas multiusuario que se abran a la vez (por ejemplo ciertas BBDD de emulador si se usan en paralelo). Para eso no está pensado.
En Windows existen frontends como SyncTrayzor que facilitan la gestión de conflictos con una interfaz más amigable, pero en Android normalmente tendrás que tirar del explorador de archivos y de la interfaz web.
Versionado de archivos: cómo no llenar el disco con versiones viejas
Syncthing incluye un sistema de versionado de archivos («File Versioning») que puede salvarte la vida si borras un save importante o sobreescribes una partida sin querer. En vez de borrar o sustituir directamente, mueve la versión anterior a una carpeta oculta llamada .stversions dentro del mismo directorio compartido.
El problema es que, si no lo controlas, .stversions puede crecer sin límite, sobre todo si sincronizas archivos grandes (vídeos, audios, ISOs) o si cambias constantemente tus saves. Es fácil encontrarse con decenas o cientos de gigas ocupados si lo dejas por defecto.
Para cada carpeta puedes elegir el tipo de versionado más adecuado:
- No versioning: desactiva el versionado. Si se borra o sobrescribe un archivo, desaparece sin copia de seguridad.
- Trash Can (Papelera): los archivos modificados o borrados se mueven a .stversions y se mantienen hasta que tú los elimines o hasta que configures un tiempo de retención (por ejemplo 60 días).
- Simple Versioning: guarda un número limitado de versiones durante un tiempo determinado. Puedes definir cuántos días mantener y cada cuánto limpiar.
- Staggered Versioning: guarda versiones con una política escalonada: varias copias muy recientes, luego copias diarias, semanales, etc., hasta una antigüedad máxima.
- External: en vez de gestionar él mismo las versiones, Syncthing ejecuta un comando o script tuyo cada vez que se versiona un archivo. Es para casos muy avanzados.
Para saves de juegos suele ser razonable usar Simple o Staggered con límites razonables (por ejemplo, 10 versiones máximas y 30-60 días de antigüedad). Así puedes recuperar partidas antiguas sin que el disco se llene eternamente.
Syncthing en Raspberry Pi, NAS y servidores: el nodo siempre encendido
Una configuración muy cómoda es usar una Raspberry Pi, un NAS o un servidor doméstico como nodo permanente. Ese equipo queda encendido casi todo el tiempo y actúa de:
- Repositorio central de copias de tus saves y ROMs.
- Punto de encuentro entre dispositivos que no están conectados a la vez (por ejemplo, tu consola Android en casa y tu portátil fuera).
- Máquina de descarga o procesamiento que luego reparte contenido a los demás.
En GNU/Linux, Syncthing se puede instalar desde repositorios oficiales o desde el repositorio propio del proyecto. Es habitual habilitarlo como servicio con systemd usando algo como systemctl enable syncthing@usuario y systemctl start syncthing@usuario, para que arranque al encender el sistema.
En una Raspberry Pi suele ser útil editar el archivo de configuración config.xml para abrir la interfaz web a otras máquinas de la red. Cambias la dirección de 127.0.0.1:8384 a 0.0.0.0:8384, y así puedes administrar Syncthing desde el navegador de tu PC sin necesidad de monitor en la Pi. Otra opción muy limpia es usar SSH con reenvío de puertos y traerte el 127.0.0.1:8384 remoto a tu máquina local.
Si combinas esto con tus dispositivos Android, puedes hacer cosas como:
- Sincronizar la carpeta Camera del móvil en Send Only hacia la Pi, y ahí mantener un backup local de fotos.
- Sincronizar RetroArch/saves y RetroArch/states entre Pi, PC y consolas Android, de manera que la Pi conserve siempre una copia completa de tus partidas.
Syncthing en iOS mediante clientes compatibles
No existe una app oficial de Syncthing para iOS puro, pero sí proyectos de terceros como Sync Train que actúan como cliente sobre el mismo núcleo. Esto te permite, si también tienes iPhone o iPad, integrarlos en la red de dispositivos que comparten archivos.
Un escenario interesante sería:
- Syncthing en Android como motor principal en tus consolas y móviles.
- Sync Train en iOS para acceder a determinadas carpetas sincronizadas y reproducir multimedia en streaming cuando te convenga.
- PC o servidor como nodo central que guarda la copia completa de todo.
Con esta arquitectura puedes tener sincronización cifrada entre Android e iOS sin pagar cuotas mensuales ni entregar tus datos a proveedores de nube, aprovechando además que Sync Train permite reproducir contenido bajo demanda sin tener que descargarlo entero.
Sincronización de partidas entre consolas Android: consejos prácticos
Volviendo al caso concreto de una Retroid Pocket 5 y una Odin 2 Portal, la duda lógica es qué tal de fiable es la sincronización de partidas y estados, y qué hay que tener en cuenta para que la experiencia sea buena.
Con Syncthing bien configurado, las transferencias de saves son muy confiables. El protocolo transfiere los archivos por bloques, comprueba hashes y reintenta si hay cortes. Lo que más influye en la estabilidad no es Syncthing, sino la cobertura de tu red WiFi y el orden en que usas los dispositivos.
Algunos consejos específicos:
- Intenta que ambos dispositivos estén conectados a la misma red WiFi estable cuando vayan a sincronizarse. Evita redes públicas muy congestionadas.
- En cada consola, asegúrate de que RetroArch realmente está apuntando a la carpeta que sincroniza Syncthing (comprueba rutas de saves y states en la configuración de RetroArch).
- Evita tener RetroArch escribiendo saves en dos dispositivos a la vez para el mismo juego. Cierra el juego en uno y deja que termine de sincronizar antes de abrirlo en el otro.
- Si quieres ir sobre seguro, puedes mantener una de las consolas como equipo “principal” para ciertas plataformas y la otra como secundaria, ajustando tipos de carpeta (Send Only / Receive Only).
- Revisa de vez en cuando el registro de Syncthing si notas algo raro: los avisos de conflicto o permisos suelen explicarte qué pasa.
Muchos usuarios llevan años usando Syncthing para sincronizar notas, fotos, documentos y partidas de emuladores entre dispositivos y la experiencia suele ser muy estable una vez superada la primera configuración. El mayor «peligro» real siguen siendo los errores humanos (borrar una carpeta equivocada, cambiar una ruta sin darse cuenta, etc.), así que conviene tener copias de seguridad externas de aquello que no te puedes permitir perder.
En conjunto, Syncthing permite convertir tus móviles, consolas Android, PCs y Raspberry Pi en algo muy parecido a una nube privada distribuida, donde las partidas guardadas, fotos y documentos viajan cifrados de punto a punto, sin cuotas mensuales, sin depender de terceros y con un nivel de control sobre tus datos que difícilmente obtienes con servicios comerciales habituales.
