Resumen
Steam Cloud almacena automáticamente archivos de tu juego en los servidores de Steam para que los jugadores puedan iniciar sesión en Steam y acceder a sus partidas guardadas desde cualquier equipo.Nivel de integración
Es necesario configurar las rutas de los archivos en el sitio web de Steamworks. De forma alternativa, son necesarias llamadas desde el código del juego a la API de Steamworks para que el juego enumere, lea, elimine o guarde archivos en Steam Cloud.Descripción general de Steam Cloud
Steam Cloud ofrece un sistema sencillo y transparente de almacenamiento remoto de archivos para los juegos. Los archivos especificados en la configuración de Auto‑Cloud o guardados en el disco (creados, modificados, borrados, etc.) con la API de Steam Cloud se duplican automáticamente en los servidores de Steam tras salir del juego.
Si el usuario cambia de ordenador, los archivos se descargan automáticamente en el ordenador nuevo antes de que se inicie el juego. A continuación, el juego puede acceder a los archivos a través de la API de Steam Cloud o directamente desde el disco de la forma habitual. Evita las configuraciones específicas del equipo, como la calidad de vídeo.
El cliente de Steam se ocupa de que todos los archivos estén sincronizados en todos los equipos a los que acceda el usuario.
Los usuarios pueden desactivar de manera global la sincronización de Steam Cloud en los ajustes del servicio desactivando la opción «Activar sincronización de Steam Cloud para las aplicaciones compatibles».
Los usuarios también pueden desactivar la sincronización con la nube en las propiedades de cada juego.

