Documentation Steamworks
DRM Steam

Présentation

L'encapsuleur DRM Steam est une partie importante de la plateforme Steam, car il vérifie que l'utilisateur possède le jeu et s'assure que les fonctionnalités de Steamworks fonctionnent correctement en lançant 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 le piratage extrêmement ordinaire (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 pirate motivé s'en débarrassera facilement.

Nous vous suggérerons 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 multijoueurs 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 DRM ou à des solutions anti-alté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 des DRM 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]

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 » pour le nouvel outil portable. « drmtool » pour l'ancien outil win32.
  • flags - Masque des marqueurs numériques spécifiant le comportement de l'outil.
  • 0 - Encapsulation normale (protection la plus élevée)
  • 6 - Mode compatibilité (désactive la dissimulation)
  • 32 - Omettre l'étape de vérification du debugger
  • 38 - Mode compatibilité et omission de l'étape de vérification du debugger (protection la plus faible)

Exemple : lancez le script run_build.bat pour vous connecter, appliquez les DRM, construisez et téléchargez la version dans Steam (où l'AppID est 480) :
builder\steamcmd.exe +login mysteamaccount mysteampassword +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 des DRM 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 DRM.
  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.