Documentation Steamworks
Steam Cloud

Présentation de Steam Cloud

Steam Cloud offre une solution de stockage des fichiers à distance simple et transparente pour votre jeu. Les fichiers spécifiés dans la configuration de l'Auto-Cloud ou écrits sur le disque (créés, modifiés, supprimés, etc.) à l'aide de l'API du Cloud seront automatiquement répliqués sur les serveurs Steam une fois le jeu fermé.

Si l'utilisateur change d'ordinateur, les fichiers sont automatiquement téléchargés sur le nouvel ordinateur avant le lancement du jeu. Le jeu peut ensuite accéder aux fichiers en les lisant via l'API du Cloud ou directement depuis le disque, comme d'habitude. Évitez les configurations spécifiques à une machine comme les paramètres vidéo.

Le client Steam s'occupe de vérifier que les fichiers restent synchronisés sur tous les ordinateurs auxquels l'utilisateur peut accéder.

Les utilisateurs peuvent désactiver la synchronisation du Cloud globalement dans la section Cloud des paramètres Steam en décochant « Activer la synchronisation du Steam Cloud pour les applications compatibles ».

Les utilisateurs peuvent aussi désactiver la synchronisation au cas pas cas depuis les propriétés de chaque jeu.

Spacewar_Cloud_Properties.png

Configuration initiale

Pour configurer le Steam Cloud, vous devez définir le Quota d'octets par utilisateur et le Nombre de fichiers autorisés par utilisateur dans la section Paramètres du Steam Cloud de la page d'administration des données de l'application sur Steamworks.

Ce quota est appliqué à chaque jeu qui utilise le Cloud pour chaque utilisateur. Il est recommandé de définir des valeurs raisonnables pour votre jeu.

REMARQUE : n'oubliez pas de cliquer sur Sauvegarder en bas de la page et de publier vos paramètres mis à jour. Une fois les changements publiés, l'icône du Cloud sera visible dans le client Steam par toute personne qui possède votre jeu.

Si votre jeu est déjà sorti, vous pouvez cocher la case Activer la prise en charge du Cloud pour les développeurs uniquement. Si le mode développeurs uniquement est activé, seuls les comptes Steam qui possèdent une licence Developer Comp pour votre titre pourront voir l'icône du Cloud et utiliser le Steam Cloud. Ceci est utile pour tester de manière sécurisée l'intégration de Steam Cloud sans gêner l'expérience des utilisateurs publics. Ceci n'a aucun effet sur les jeux non sortis, puisque personne ne possède encore le jeu. Personne ne pourra donc voir ou accéder au stockage Cloud pour l'App ID spécifique.

Vous pouvez partager l'espace de stockage du Cloud entre deux AppID en remplissant le champ Partage du Cloud avec l'AppID :. Ceci est le plus souvent utilisé pour partager les sauvegardes de jeu entre une démo et un jeu complet. La valeur 0 désactive cette fonctionnalité.

API du Steam Cloud et Steam Auto-Cloud

Steam fournit deux méthodes différentes pour utiliser Steam Cloud. Lisez en quoi les deux méthodes diffèrent et déterminez laquelle conviendra le mieux à votre application.

La première méthode est l'API du Steam Cloud.
L'API du Cloud fournit une série de fonctions qui vous permettent d'intégrer directement le Steam Cloud dans votre jeu. L'API du Cloud isole les fichiers individuels des utilisateurs Steam les uns des autres et fournit un plus grand niveau de contrôle sur le Steam Cloud.

L'API du Steam Cloud est exposée via l'interface ISteamRemoteStorage et vous trouverez un exemple d'utilisation dans le projet Exemple d'application utilisant l'API Steamworks (Spacewar).

La deuxième méthode est l'Auto-Cloud Steam.
L'Auto-Cloud Steam a été conçu pour les jeux plus anciens dans lesquels il n'est pas facile d'intégrer l'API du Steam Cloud. Cette méthode fournit un moyen simple et rapide de commencer, mais il lui manque la souplesse et la puissance qu'offre l'API du Steam Cloud.

Il est généralement recommandé d'utiliser l'API du Cloud quand c'est possible, pour une intégration et une personnalisation plus poussées. Elle vous permet en plus de fournir l'expérience de grande qualité du Steam Cloud à laquelle s'attendent les utilisateurs de Steam.

