Steamworks-dokumentation
Steam-DRM

Oversigt

Steam-DRM-wrapperen er en vigtig del af Steam-platformen, fordi den bekræfter spillets ejerskab og sikrer, at Steamworks-funktioner virker korrekt ved at køre Steam, før du starter spillet.

Steam-DRM-wrapperen alene er ikke en løsning til at undgå piratkopiering af software. Steam-DRM-wrapperen beskytter mod meget enkle former for piratkopiering (dvs. kopiering af alle spilfiler til en anden computer) og giver noget sløring, men den kan nemt fjernes af en motiveret attacker.

Vi foreslår, at du øger værdien af legitime kopier af dit spil ved at bruge Steamworks-funktioner, som ikke virker på ulovlige kopier (for eksempel online multiplayer, præstationer, førertavler, byttekort osv.).

Se Brug af Steam-wrapperen med andre DRM-løsninger for at få flere oplysninger om at kombinere Steam-DRM-wrapperen med andre DRM-løsninger eller foranstaltninger mod ulovlige indgreb.

Automatisk Steam-DRM-wrapper

Steam-wrapperen kan anvendes fra dit SteamPipe-uploadscript. Dette resulterer i en initialiseringsanmodning til Steam-serverne via klienten, som er logget ind, hvorefter din eksekverbare fil i tekstformat sendes til Steams backend via HTTP. Indpakningen udføres på serversiden, og derefter downloader steamcmd den indpakkede eksekverbare fil.

For at udføre en DRM-wrap med SteamPipe skal du logge ind med dit script og derefter køre Steam-kommandoen drm_wrap:
drm_wrap [appid] [input filename] [output filename] [toolname] [flags]

Parametre:
  • appid – dit numeriske applikations-ID
  • input filename – relativ eller absolut sti til input af eksekverbar fil i tekstformat. Stier, der indeholder mellemrum, skal sættes i anførselstegn!
  • output filename – relativ eller absolut sti, hvor værktøjet skal skrive den indpakkede eksekverbare outputful.
  • toolname – "drmtoolp" for det nye flytbare værktøj. "drmtool" for det gamle win32-værktøj.
  • flags – bitmaske for de følgende numeriske flag til angivelse af værktøjsadfærd.
  • 0 – normal wrap (størst beskyttelse)
  • 6 – kompatibilitetstilstand (deaktiverer obfuskation)
  • 32 – spring fejlfindingstjek over
  • 38 – kompatibilitetstilstand + spring fejlfindingstjek over (mindst beskyttelse)

Eksempel på et run_build.bat-script, der logger ind og anvender et DRM-build og uploader buildet til Steam (hvor app-ID'et er 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

Manuel Steam-DRM-wrapper

For hurtigt at ombryde en .exe-fil med Steam-wrapperen skal du bruge siden "Administration af appdata" i Steamworks for at ombryde spillets primære .exe-fil.

  1. Vælg det spil, du vil føje DRM til, på siden "App-administrator"
  2. Vælg "Rediger Steamworks-indstillinger" i sektionen om tekniske værktøjer på siden "App-administrator".
  3. Fra fanen "Sikkerhed" skal du vælge "DRM".
  4. Upload spillets .exe-fil – se sektionen om automatisk wrapper ovenfor for at få flere oplysninger om udførelsesmuligheder for dette værktøj.
  5. Download .exe-filen til din lokale maskine igen.
  6. Omdøb .exe-filen til det originale navn igen.
  7. Kopiér den til kildeplaceringen for dine depoter til indholdsværktøjer.
  8. Byg en ny version af dit depot.
  9. Test dette depot på din lokale indholdsserver.

Brug af Steam-wrapperen med andre DRM-løsninger

Steam-wrapperen kan og bør bruges sammen med andre DRM-løsninger. For at gøre dette skal du først anvende Steam-wrapperen i kompatibilitetstilstand, før du anvender andre DRM-løsninger. Anvend den først, så den ikke forstyrrer DRM-løsningen. Kompatibilitetstilstanden deaktiverer wrapperens DRM-funktioner.

Indsend .exe-filen i kompatibilitetstilstand ved enten at vælge det i rullemenuen på Steamworks-siden eller ved at bruge de relevante flag i det automatiske DRM-værktøj.

Ofte stillede spørgsmål

Sp. C# / .Net-fpil kan ikke køre efter anvendelse af Steam-wrapperen.
Sv. Steam-wrapperen understøtter ikke .Net-applikationer. I stedet for at bruge DRM-wrapperen skal du bruge SteamAPI_RestartAppIfNecessary.

Sp. Mit spil kan ikke køre efter anvendelse af Steam-DRM-wrapperen
Sv. Steam-wrapperen kan påvirke andre DRM-værktøjer. Læs Brug af Steam-wrapperen med andre DRM-løsninger for at se, om der er en konflikt.

Sp. Skal jeg anvende DRM på min .exe-fil, hver gang jeg laver et nyt build?
Sv. Ja, hvert build du vil udgive skal ombrydes med Steam-wrapperen. Prøv at automatisere det ved at bruge processen beskrevet ovenfor i sektionen "Automatisk Steam-DRM-wrapper".