Dokumentasi Steamworks
DRM Steam

Ringkasan

Wrapper DRM Steam adalah bagian penting dari platform Steam karena ini memverifikasi kepemilikan game dan memastikan fitur Steam berfungsi dengan benar, dengan meluncurkan Steam sebelum meluncurkan game.

Wrapper DRM Steam sendiri bukanlah solusi anti-pembajakan. Wrapper DRM Steam melindungi dari kasus pembajakan yang sangat biasa (seperti menyalin semua file game ke komputer lain) dan memberikan sedikit tantangan, tapi peretas yang terampil dapat mengatasinya dengan mudah.

Kami sarankan untuk meningkatkan nilai kopian game-mu yang sah dengan memanfaatkan fitur Steamworks yang tidak akan berfungsi pada kopian yang tidak sah (cth. fitur multipemain online, pencapaian, papan peringkat, trading card, dll.).

Lihat Menggunakan Wrapper Steam dengan DRM Lain untuk info lebih lanjut tentang menggabungkan wrapper DRM Steam dengan solusi DRM atau anti-perusakan lain.

Wrapper DRM Steam Otomatis

Steam wrapper dapat diterapkan dari skrip unggahan SteamPipe. Skrip ini membuat permintaan inisialisasi ke server Steam melalui client yang terhubung, kemudian mengirimkan file yang dapat dieksekusi dalam format teks biasa ke backend Server via HTTP. Pembungkusan dilakukan di sisi server, kemudian steamcmd mengunduh file yang dapat dieksekusi yang telah di-wrap.

Untuk melakukan wrapping DRM menggunakan SteamPipe, jalankan login dari skripmu, kemudian jalankan perintah Steam drm_wrap:
drm_wrap [appid] [input filename] [output filename] [toolname] [flags] [<destination>]

Parameter:
  • appid - ID aplikasi numerik (AppID)
  • input filename - Jalur relatif atau absolut untuk memasukkan file yang dapat dieksekusi dalam format teks. Ingat untuk lampirkan jalur yang mungkin mengandung spasi dalam tanda kutip!
  • output filename - Jalur relatif atau absolut tempat alat menulis file yang dapat dieksekusi yang telah di-wrap.
  • toolname - "drmtoolp" adalah satu-satunya parameter nama alat yang didukung pada saat ini.
  • flags - Bitmask dari tanda numerik berikut yang menunjukkan perilaku alat.
    • 0 - Normal wrap (perlindungan terbanyak)
    • 6 - Mode kompatibilitas (menonaktifkan tantangan)
    • 32 - Lewati pemeriksaan debugger
    • 38 - Mode kompatibilitas, sekaligus lewati pemeriksaan debugger (perlindungan paling sedikit)
  • destination (parameter opsional) - "cloud" atau "lokal". Default saat ini adalah "cloud". Opsi "lokal" seharusnya tidak diperlukan kecuali jika terdapat kendala saat menggunakan opsi cloud.

Contoh skrip run_build.bat untuk login, menerapkan DRM, membangun build dan mengunggahnya ke Steam (dengan AppID 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

Wrapper DRM Steam Manual

Untuk melakukan wrapping pada file yang dapat dieksekusi dengan cepat, gunakan halaman Admin Data Aplikasi Steamworks untuk wrapping file .exe utama game.

  1. Pilih game yang ingin kamu berikan DRM di halaman Admin Aplikasi
  2. Pilih Edit Pengaturan Steamworks di Bagian Alat Teknis dari halaman Admin Aplikasi
  3. Dari Tab Keamanan, pilih DRM.
  4. Unggah file .exe utama game - Lihat bagian wrapper otomatis di atas untuk info lebih lanjut tentang opsi eksekusi alat.
  5. Unduh file .exe kembali ke mesin lokalmu
  6. Ganti nama file .exe kembali ke nama aslinya
  7. Salin file. exe tersebut ke lokasi sumber depot Alat Konten
  8. Bangun versi baru depotmu
  9. Uji depot tersebut di server konten lokalmu

Menggunakan Wrapper Steam dengan DRM Lain

Wrapper Steam dapat dan harus digunakan dengan menggabungkannya dengan solusi DRM lain. Untuk melakukannya, terapkan wrapper Steam dalam mode kompatibilitas terlebih dahulu sebelum menerapkan DRM lain. Terapkan wrapper Steam terlebih dahulu untuk menghindari konflik dengna solusi DRM lain. Mode kompatibilitas akan menonaktifkan fitur DRM dari wrapper.

Kirimkan file .exe dalam mode kompatibilitas dengan memilihnya dari menu drop down di situs Steamworks atau dengan menggunakan tanda yang sesuai di alat DRM otomatis.

FAQ

Q. C#/.Net Game saya tidak dapat diluncurkan setelah menerapkan Steam wrapper.
A. Wrapper Steam tidak mendukung aplikasi .Net. Alih-alih menggunakan wrapper DRM, gunakan SteamAPI_RestartAppIfNecessary.

Q. Game saya tidak berjalan setelah menerapkan wrapper DRM Steam
A. Wrapper Steam dapat merusak alat DRM lain. Lihat Menggunakan Wrapper Steam dengan DRM Lain, untuk kemungkinan adanya konflik.

Q. Apakah saya perlu menerapkan DRM ke file .exe saya setiap kali saya membuat build baru?
A. Ya. Setiap build yang akan dipublikasikan harus di-wrap dengan wrapper Steam. Agar lebih ringkas, gunakan Wrapper Steam Otomatis seperti yang didokumentasikan di atas.

Q. Ada vendor Anti-virus yang mendeteksi virus di biner saya setelah saya menerapkan wrapper DRM Steam. Apa yang bisa saya lakukan?
A. Peringatan yang salah bisa saja muncul, karena proses injeksi DRM memodifikasi binermu dengan cara yang sama seperti yang dilakukan virus. Jangan ragu untuk menghubungi vendornya, atau gunakan API alih-alih wrapper DRM Steam.

  翻译: