Documentation Steamworks
GDN Steam

Présentation

L'encapsuleur DRM 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 DRM Steam n'est pas en soi une solution de lutte contre le piratage. L'encapsuleur DRM 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 un(e) pirate émérite 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 DRM pour plus d'informations sur l'association de l'encapsuleur DRM Steam à d'autres mesures techniques de protection (MTP) de gestion des droits numériques (GDN ou DRM en anglais) ou à des solutions antialtération.

Encapsuleur DRM 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] [nom de fichier d'entrée] [nom de fichier de sortie] [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 optionnel) - « 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 DRM 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'exe principal du jeu. Veuillez consulter la section « Encapsuleur DRM Steam automatisé » plus haut pour plus d'informations sur les options d'exécution de l'outil.
  5. Retéléchargez l'exe sur votre machine locale.
  6. Renommez l'exe 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 DRM

L'encapsuleur Steam peut et doit être utilisé avec d'autres solutions de DRM. Pour ce faire, appliquez d'abord l'encapsuleur Steam en mode compatibilité avant d'appliquer d'autres DRM. Appliquez-les d'abord pour qu'ils n'interfèrent pas avec la solution DRM. Le mode compatibilité va désactiver les capacités DRM 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 marqueurs 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 DRM, utilisez SteamAPI_RestartAppIfNecessary.

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

Q. Ai-je besoin d'appliquer des DRM à 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 DRM Steam. Que puis-je faire ?
R. Les faux positifs comme celui-ci se produisent parce que le processus d'insertion DRM 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 DRM Steam.