Auto-Cloud Steam

L'Auto-Cloud Steam est une alternative à l'API du Steam Cloud qui permet aux applications d'utiliser Steam Cloud sans écrire de code ni modifier le jeu. Cette fonction vous demande uniquement de spécifier les groupes de fichiers que vous voulez rendre persistants dans le Cloud. Steam va synchroniser automatiquement les groupes de fichiers au démarrage et à l'arrêt de l'application. Évitez les configurations spécifiques à une machine comme la qualité vidéo.

Configuration

Après avoir effectué la Configuration initiale, la section « Configuration de l'Auto-Cloud Steam » se débloquera sur la page des Paramètres du Steam Cloud.

Les chemins d'accès aux racines décrivent les groupes de fichiers qui resteront persistants sur le Steam Cloud. Chaque chemin racine peut être spécifique et diriger vers un fichier unique ou, plus largement, diriger vers tous les fichiers d'un sous-dossier donné. Utilisez un nouveau chemin pour chaque groupe de fichiers à synchroniser.

Un chemin racine est composé de 5 parties :
  1. Racine

    Voici une liste prédéterminée de chemins où se trouvent généralement les sauvegardes de jeu.
    RacineSystèmes d'exploitation pris en chargeChemin correspondant
    Répertoire d’installation de l’applicationTous[Steam Install]\SteamApps\common\[Game Folder]\
    SteamCloudDocumentsTousChemin spécifique à la plateforme, par ex. sur Linux : ~/.SteamCloud/[nom d'utilisateur]/[dossier du jeu]/
    WinMyDocumentsWindows%USERPROFILE%\My Documents\
    WinAppDataLocalWindows%USERPROFILE%\AppData\Local\
    WinAppDataLocalLowWindows%USERPROFILE%\AppData\LocalLow\
    WinAppDataRoamingWindows%USERPROFILE%\AppData\Roaming\
    WinSavedGamesWindows%USERPROFILE%\Saved Games\
    MacHomemacOS~/
    MacAppSupportmacOS~/Library/Application Support/
    MacDocumentsmacOS~/Documents/
    LinuxHomeLinux~/
    LinuxXdgDataHomeLinux$XDG\_DATA\_HOME/
  2. Sous-répertoire

    Chemin du sous-répertoire des fichiers du Cloud relatif à la racine. Utilisez « . » s'il n'existe pas de sous-dossier.

    Valeurs de chemin spécifiques à l'Auto-Cloud
    L'Auto-Cloud permet l’utilisation d’identifiants d’utilisateur Steam uniques dans le chemin d’accès du sous-répertoire. Ceci vous permet de stocker des fichiers de sauvegarde pour chaque utilisateur Steam séparément sur l'ordinateur. Vous pouvez utiliser ISteamUser::GetSteamID dans votre jeu pour obtenir le SteamID ou l'ID de compte de l'utilisateur actuel qui sera la cible de l'enregistrement et de la lecture.
    • {64BitSteamID} : utilisez cette variable dans le chemin de Steam pour insérer le SteamID 64 bits de l'utilisateur. Un ID Steam 64 bits ressemble à ceci : 76561198027391269.
    • {Steam3AccountID} : utilisez cette variable dans le chemin de Steam pour insérer l'ID de compte Steam 3 de l'utilisateur. Un ID de compte ressemble à ceci : 67125541.
    Exemple : SavesDir/{64BitSteamID}
  3. Motif

    Filtre sur le nom de fichier. Vous pouvez utiliser * comme caractère générique. Si vous voulez tous les fichiers du répertoire, utilisez seulement *.

    Exemple : *.sav
  4. Système d'exploitation

    Définit les systèmes d'exploitation depuis et vers lesquels ces fichiers seront synchronisés. Requis uniquement si les fichiers sont spécifiques à un système d'exploitation, ce qui ne devrait pas être le cas !
  5. Récursif

    Inclusion des sous-répertoires lors d'une recherche de fichiers correspondant au masque. Ceci est utile pour les sous-répertoires portant des noms non déterministes comme des noms d'utilisateur ou des ID non Steam. Si des Steam ID sont utilisés, alors il est vivement recommandé d'utiliser les valeurs de chemin spéciales dans le champ sous-répertoire.

Substitutions du chemin racine

À utiliser si votre application est multi-plateforme et nécessite différents répertoires pour chaque système d'exploitation. Vous pouvez utiliser la fonctionnalité de substitution du chemin racine pour spécifier une substitution des chemins d'accès aux racines que vous avez définis plus haut.

Les chemins d'accès aux racines indiqués ci-dessus peuvent être remplacés pour correspondre à un répertoire différent sur un autre système d'exploitation. Si l'option « Substitutions du chemin racine » est utilisée, vous devrez choisir l'option « [Tous] » dans le menu déroulant « Système d'exploitation » situé ci-dessus.

Une substitution de chemin racine comporte 5 parties.
  1. Chemin racine originel

    Ceci correspond à l'un des chemins d'accès aux racines que vous avez défini plus haut.
  2. Système d'exploitation

    Système d'exploitation auquel appliquer la substitution.
  3. Nouveau chemin racine

    Nouvel emplacement vers lequel dirige le chemin racine originel avec le système d'exploitation spécifié.
  4. Ajouter/Remplacer le chemin

    Ceci vous permet d'ajouter éventuellement un chemin de sous-répertoire qui est inséré entre le nouveau chemin racine et le sous-répertoire original.
  5. Remplacer le chemin

    Si cette option est activée, le chemin spécifié dans « Ajouter/Remplacer le chemin » remplacera entièrement le sous-répertoire originel.

Exemple : configurer l'Auto-Cloud pour les applications Unity

Voici un exemple de configuration de l'Auto-Cloud pour une utilisation avec Unity et la propriété Application.persistentDataPath où la valeur est différente suivant le système d'exploitation. La version Windows est configurée comme chemin racine avec l'entreprise définie sur DefaultCompany et le projet intitulé AutocloudSample dans Unity. Sur macOS et Linux/SteamOS, les autres chemins depuis Application.persistentDataPath sont définis dans le champ « Ajouter/remplacer le chemin » et l'option « Remplacer le chemin » est activée.

Avec ces paramètres, les fichiers de l'Auto-Cloud seront synchronisés entre les trois dossiers comme indiqué dans les prévisualisations de l'exemple.

Cloud_Unity_Auto-Cloud_Example.png

Tests avant sortie

Si vous ajoutez l'Auto-Cloud Steam à un jeu qui est déjà sorti et que vous avez activé le mode « développeur uniquement » pendant la Configuration initiale, alors vous devez suivre quelques étapes supplémentaires pour tester la fonctionnalité.
  1. Connectez-vous à Steam avec un compte qui possède une licence Developer Comp pour l'application que vous testez.
  2. Ouvrez la console Steam en vous rendant sur steam://open/console dans votre navigateur.
  3. Tapez testappcloudpaths <AppId> dans la console avec l'AppID que vous testez. Ex. : testappcloudpaths 480
  4. Tapez set_spew_level 4 4 dans la console.
  5. Lancez votre application depuis Steam.
  6. Recherchez une éventuelle activité dans la console. Si des fichiers existent déjà dans les chemins de l'Auto-Cloud, vous devriez les voir en cours de téléchargement. Sinon, enregistrez quelques fichiers de votre application, puis fermez-les pour déclencher une synchronisation.
  7. Accédez à un autre PC et répétez les étapes ci-dessus pour tester le téléchargement des fichiers depuis l'Auto-Cloud Steam.
  8. Assurez-vous de faire le test pour tous les systèmes d'exploitation pris en charge.
  9. Tapez testcloudapppaths 0 et set_spew_level 0 0 pour mettre fin au test. Vous pouvez relancer le client Steam pour ne plus voir l'onglet de la console.

N'oubliez pas de désactiver le mode « développeurs uniquement » et publiez les changements une fois le test terminé.

Débogage

Pour commencer, assurez-vous toujours d'avoir bien publié vos changements sur le site des partenaires Steam et d'avoir attendu jusqu'à 10 minutes ou relancé votre client Steam pour recevoir les changements publiés.

Si vous rencontrez un problème avec Steam Cloud, consultez le fichier journal à l'emplacement %Steam Install%\logs\cloud_log.txt.

Consultez Debugging the Steamworks API pour plus d'informations.