Notas y prácticas recomendadas
Es importante recordar que Steam sincronizará los archivos de Steam Cloud del usuario para tu juego antes y después de cada sesión. Los archivos correspondientes que cambien durante la sesión se cargarán al almacenamiento en la nube inmediatamente después. Si tu juego guarda archivos de gran tamaño (o muchos archivos pequeños) en Steam Cloud, los usuarios pueden notar que el ancho de banda de internet disminuye de forma significativa y no ser capaces de cerrar Steam o reiniciar el juego inmediatamente.
Como regla general, los archivos más pequeños funcionarán mejor. Si se puede dividir la necesidad de guardar archivos para determinados usuarios en dos categorías distintas (lo que cambia con frecuencia y lo que no cambia a menudo), entonces recomendamos usar archivos de guardado separados para esas categorías. De esa manera, el estado sin cambios no se volverá a cargar después de cada sesión.
Límites de tamaño de los archivos
Los límites absolutos del tamaño de los archivos de Steam Cloud pueden cambiar con el tiempo. Estos son algunos de los límites y umbrales actuales:
Tamaño | Restricción |
---|
100 MB | Tamaño máximo para una llamada a ISteamRemoteStorage::FileWrite o ISteamRemoteStorage::FileWriteStreamWriteChunk. |
256 MB | Puede dar lugar a la elección de un punto final de almacenamiento inadecuado para la ubicación del usuario, lo que repercute negativamente en el rendimiento de carga y descarga. |
Rutas de archivos guardados
A la hora de decidir dónde guardar los archivos, asegúrate de que sea una ruta exclusiva para el usuario de Steam actual. Si es necesario, puedes utilizar
ISteamUser::GetSteamID para obtener el id. de Steam exclusivo del usuario. A partir de ahí, puedes utilizar GetAccountID() para acceder al id. de la cuenta y tener una variable única a la hora de crear la ruta de guardado.
Guardados multiplataforma
Si tu juego está disponible en varias plataformas, o esperas que lo esté en un futuro, tenlo en cuenta al configurar Steam Cloud.
Si tienes intención de acceder a los archivos y guardarlos directamente a través de la interfaz
ISteamRemoteStorage
, puedes controlar la sincronización entre plataformas mediante
ISteamRemoteStorage::SetSyncPlatforms. De forma predeterminada, los archivos nuevos se sincronizan con
todas las plataformas.
Si tienes intención de usar
Steam Auto‑Cloud, hay algunas cosas importantes que debes saber. En primer lugar, la configuración predeterminada para los archivos nuevos es sincronizarse
solamente con el
SO
configurado en la ruta raíz de Auto‑Cloud correspondiente. Esto significa que, al definir raíces diferentes para cada SO, todos los archivos se dividirán por plataforma y, por lo tanto, no habrá guardados entre plataformas.
Para activar el guardado multiplataforma, deberías establecer una única ruta de acceso raíz (generalmente para Windows) y luego crear
reemplazos de ruta raíz
para las otras plataformas compatibles. Los archivos que se correspondan con una ruta de acceso raíz proporcionada que contenga reemplazos de ruta raíz para otras plataformas se sincronizarán con todas las plataformas establecidas en la raíz original y en los reemplazos. Consulta la documentación de
Steam Auto‑Cloud para obtener más información.
Configuración inicial
Para configurar Steam Cloud, debes configurar la
Cuota de bytes por usuario
y el
Número de archivos permitidos por usuario
en la página
Configuración de Steam Cloud del panel de administración de la aplicación en Steamworks.
Esta cuota se impone en cada juego que utilice Steam Cloud, por usuario y juego. Te recomendamos que fijes los valores más razonables para tu juego en concreto.
NOTA: No olvides hacer clic en «Guardar» en la parte inferior de la página y publicar los nuevos ajustes. Una vez publicados, todos los usuarios que tengan tu juego verán el icono de Steam Cloud en el cliente de Steam.
Si ya has lanzado tu juego, puedes marcar la casilla
Habilitar solo soporte en la nube para desarrolladores
. Al activar el modo solo para desarrolladores, solo verán el icono y podrán usar Steam Cloud las cuentas de Steam que cuenten con licencia «Developer Comp» para ese título, lo cual resulta útil para probar la integración con Steam Cloud sin interrumpir la experiencia del público. No tiene ningún efecto en juegos que no se han publicado, ya que, como nadie tiene el juego aún, nadie puede ver o tener acceso al almacenamiento en la nube de ese id. de aplicación.
Puedes compartir el espacio de almacenamiento en Steam Cloud entre dos ids. de aplicación rellenando el campo
Id. de aplicación de nube compartida
. Esto suele utilizarse para compartir partidas guardadas entre una demo y el juego completo. El valor
0 desactiva esta característica.
API de Steam Cloud y Steam Auto‑Cloud
Steam ofrece dos métodos diferentes para utilizar Steam Cloud. Sigue leyendo para conocer las diferencias entre ambos métodos y decidir cuál es el más adecuado para tu aplicación.
En primer lugar, tenemos la API de Steam Cloud, que proporciona una serie de funciones que te permiten integrar Steam Cloud directamente en tu juego. La API aísla los archivos de los usuarios de Steam y ofrece un mayor nivel de control sobre Steam Cloud.
La API de Steam Cloud está disponible a través de la interfaz de la API
ISteamRemoteStorage, y puedes encontrar ejemplos de uso en la página
Ejemplo de aplicación de la API de Steamworks («Spacewar!»).
Por otra parte, tenemos
Steam Auto‑Cloud, que se diseñó para los juegos que prefieren no integrar la API de Steam Cloud. Es una forma rápida y sencilla de empezar, pero carece de la flexibilidad que ofrece la API de Steam Cloud.
Si prefieres una integración más profunda con Steam Cloud (por ejemplo, permitir elegir qué archivos guardados se almacenan en la nube), te recomendamos que uses la API de Steam Cloud. De lo contrario, puedes usar Steam Auto‑Cloud.
Steam Auto‑Cloud
Steam Auto‑Cloud es una alternativa a la API de Steam Cloud con la que las aplicaciones pueden usar Steam Cloud sin escribir código ni modificar el juego en absoluto. Solo es necesario especificar los grupos de archivos que se quieren conservar en Steam Cloud. Steam sincronizará automáticamente los grupos de archivos cuando la aplicación se inicie y se cierre. Evita las configuraciones específicas del equipo, como la calidad de vídeo.
Nota: El archivo steam_autocloud.vdf se creará en cada ubicación especificada por las rutas de la nube de Steamworks. Steam usa este archivo y tu juego puede ignorarlo.
Configuración
Después de completar la
Configuración inicial, la sección de configuración de Steam Auto‑Cloud se desbloqueará en la página
Configuración de Steam Cloud.
Las rutas de acceso raíz describen grupos de archivos que se conservarán en Steam Cloud. Una ruta de acceso raíz puede ser tan específica como un único archivo o tan amplia como todos los archivos de una subcarpeta determinada. Usa una nueva ruta para cada grupo de archivos que quieras sincronizar.
Una ruta de acceso raíz se compone de cinco partes:
-
Raíz
Lista predeterminada de rutas en las que se ubican habitualmente las partidas guardadas.
Raíz | Sistemas operativos compatibles | Ruta correspondiente |
App Install Directory | Alt | [Instalación de Steam]\SteamApps\common\[carpeta del juego]\ |
SteamCloudDocuments | All | Ruta específica de la plataforma, por ej., en Linux: ~/.SteamCloud/[usuario]/[carpeta del juego]/ |
WinMyDocuments | Windows | %USERPROFILE%\My Documents\ |
WinAppDataLocal | Windows | %USERPROFILE%\AppData\Local\ |
WinAppDataLocalLow | Windows | %USERPROFILE%\AppData\LocalLow\ |
WinAppDataRoaming | Windows | %USERPROFILE%\AppData\Roaming\ |
WinSavedGames | Windows | %USERPROFILE%\Saved Games\ |
MacHome | macOS | ~/ |
MacAppSupport | macOS | ~/Library/Application Support/ |
MacDocuments | macOS | ~/Documents/ |
LinuxHome | Linux | ~/ |
LinuxXdgDataHome | Linux | $XDG\_DATA\_HOME/ |
Nota sobre las rutas de %USERPROFILE% de Windows: las rutas correspondientes que aparecen en la lista de arriba son las ubicaciones predeterminadas. Ahora el usuario puede configurar la instalación de Windows para que estas carpetas se encuentren en diferentes ubicaciones que no estén necesariamente en %USERPROFILE%. Steam utiliza las API de Windows necesarias para encontrar la ubicación actual de estas carpetas, independientemente de si son carpetas predeterminadas o personalizadas.
-
Subdirectorio
Ruta del subdirectorio a los archivos almacenados en la nube, relativa a la raíz. Utiliza «.» si no hay un subdirectorio.
Valores especiales de la ruta de acceso de Auto‑Cloud
Auto‑Cloud permite el uso de identificadores de usuario de Steam únicos en la ruta del subdirectorio
. De esta forma, se pueden almacenar por separado las partidas guardadas de cada usuario de Steam en el ordenador. Puedes usar ISteamUser::GetSteamID en tu juego para obtener el id. de Steam o el id. de la cuenta del usuario actual para guardar y acceder a las partidas.
-
{64BitSteamID}
: usa esta variable en la ruta de Steam para insertar el id. de Steam de 64 bits del usuario. Los ids. de Steam de 64 bits tienen este formato: 76561198027391269.
-
{Steam3AccountID}
: usa esta variable en la ruta de Steam para insertar el id. de la cuenta de Steam3 del usuario. Los ids. de las cuentas tienen este formato: 67125541.
Ejemplo: SavesDir/{64BitSteamID}
-
Patrón
Patrón de máscara de archivo que debe coincidir. Puedes utilizar *
como comodín. Si quieres que se incluyan todos los archivos del directorio, simplemente usa *
.
Ejemplo: *.sav
-
SO
Establece los sistemas operativos en los que se sincronizan los archivos. Solo es necesario si los archivos pertenecen a sistemas operativos específicos, lo cual debería ser poco habitual.
-
Recursivo
Incluye los subdirectorios al buscar archivos que coincidan. Sirve para designar subdirectorios cuyos nombres no están fijados, como los que tienen nombres o identificadores de usuario distintos de los de Steam. Si se va a usar un id. de Steam, lo más recomendable es utilizar los valores especiales de ruta en el campo «Subdirectorio».
Reemplazos de ruta raíz
Si tu aplicación es multiplataforma y requiere un directorio distinto para cada SO, puedes utilizar los reemplazos de rutas raíz para indicar los reemplazos que correspondan con las rutas raíz configuradas arriba.
Las rutas raíz especificadas arriba se pueden sustituir para que lleven a una ruta distinta en otro sistema operativo (SO). Si utilizas el reemplazo de ruta raíz, debes especificar [Todos los sistemas operativos] en el cuadro desplegable del sistema operativo de la raíz.
Un reemplazo de ruta raíz consta de cinco partes.
-
Raíz original
Corresponde a una de las raíces establecidas más arriba.
-
SO
Sistema operativo al que se aplica este reemplazo.
-
Nueva raíz
Nueva ubicación a la que lleva la raíz original en el sistema operativo especificado.
-
Añadir/Reemplazar ruta
Opcionalmente, se puede añadir la ruta de un subdirectorio que se insertará entre la nueva raíz y el subdirectorio original.
-
Reemplazar ruta
Si se activa, hace que la ruta especificada en «Añadir/Reemplazar ruta» sustituya por completo el subdirectorio original.
Ejemplo: Configuración de Auto‑Cloud para aplicaciones de Unity
El siguiente es un ejemplo de la configuración de Auto‑Cloud para su uso con Unity y la propiedad
Application.persistentDataPath
con un valor diferente según el sistema operativo. La versión para Windows se configura como ruta de acceso raíz, la compañía en Unity es «DefaultCompany» y el proyecto se denomina «AutocloudSample». En macOS y Linux/SteamOS, las rutas alternativas de
Application.persistentDataPath
se configuran en el campo «Añadir/Reemplazar ruta» y la opción «Reemplazar ruta» está activada.
Con esta configuración, los archivos de Auto‑Cloud se sincronizarán entre las tres carpetas, tal como aparecen en las muestras de vista previa.

