Wprowadzenie
Wrapper DRM Steam jest ważną częścią platformy Steam, ponieważ weryfikuje stan posiadania gry przez użytkowników i upewnia się, że wszystkie funkcje Steamworks działają poprawnie, uruchamiając Steam przed rozpoczęciem gry.
Wrapper DRM Steam sam w sobie nie jest rozwiązaniem antypirackim. Wrapper DRM Steam chroni przed wyjątkowo częstym przypadkiem piractwa (tj. kopiowaniem wszystkich plików gry na inny komputer) i został poddany procesowi obfuskacji, ale jest łatwy do usunięcia przez osobę, która chce się go pozbyć.
Sugerujemy zwiększenie wartości legalnych kopii twojej gry dzięki funkcjom Steamworks, które nie będą działać w nieautoryzowanych kopiach (na przykład wieloosobowy tryb online, osiągnięcia, tabele wyników, karty kolekcjonerskie itp.).
Przejdź
tutaj, aby uzyskać więcej informacji o łączeniu wrappera DRM Steam z innymi podobnymi rozwiązaniami.
Zautomatyzowany wrapper DRM Steam
Wrapper Steam może zostać zastosowany z poziomu skryptu przesyłania SteamPipe. Przez to zostanie wykonane żądanie inicjalizacji do serwerów Steam za pośrednictwem zalogowanego klienta, a następnie przesłanie pliku wykonywalnego w postaci zwykłego tekstu do back-endu Steam za pośrednictwem protokołu HTTP. Wrap jest wykonywany po stronie serwera, a następnie SteamCMD pobiera opakowany plik wykonywalny.
Aby wykonać wrap DRM poprzez SteamPipe, przygotuj skrypt logowania, a następnie wykonaj polecenie drm_wrap:
drm_wrap [appid] [input filename] [output filename] [toolname] [flags] [<destination>]
Parametry:
- appid — twój identyfikator numeryczny aplikacji.
- input filename — względna lub bezwzględna ścieżka do pliku wykonywalnego w postaci zwykłego tekstu. Pamiętaj o umieszczeniu ścieżki w cudzysłowie, jeśli w ścieżce są spacje!
- output filename — względna lub bezwzględna ścieżka do folderu, w którym narzędzie zapisze wyjściowy opakowany plik wykonywalny.
- toolname - "drmtoolp" is currently the only supported toolname parameter.
- flags - Bitmask of the following numeric flags specifying tool behavior.
- 0 - Normal wrap (most protection)
- 6 - Compatibility mode (disables obfuscation)
- 32 - Skip debugger check
- 38 - compatibility mode and also skip debugger check (least protection)
- destination, optional parameter - "cloud" or "local". The current default is "local". We will be migrating this command to use cloud storage by default in the future.
Przykładowy skrypt run_build.bat z logowaniem, nakładaniem DRM oraz tworzeniem i przesyłaniem kompilacji do Steam (gdzie ID aplikacji to 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
Ręczny wrapper DRM Steam
Aby szybko opakować plik wykonywalny za pomocą wrappera Steam, przejdź do strony administratora danych aplikacji, by dokonać tego na głównym pliku exe gry.
- Wybierz grę, do której chcesz dodać DRM na stronie administratora aplikacji.
- Wybierz „Edytuj ustawienia Steamworks” w sekcji „Narzędzia techniczne” na stronie administratora aplikacji.
- Wybierz DRM z zakładki „Bezpieczeństwo”.
- Prześlij główny plik exe gry — zobacz powyższy dział o automatycznym wrapperze, by uzyskać więcej informacji na temat opcji uruchamiania narzędzia.
- Pobierz plik exe z powrotem na swój lokalny komputer.
- Zmień nazwę pliku exe, nadając mu z powrotem oryginalną nazwę.
- Skopiuj go do lokalizacji źródłowej dla twoich magazynów zawartości narzędzi treści.
- Skompiluj nową wersję swojego magazynu zawartości.
- Przetestuj ten magazyn zawartości na swoim lokalnym serwerze treści.
Używanie wrappera Steam wraz z innymi rozwiązaniami DRM
Wrapper Steam może, a nawet powinien być używany w połączeniu z innymi rozwiązaniami DRM. Aby to zrobić, zastosuj wrapper Steam w trybie zgodności przed dodaniem innych rozwiązań DRM. Zastosuj go w pierwszej kolejności, aby nie zakłócał działania innych rozwiązań DRM. Tryb zgodności wyłączy możliwości DRM wrappera.
Prześlij plik exe w trybie zgodności, wybierając go w menu rozwijanym na stronie Steamworks lub używając odpowiednich flag w automatycznym drmtool.
Najczęściej zadawane pytania
P: Moja gra korzystająca z technologii C# lub .Net nie działa po uruchomieniu wrappera Steam.O: Wrapper Steam nie obsługuje aplikacji korzystających z technologii .Net. Zamiast wrappera DRM użyj
SteamAPI_RestartAppIfNecessary.
P: Moja gra nie uruchamia się po zastosowaniu wrappera DRM Steam.O: Wrapper Steam może czasami sprawić, że inne narzędzia DRM przestaną działać. Przejdź
tutaj, gdyż mógł wystąpić konflikt.
P: Czy muszę nakładać DRM do mojego pliku exe za każdym razem, gdy tworzę nową kompilację?O: Tak. Musisz użyć wrappera Steam dla każdej kompilacji, którą chcesz opublikować. Spróbuj zautomatyzować proces, korzystając z instrukcji dotyczących procesu automatyzacji wrappera Steam powyżej.
Q. An Anti-virus vendor has detected my binary as having a virus after applying the Steam DRM wrapper. What can I do?A. False positives like this can happen, as the DRM injection process is modifying your binary in the same way a virus might do. Feel free to contact the vendor, or use the API instead of the Steam DRM wrapper.