Přehled
Zaváděcí nástroj ochrany Steam DRM je důležitou součástí služby Steam, jelikož ověřuje vlastnictví hry daným uživatelem a zajišťuje správnost funkcí systému Steamworks ještě před spuštěním titulu.
Samotný zaváděcí nástroj není řešením proti pirátství, a přestože chrání před extrémně základními postupy (např. zkopírování herních souborů na jiný počítač) a poskytuje určitou úroveň zmatení, motivovaný útočník ho snadno obejde.
Hodnotu legitimních kopií tedy doporučujeme navýšit zahrnutím funkcí systému Steamworks, které na nelegitimních kopiích nebudou fungovat (např. online multiplayer, achievementy, žebříčky, sběratelské karty atp.).
Více informací o kombinaci zaváděcího nástroje ochrany Steam DRM s jinými ochranami nebo nástroji proti neoprávněným zásahům naleznete v sekci
Použití zaváděcího nástroje s jinou ochranou DRM.
Automatizovaný zaváděcí nástroj
Zaváděcí nástroj může být aplikován z nahrávacího skriptu systému SteamPipe. Tímto způsobem dojde k odeslání inicializačního požadavku na servery služby Steam a následnému předání Vašeho spustitelného souboru v podobě prostého textu do backendu služby Steam pomocí protokolu HTTP. Zavedení ochrany poté proběhne na straně serveru a konzole steamcmd si stáhne upravený spustitelný soubor.
Pro zavedení ochrany s pomocí systému SteamPipe připravte skript tak, aby provedl přihlášení a následně příkaz „drm_wrap“:
drm_wrap [ID aplikace] [název vstupního souboru] [název výstupního souboru] [název nástroje] [značky] [<cíl>]
Parametry:
- ID aplikace – Numerické ID Vaší aplikace.
- název vstupního souboru – Relativní nebo absolutní cesta ke vstupnímu spustitelnému souboru v prostém textu. Cesty nezapomeňte uzavřít do závorek!
- název výstupního souboru – Relativní nebo absolutní cesta, kam má nástroj zapsat upravený spustitelný soubor.
- název nástroje – V současné době je jedinou podporovanou hodnotou „drmtoolp“.
- značky – Bitové masky následujících numerických značek určujících chování nástroje.
- 0 – Běžné zavedení (nejvyšší ochrana)
- 6 – Režim kompatibility (bez zmatení)
- 32 – Přeskočení kontroly debuggeru
- 38 – Režim kompatibility a přeskočení kontroly debuggeru (nejnižší ochrana)
- cíl (volitelný parametr) – Hodnota „cloud“, nebo „local“. Výchozí hodnota je v současnosti „cloud“. Hodnota „local“ by neměla být potřeba, pokud tedy s druhou hodnotou nenarazíte na nějaké problémy.
Ukázka skriptu „run_build.bat“, který provede přihlášení, zavede ochranu DRM a nahraje build do služby Steam (ID aplikace je v této ukázce 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
Manuální zaváděcí nástroj
Pomocí následujících kroků zavedete ochranu do primárního spustitelného souboru hry ze správy dat aplikace v systému Steamworks:
- V systému Steamworks vyberte aplikaci, do které chcete zavést ochranu DRM.
- Na vstupní stránce této aplikace přejděte do „Technické nástroje > Nastavení v systému Steamworks“.
- V záložce „Zabezpečení“ vyberte „Ochrana DRM“.
- Nahrajte primární spustitelný soubor aplikace. Více informací o možnostech zaváděcího nástroje naleznete výše.
- Stáhněte si výsledný soubor do svého zařízení.
- Staženému souboru dejte původní název (tzn. stejný, jaký měl nahrávaný soubor).
- Soubor překopírujte do zdrojového umístění používaného úložišti.
- Vytvořte nový build úložiště.
- Otestujte úložiště na místním serveru s obsahem.
Použití zaváděcího nástroje s jinou ochranou DRM
Zaváděcí nástroj služby Steam může a měl by být používán ve spojení s jinými ochranami DRM. Abyste tak učinili, nejprve spusťte zaváděcí nástroj v režimu kompatibility a poté aplikujte všechny ostatní ochrany DRM. Tím nebudou narušeny ostatní ochrany, protože v režimu kompatibility zaváděcí nástroj sám žádnou ochranu nezavádí.
Režim kompatibility lze vybrat buď z rozbalovací nabídky v systému Steamworks, nebo specifikováním odpovídající značky v automatizovaném nástroji.
Časté dotazy
Moje hra napsaná v jazyce C# / ve frameworku .NET neběží po použití zaváděcího nástroje. Co s tím? Zaváděcí nástroj služby Steam nepodporuje aplikace na frameworku .NET. Namísto zaváděcího nástroje použijte funkci
SteamAPI_RestartAppIfNecessary.
Moje hra neběží po použití zaváděcího nástroje. Co s tím? Zaváděcí nástroj služby Steam může rozbít jiné ochrany DRM. Viz sekce
Použití zaváděcího nástroje s jinou ochranou DRM.
Musím ochranu DRM do spustitelného souboru zavést při každém vytvoření nového buildu? Ano, každý build, který se chystáte zveřejnit, musí mít zavedenou ochranu DRM.
Zjednodušte si práci tím, že použijete automatizovaný nástroj (viz výše).
Poskytovatel antivirového programu označil můj binární soubor po použití zaváděcího nástroje za virus. Co s tím? Falešně pozitivní detekce mohou nastat, jelikož proces injekce ochrany DRM modifikuje binární soubor podobně, jako to dělají viry. Ujistěte poskytovatele, že se jedná o chybu, nebo místo zaváděcího nástroje použijte funkci API.