Pruebas previas al lanzamiento
Si estás añadiendo Steam Auto‑Cloud a un juego ya publicado y has habilitado el modo solo para desarrolladores durante la
Configuración inicial, es necesario seguir unos pasos adicionales para probar la funcionalidad.
- Inicia sesión en Steam con una cuenta que tenga la aplicación que estás probando.
- Introduce
steam://open/console
en el navegador para abrir la consola de Steam.
- Introduce
testappcloudpaths <id_aplicación>
en la consola con el id. de la aplicación que estás probando. Por ejemplo: testappcloudpaths 480
.
- Introduce
set_spew_level 4 4
en la consola.
- Inicia la aplicación desde Steam.
- Comprueba la actividad en la consola. Si ya hay archivos presentes en las rutas de Auto‑Cloud, deberías ver que se están cargando. Si no los hay, guarda algún archivo desde la aplicación y ciérrala para iniciar la sincronización.
- En otro ordenador, repite los pasos anteriores para probar la descarga de archivos desde Steam Auto-Cloud.
- Asegúrate de comprobarlo en todos los sistemas operativos compatibles.
- Establece
testappcloudpaths 0
y set_spew_level 0 0
para finalizar la prueba. Puedes reiniciar el cliente de Steam para deshacerte de la pestaña de la consola.
No olvides deshabilitar el modo solo para desarrolladores y publicar los cambios cuando termines las pruebas.
Sincronización dinámica con Steam Cloud
Steam Cloud ya es compatible con la sincronización dinámica, mediante la cual los cambios que aparecen en la nube pueden descargarse al equipo local durante las sesiones de las aplicaciones. Por ejemplo, cuando se suspende una sesión de juego en Steam Deck. En las aplicaciones marcadas como compatibles con la sincronización dinámica con la nube, Steam sincroniza los archivos con Steam Cloud en el momento en que se suspende la sesión. En ese momento, el usuario puede ejecutar el juego en otro dispositivo y recibir las actualizaciones de la sesión en Steam Deck al iniciarlo. Al salir, los cambios se cargan a Steam Cloud. Por último, cuando se reinicia Steam Deck, Steam sincroniza los cambios con el dispositivo y envía una notificación a la aplicación sobre los archivos locales que han cambiado. A continuación, la aplicación puede iterar dichos cambios y realizar las acciones oportunas. Por ejemplo, el juego podría cargar el progreso actualizado a partir del disco para que el usuario pueda seguir la partida exactamente donde la dejó en el otro dispositivo.
Echa un vistazo a
la publicación del anuncio para obtener más información sobre por qué existe esta característica y cómo utilizarla.
Ten en cuenta que esta característica es compatible tanto con las aplicaciones que utilizan la API
ISteamRemoteStorage para administrar los archivos como con las que usan Auto‑Cloud.
Para obtener más información, consulta la documentación de
ISteamRemoteStorage, en concreto,
ISteamRemoteStorage::RemoteStorageLocalFileChange_t,
ISteamRemoteStorage::GetLocalFileChangeCount y
ISteamRemoteStorage::GetLocalFileChange.
Consulta también
ISteamRemoteStorage::BeginFileWriteBatch y
ISteamRemoteStorage::EndFileWriteBatch. Estos contenedores deben utilizarse para ayudar a Steam a sincronizar los archivos de forma segura con Steam Cloud cuando el usuario suspende la sesión en el sistema.
Pruebas previas al lanzamiento
Para probar compilaciones, puedes activar de forma local la sincronización dinámica con Steam Cloud en tu aplicación, lo cual se recomienda principalmente para los juegos ya lanzados, puesto que su activación para todos los usuarios puede dar lugar a pérdidas de datos cuando se ejecutan compilaciones que no son compatibles con los nuevos métodos y funciones callback de la API.
Para hacer pruebas localmente en un ordenador:
- Inicia sesión en Steam con una cuenta que tenga la aplicación que estás probando.
- Introduce
steam://open/console
en el navegador para abrir la consola de Steam. También puedes ejecutar Steam con la línea de comandos steam -console
e ir a la sección de la consola directamente.
- Introduce
@cloud_testdynamicsyncapp <id_aplicación>
en la consola con el id. de la aplicación que estás probando. Por ejemplo: @cloud_testdynamicsyncapp 480
.
- Inicia la aplicación desde Steam.
- Avanza en el juego hasta llegar al punto que desees.
- En la consola de Steam, introduce
prepare_for_suspend
. Steam suspenderá el proceso del juego y cargará a Steam Cloud los archivos que hayan cambiado.
- De manera optativa, puedes jugar al juego en otro dispositivo para avanzar más, y después salir del juego y dejar que los datos del cliente de Steam lleguen a Steam Cloud.
- En el dispositivo inicial, en la consola de Steam, introduce
resume_suspended_games
para sincronizar los archivos necesarios con los datos de Steam Cloud, enviar las llamadas de la API correspondientes al juego y reanudar el proceso del juego.
Para hacer pruebas localmente en un Steam Deck:
- Conecta tu Steam Deck con un kit de desarrollador.
- Para usar la consola de CEF, haz clic aquí.
- En la consola de JS, introduce
SteamClient.Console.ExecCommand(“@cloud_testdynamicsyncapp <AppId>”)
para activar las pruebas. Luego puedes introducir SteamClient.Console.ExecCommand(“@cloud_testdynamicsyncapp 0”)
para desactivarlas.
Depuración
En primer lugar, asegúrate siempre de haber publicado los cambios en el sitio web de asociados de Steamworks y de haber esperado al menos 10 minutos o haber reiniciado el cliente de Steam para recibir los cambios publicados.
Si tienes problemas con Steam Cloud, debes revisar el archivo del registro ubicado en
%instalación de Steam%\logs\cloud_log.txt
.
Consulta la sección
Depuración de la API de Steamworks para obtener más información.