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 dowiedzieć się więcej 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 [ID aplikacji] [nazwa pliku wejściowego] [nazwa pliku wyjściowego] [nazwa narzędzia] [flagi] [<miejsce docelowe>]
Parametry:
- ID aplikacji – twój identyfikator numeryczny aplikacji.
- nazwa pliku wejściowego – 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!
- nazwa pliku wyjściowego – względna lub bezwzględna ścieżka do folderu, w którym narzędzie zapisze wyjściowy opakowany plik wykonywalny.
- nazwa narzędzia – „drmtoolp” jest obecnie jedynym obsługiwanym parametrem nazwy narzędzia.
- flagi – maska bitowa następujących flag numerycznych określająca zachowanie narzędzia.
- 0 – normalny wrap (największa ochrona).
- 6 – tryb zgodności (wyłącza obfuskację).
- 32 – pominięcie sprawdzania przez debugger.
- 38 – tryb zgodności i pominięcie sprawdzania przez debugger (najmniejsza ochrona).
- miejsce docelowe, parametr opcjonalny – „cloud” lub „local”. Obecnie domyślnym parametrem jest „cloud”. Nie powinna istnieć potrzeba użycia opcji „local”, chyba że istnieją jakieś problemy z opcją „cloud”.
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 zautomatyzowanym narzędziu DRM.
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.
P: Dostawca oprogramowania antywirusowego wykrył, że mój plik binarny zawiera wirusa po zastosowaniu wrappera DRM Steam. Co mogę zrobić?O: Wykrycia fałszywie pozytywne tego typu mogą się zdarzać, ponieważ proces wstrzykiwania DRM modyfikuje twoje pliki binarne w taki sam sposób, w jaki może to robić wirus. Skontaktuj się z dostawcą oprogramowania lub użyć API zamiast wrappera DRM Steam.