ภาพรวม
ตัวแรป DRM ของ Steam ถือเป็นส่วนสำคัญของแพลตฟอร์ม Steam เพราะจะช่วยยืนยันการเป็นเจ้าของเกม และยืนยันว่าคุณสมบัติของ Steamworks ทำงานได่อย่างถูกต้องด้วยการเปิดใช้งาน Steam ก่อนที่จะเปิดเกม
ตัวแรป DRM ของ Steam เองนั้นไม่ใช่วิธีแก้ปัญหาในการป้องกันการละเมิดลิขสิทธิ์ เนื่องจากตัวแรป DRM ของ Steam นั้นปกป้องได้เพียงการละเมิดลิขสิทธิ์ในรูปแบบที่ง่ายมาก ๆ เท่านั้น (กล่าวคือ ป้องกันการคัดลอกไฟล์เกมทั้งหมดไปยังคอมพิวเตอร์เครื่องอื่น) และสามารถสร้างความสับสนให้กับผู้จู่โจมได้พอสมควร แต่ผู้จู่โจมที่ตั้งใจจริง ๆ ก็สามารถหลบเลี่ยงการป้องกันนี้ได้โดยง่าย
เราแนะนำให้คุณเพิ่มคุณค่าเกมของแท้โดยใช้คุณสมบัติ Steamworks ที่ไม่มีในเกมที่ละเมิดลิขสิทธิ์ (เช่น การเล่นเกมกับผู้เล่นหลายคนทางออนไลน์ รางวัลความสำเร็จ กระดานผู้นำ การ์ดสะสม เป็นต้น)
โปรดอ่าน
การใช้ตัวแรปของ Steam กับ DRM อื่น ๆเพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับการนำตัวแรป DRM ของ Steam ไปใช้ร่วมกับ DRM หรือวิธีการป้องกันการละเมิดลิขสิทธิ์อื่น ๆ
ตัวแรป DRM ของ Steam แบบทำงานโดยอัตโนมัติ
คุณจะสามารถบังคับใช้งานตัวแรป DRM ของ Steam ได้จากภายในสคริปต์การอัปโหลดของ SteamPipe ของคุณ โดยการใช้งานนี้จะดำเนินการร้องขอการเปิดใช้งานไปยังเซิร์ฟเวอร์ของ Steam ผ่านทางไคลเอนต์ที่ได้ลงชื่อเข้าใช้งาน แล้วจากนั้นจะโพสต์ Executable แบบข้อความธรรมดาไปยังระบบแบ็กเอนด์ของ Steam ผ่านทางโปรโตคอล HTTP การแรปจะดำเนินการอยู่ในเซิร์ฟเวอร์ แล้วจากนั้น steamcmd จะดาวน์โหลด Executable ที่ถูกแรปมาแล้ว
ในการใช้งานตัวแรปของ DRM ด้วย SteamPipe คุณต้องมีสคริปต์เข้าสู่ระบบของคุณ จากนั้นให้เรียกใช้คำสั่ง drm_wrap Steam:DRM
drm_wrap [appid] [input filename] [output filename] [toolname] [flags] [<destination>]
พารามิเตอร์:
- appid - ตัวเลขไอดีของแอปพลิเคชันของคุณ
- input filename - ตำแหน่งแบบสัมพันธ์หรือสัมบูรณ์ที่จะอินพุตตัวโปรแกรมแบบข้อความธรรมดา โปรดอย่าลืมใส่เครื่องหมายคำพูดให้กับตำแหน่งที่อาจจะมีช่องว่างอยู่!
- output filename - ตำแหน่งแบบสัมพันธ์หรือสัมบูรณ์ที่เครื่องมือจะเขียนตัวโปรแกรมที่แรปด้วยผลลัพธ์
- toolname - ขณะนี้ "drmtoolp" เป็นพารามิเตอร์ toolname รายการเดียวที่ได้รับการรองรับ
- flags - บิตมาสก์ของแฟล็กตัวเลขต่อไปนี้ที่จะกำหนดพฤติกรรมของเครื่องมือ
- 0 - แรปแบบธรรมดา (ให้การปกป้องมากที่สุด)
- 6 - โหมดความเข้ากันได้ (ปิดการใช้งานระบบสร้างความสับสน)
- 32 - ข้ามการตรวจสอบด้วยเครื่องมือดีบัก
- 38 - โหมดความเข้ากันได้ และข้ามการตรวจสอบด้วยเครื่องมือดีบัก (ให้การปกป้องน้อยที่สุด)
- จุดหมาย, พารามิเตอร์ที่เป็นตัวเลือกเสริม - "คลาวด์" หรือ "ภายใน" ค่าเริ่มต้นในปัจจุบันคือ "คลาวด์" ไม่จำเป็นต้องใช้ตัวเลือก "ภายใน" เว้นแต่จะประสบปัญหาใด ๆ ในการใช้ตัวเลือกคลาวด์
ตัวอย่าง เรียกใช้สคริปต์ run_build.bat เพื่อเข้าสู่ระบบ จากนั้นสั่งใช้งาน DRM สร้างบิลด์ แล้วก็อัปโหลดบิลด์ดังกล่าวไปยัง Steam (ที่ไอดีแอปมีค่าเป็น 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
ตัวแรป DRM ของ Steam แบบสั่งใช้งานเอง
เพื่อการแรป exe อย่างรวดเร็ว ตัวแรปของ Steam จะใช้งานหน้าผู้ดูแลข้อมูลแอป Steamworks เพื่อแรป exe หลักของเกม
- เลือกเกมที่คุณต้องการจะเพิ่ม DRM เข้าไปให้ที่หน้าผู้ดูแลแอปของคุณ
- เลือก แก้ไขการตั้งค่า Steamworks ในหัวข้อเครื่องมือทางเทคนิคของหน้าผู้ดูแลแอป
- ที่แท็บการรักษาความปลอดภัย เลือก DRM
- อัปโหลด exe หลักของเกม - หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกการใช้งานเครื่องมือนั้น โปรดอ่านหัวข้อตัวแรปที่ทำงานโดยอัตโนมัติข้างต้น
- ดาวน์โหลด exe กลับมายังเครื่องภายในของคุณ
- เปลี่ยนชื่อ exe กลับไปเป็นชื่อเดิม
- คัดลอก exe ดังกล่าวไปยังตำแหน่งต้นทางสำหรับดีโปต์เครื่องมือเนื้อหาของคุณ
- สร้างดีโปต์เวอร์ชันใหม่ของคุณ
- ทดสอบดีโปดังกล่าวในเซิร์ฟเวอร์เนื้อหาภายในเครื่องของคุณ
การใช้ตัวแรปของ Steam กับ DRM อื่น ๆ
ตัวแรปของ Steam สามารถใช้งานร่วมและควรจะใช้งานไปพร้อม ๆ กับ DRM ประเภทอื่น ในการใช้งานนั้น คุณจะต้องบังคับใช้งานตัวแรปของ Steam ในโหมดความเข้ากันได้เสียก่อน แล้วจึงค่อยบังคับใช้งาน DRM ตัวอื่น ๆ ที่ต้องบังคับใช้งานก่อนก็เพราะเพื่อไม่ให้ไปสร้างความรบกวนกับโซลูชัน DRM ตัวอื่น ๆ ส่วนโหมดความเข้ากันได้จะปิดความสามารถด้าน DRM ของตัวแรป
ให้นำส่ง exe ในโหมดความเข้ากันได้ ด้วยการเลือกจากเมนูเลื่อนลงในหน้าเว็บ Steamworks หรือใช้แฟล็กที่เหมาะสมใน drmtool แบบทำงานโดยอัตโนมัติ
คำถามที่พบบ่อย
ถาม: เกม C# / .Net ของฉันไม่ยอมทำงานหลังจากที่มีการใช้งานตัวแรปของ Steam แล้วตอบ: ตัวแรปของ Steam ไม่ให้การรองรับแอปพลิเคชันตระกูล .Net แทนที่จะใช้ตัวแรปของ DRM ให้ใช้
SteamAPI_RestartAppIfNecessary แทน
ถาม: เกมของฉันไม่ยอมทำงานหลังจากที่มีการใช้งานตัวแรป DRM ของ Steam แล้วตอบ: ตัวแรปของ Steam สามารถขัดขวางการทำงานของเครื่องมือ DRM ตัวอื่น ๆ ได้ ลองอ่านข้อมูลที่
การใช้ตัวแรปของ Steam กับ DRM อื่น ๆ เพราะเป็นไปได้ว่าอาจจะเกิดความขัดแย้งกัน
ถาม: ฉันจำเป็นจะต้องสั่งใช้งาน DRM ให้กับ exe ของฉันทุกครั้งที่ฉันสร้างบิลด์ใหม่หรือไม่?ตอบ: จำเป็น เพราะบิลด์แต่ละบิลด์ที่คุณจะเผยแพร่นั้นจำเป็นจะต้องถูกแรปด้วยตัวแรปของ Steam แนะนำให้ลองสั่งให้ดำเนินการโดยอัตโนมัติด้วยการใช้กระบวนการตัวแรปของ Steam ที่ทำงานโดยอัตโนมัติ ดังที่ได้ลงรายละเอียดไว้ให้แล้วทางด้านบน
ถาม: ผู้จำหน่ายโปรแกรมป้องกันไวรัสตรวจพบว่าไบนารีของฉันมีไวรัสหลังจากที่ใช้ตัวแรป DRM ของ Steam ฉันควรทำอย่างไร?ตอบ: ผลตรวจเท็จแบบนี้อาจเกิดขึ้นได้ เนื่องจากกระบวนการปรับใช้ DRM เพื่อแก้ไขไบนารีของคุณมีวิธีการแบบเดียวกันกับที่ไวรัสทำ คุณสามารถติดต่อผู้จำหน่ายโปรแกรมป้องกันไวรัส หรือใช้ API แทนการใช้แตัวแรป DRM ของ Steam ได้