Steamworks dokumentáció
Steam DRM

Áttekintés

A Steam DRM wrapper fontos része a Steam platformnak, mert az ellenőrzi a játékbirtoklást, és biztosítja a Steamworks funkciók megfelelő működését a Steam elindításával a játék elindítása előtt.

A Steam DRM wrapper önmagában nem kalózkodás elleni megoldás. A Steam DRM wrapper a rendkívül egyszerű kalózkodás ellen (pl. az összes játékfájl másik számítógépre másolása) véd, és végez némi értelmezhetetlenné tételt (obfuscation), de egy motivált támadó könnyen el tudja távolítani.

Javasoljuk, hogy növeld játékod legális példányainak értékét olyan Steamworks funkciók használatával, amelyek nem legális példányokon nem fognak működni (pl. online többjátékos mód, teljesítmények, ranglisták, játékkártyák stb.).

További információkért a Steam DRM wrapper kombinálásáról más DRM vagy módosítás elleni megoldásokkal lásd A Steam wrapper használata más DRM-ekkel szakaszt.

Automatizált Steam DRM wrapper

A Steam wrappert hozzá lehet adni a SteamPipe feltöltési parancsfájlodból. Ez inicializálási kérelmet hajt végre a Steam szerverek felé a bejelentkezett kliensen keresztül, majd HTTP-n keresztül elküldi a módosítatlan végrehajtható fájlodat a Steam háttérszolgáltatásnak. A becsomagolás szerveroldalon történik, majd a steamcmd letölti a becsomagolt futtatható fájlt.

DRM csomagolás végrehajtásához SteamPipe használatával a parancsfájlod jelentkezzen be, majd futtassa a drm_wrap Steam parancsot:
drm_wrap [AppID] [bemeneti fájlnév] [kimeneti fájlnév] [eszköznév] [jelölők] [cél]

Paraméterek:
  • AppID – A numerikus alkalmazásazonosítód.
  • Bemeneti fájlnév – A módosítatlan bemeneti végrehajtható fájl relatív vagy abszolút elérési útja. A szóközt tartalmazó útvonalakban ne felejts idézőjelet használni.
  • Kimeneti fájlnév – A relatív vagy abszolút elérési út, ahová az eszköz a kimeneti csomagolt végrehajtható fájlt írja.
  • Eszköznév – Jelenleg a "drmtoolp" az egyetlen támogatott eszköznév paraméter.
  • Jelölők – Az eszköz viselkedését az alábbi numerikus jelölőkkel meghatározó bitmaszk.
    • 0 – Normál csomagolás (legnagyobb védelem).
    • 6 – Kompatibilitási mód (értelmezhetetlenné tétel kikapcsolva).
    • 32 – Hibakereső-ellenőrzés kihagyása.
    • 38 – Kompatibilitási mód és a hibakereső-ellenőrzés kihagyása (legkisebb védelem).
  • Cél (elhagyható paraméter) – "cloud" vagy "local". Jelenleg a "cloud" az alapértelmezett. A "local" beállításra nem lehet szükség, hacsak nem merül fel probléma a "cloud" beállítás használatakor.

Példa run_build.bat parancsfájl bejelentkezéshez, a DRM alkalmazásához és a build elvégzéséhez majd a feltöltéshez a Steamre (a 480-as AppID-vel):
builder\steamcmd.exe +login azénsteamfiókom +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

Kézi Steam DRM wrapper

Egy .exe gyors becsomagolásához a Steam wrapperrel használd a Steamworks alkalmazásadat-adminisztrációs oldalát az elsődleges játék .exe becsomagolásához.

  1. Az alkalmazás-adminisztrációs oldalon válaszd ki a játékot, amelyhez DRM-et akarsz adni.
  2. Az alkalmazás-adminisztrációs oldal Technikai eszközök szakaszában válaszd a Steamworks beállítások szerkesztése lehetőséget.
  3. A Biztonság fülön válaszd a DRM-et.
  4. Töltsd fel az elsődleges játék .exe-t. Az eszköz további végrehajtási beállításaiért nézd meg a fenti automatizált wrapper szakaszt.
  5. Töltsd le az .exe-t a helyi gépedre.
  6. Nevezd vissza az .exe-t az eredeti nevére.
  7. Másold be a Tartalomeszközök depód forráshelyére.
  8. Építs új verziót a depódból.
  9. Teszteld ezt a depót a helyi tartalomszervereden.

A Steam wrapper használata más DRM-ekkel

A Steam wrappert lehet, és érdemes is más DRM megoldásokkal kombinálva használni. Ehhez először alkalmazd a Steam wrappert kompatibilitási módban, mielőtt bármilyen más DRM-et alkalmaznál. Azért alkalmazd azt először, hogy ne zavarja a DRM megoldást. A kompatibilitási mód letiltja a wrapper DRM képességeit.

Az .exe kompatibilitási módban beküldéséhez vagy válaszd ki ezt a Steamworks oldal legördülő menüjéből, vagy használd a megfelelő jelölőket az automatizált drmtool-ban.

Gyakran ismételt kérdések

K.: A C# / .Net játékom nem fut a Steam wrapper alkalmazása után.
V.: A Steam wrapper nem támogatja a .Net alkalmazásokat. A DRM wrapper használata helyett használd a SteamAPI_RestartAppIfNecessary-t.

K.: A játékom nem fut a Steam DRM wrapper alkalmazása után.
V.: A Steam wrapper elronthat más DRM eszközöket. Nézd meg A Steam wrapper használata más DRM-ekkel szakaszt, mivel lehet, hogy ütközés áll fenn.

K.: Valahányszor új buildet készítek, alkalmaznom kell a DRM-et az .exe-mre?
V.: Igen, minden közzétenni kívánt buildedet be kell csomagolni a Steam wrapperrel. Próbáld meg automatizálni a fent leírt Automatizált Steam wrapper folyamat használatával.

K.: Egy víruskereső a Steam DRM wrapper alkalmazása után vírust tartalmazónak észlelte a futtatható állományomat. Mit tudok tenni?
V.: Ilyen téves pozitív jelentések előfordulhatnak, mivel a DRM injektálási eljárás ugyanolyan módon módosítja a futtatható fájlodat, ahogyan egy vírus tenné. Fordulj a víruskereső fejlesztőjéhez, vagy használd az API-t a DRM wrapper helyett.