Documentation Steamworks
GDN Steam

Présentation

L'encapsuleur GDN Steam est une partie importante de la plateforme Steam : il vérifie que le compte possède bien le jeu et s'assure que les fonctionnalités de Steamworks fonctionnent correctement en exécutant d'abord Steam avant de lancer le jeu.

L'encapsuleur GDN Steam n'est pas en soi une solution de lutte contre le piratage. L'encapsuleur GDN Steam ne protège que contre les techniques de piratage rudimentaires (par exemple, copier l'ensemble des fichiers d'un jeu vers un autre ordinateur) et il dispose de capacités de dissimulation limitées, mais une personne malintentionnée et motivée s'en débarrassera facilement.

Nous vous suggérons d'améliorer la valeur des copies légitimes de votre jeu en utilisant des fonctionnalités Steamworks qui ne fonctionneront pas sur les copies non légitimes (par exemple, un mode de jeu multijoueur en ligne, des succès, des classements, des cartes à échanger, etc.).

Consultez la section Utiliser l'encapsuleur Steam avec d'autres solutions de GDN pour plus d'informations sur l'association de l'encapsuleur GDN Steam à d'autres outils de gestion des droits numériques (GDN ou DRM en anglais) ou à des solutions antialtération.

Encapsuleur GDN Steam automatisé

L'encapsuleur Steam peut être appliqué depuis votre script de téléchargement SteamPipe. Ce script effectue une requête d'initialisation auprès des serveurs Steam via le client connecté, puis envoie votre exécutable en plaintext vers l'interface serveur via HTTP. L'encapsulation est effectuée du côté du serveur. Ensuite, steamcmd télécharge l'exécutable encapsulé.

Pour effectuer une encapsulation GDN avec SteamPipe, connectez votre script, puis lancez la commande Steam  :
drm_wrap [appid] [input filename] [output filename] [toolname] [flags] [<destination>]

Paramètres :
  • appid - ID numérique de votre application.
  • input filename - Chemin relatif ou absolu pour entrer un exécutable en plaintext. N'oubliez pas d'indiquer les chemins qui peuvent contenir des espaces !
  • output filename - Chemin relatif ou absolu où l'outil va écrire l'exécutable encapsulé sorti.
  • toolname - « drmtoolp » est actuellement le seul paramètre toolname pris en charge.
  • flags  - Masque de bits des indicateurs numériques suivants spécifiant le comportement de l'outil :
    • 0 - encapsulation normale (protection la plus élevée) ;
    • 6 - mode compatibilité (désactive la dissimulation) ;
    • 32 - omission de l'étape de vérification du débogueur ;
    • 38 - mode compatibilité et omission de l'étape de vérification du débogueur (protection la plus faible).
  • destination (paramètre facultatif) - « cloud » ou « local ». La valeur par défaut actuelle est « cloud ». L'option « local » ne devrait pas être nécessaire sauf en cas de problème avec l'option « cloud ».

Exemple : lancez le script run_build.bat pour vous connecter, appliquez les MTP, compilez et mettez en ligne la version sur Steam (ici, l'AppID est 480) :
builder\steamcmd.exe +login mysteamaccount +drm_wrap 480 "D:\src\steamworkssdk\steamworksexample\release\steamworksexample.exe" "D:\src\steamworkssdk\tools\ContentBuilder\content\windows_content\SteamworksExample.exe" drmtoolp 0 +run_app_build ..\scripts\app_build_480.vdf +quit

Encapsuleur GDN Steam manuel

Pour encapsuler rapidement un exécutable avec l'encapsuleur Steam, utilisez la page d'administration des données d'application de Steamworks pour encapsuler l'exécutable principal du jeu.

  1. Sélectionnez le jeu auquel vous voulez ajouter la GDN sur la page d'administration de votre application.
  2. Sélectionnez « Modifier les paramètres Steamworks » dans la section « Outils techniques » de la page d'administration de l'application.
  3. Depuis l'onglet « Sécurité », sélectionnez GDN.
  4. Téléchargez l'exécutable principal du jeu. Veuillez consulter la section « Encapsuleur GDN Steam automatisé » plus haut pour plus d'informations sur les options d'exécution de l'outil.
  5. Retéléchargez l'exécutable sur votre machine locale.
  6. Renommez l'exécutable par son nom d'origine.
  7. Copiez-le vers l'emplacement source de vos dépôts d'outils de contenu.
  8. Construisez une nouvelle version de votre dépôt.
  9. Testez ce dépôt sur votre serveur de contenu local.

Utiliser l'encapsuleur Steam avec d'autres solutions de GDN

L'encapsuleur Steam peut et doit être utilisé avec d'autres solutions de GDN. Pour ce faire, appliquez d'abord l'encapsuleur Steam en mode compatibilité avant d'appliquer une autre solution de GDN. Ainsi, il n'interfèrera pas avec la solution de GDN. Le mode compatibilité va désactiver les capacités de GDN de l'encapsuleur.

Soumettez l'exécutable en mode compatibilité soit en le sélectionnant dans le menu déroulant de la page Steamworks, soit en utilisant les indicateurs appropriés dans le drmtool automatisé.

FAQ

Q. Mon jeu C#/.Net ne se lance pas après l'application de l'encapsuleur Steam.
R. L'encapsuleur Steam n'est pas compatible avec les applications .Net. Au lieu d'utiliser l'encapsuleur GDN, utilisez SteamAPI_RestartAppIfNecessary.

Q. Mon jeu ne se lance pas après l'application de l'encapsuleur GDN Steam.
R. L'encapsuleur Steam peut empêcher d'autres outils de GDN de fonctionner. Veuillez consulter la section Utiliser l'encapsuleur Steam avec d'autres solutions de GDN, car il peut y avoir un conflit.

Q. Ai-je besoin d'appliquer des GDN à mon exécutable chaque fois que je sors une nouvelle version ?
R. Oui. Chaque version que vous comptez publier doit être encapsulée avec l'encapsuleur Steam. Essayez d'automatiser cette tâche en utilisant le processus d'encapsuleur Steam automatisé décrit plus haut.

Q. Un antivirus m'a signalé que mon fichier binaire contenait un virus après l'application de l'encapsuleur GDN Steam. Que puis-je faire ?
R. Les faux positifs comme celui-ci se produisent parce que le processus d'insertion d''une GDN modifie votre fichier binaire comme le ferait un virus. Contactez l'équipe de développement de l'antivirus, ou utilisez l'API plutôt que l'encapsuleur GDN Steam.