ภาพรวม
แรปเปอร์ของ Steam DRM นั้นถือเป็นส่วนสำคัญของแพลตฟอร์ม Steam เพราะจะช่วยยืนยันการเป็นเจ้าของเกม และยืนยันว่าคุณสมบัติของ Steamworks ได้ทำงานอย่างถูกต้องด้วยการเปิดใช้งาน Steam ก่อนที่จะเปิดเกม
ตัวแรปเปอร์ DRM ของ Steam เองนั้นไม่ใช่วิธีแก้ปัญหาในการป้องกันการละเมิดลิขสิทธิ์ เนื่องจากแรปเปอร์ DRM ของ Steam นั้นปกป้องได้เพียงการละเมิดลิขสิทธิ์ในรูปแบบที่ง่ายมาก ๆ เท่านั้น (กล่าวคือ ป้องกันการคัดลอกไฟล์เกมทั้งหมดไปยังคอมพิวเตอร์เครื่องอื่น) และสามารถสร้างความสับสนให้กับผู้จู่โจมได้พอสมควร แต่ผู้จู่โจมที่ตั้งใจจริง ๆ ก็สามารถหลบเลี่ยงการป้องกันนี้ได้โดยง่าย
เราแนะนำให้คุณเพิ่มคุณค่าเกมของแท้โดยใช้คุณสมบัติ Steamworks ที่ไม่มีในเกมที่ละเมิดลิขสิทธิ์ (เช่น การเล่นเกมกับผู้เล่นหลายคนทางออนไลน์ รางวัลความสำเร็จ กระดานผู้นำ การ์ดสะสม เป็นต้น)
กรุณาอ่าน
การใช้แรปเปอร์ของ Steam กับ DRM ตัวอื่น ๆ เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับการนำแรปเปอร์ DRM ของ Steam มาใช้งานร่วมกัน DRM หรือวิธีการป้องกันการละเมิดลิขสิทธิ์อื่น ๆ
แรปเปอร์ของ Steam DRM ที่ทำงานโดยอัตโนมัติ
คุณจะสามารถบังคับใช้งานแรปเปอร์ของ Steam ได้จากภายในสคริปต์การอัปโหลดของ SteamPipe ของคุณ โดยการใช้งานนี้จะดำเนินการร้องขอการเปิดใช้งานไปยังเซิร์ฟเวอร์ของ Steam ผ่านทางไคลเอนต์ที่ได้ลงชื่อเข้าใช้งาน แล้วจากนั้นจะโพสต์ Executable แบบข้อความธรรมดาไปยังระบบแบ็กเอนด์ของ Steam ผ่านทางโปรโตคอล HTTP การแรปจะดำเนินการอยู่ในเซิร์ฟเวอร์ แล้วจากนั้น steamcmd จะดาวน์โหลด Executable ที่ถูกแรปมาแล้ว
ในการแรป DRM ด้วย SteamPipe ให้สคริปต์ของคุณเข้าสู่ระบบ จากนั้นให้เรียกใช้คำสั่ง drm_wrap Steam:
drm_wrap [appid] [input filename] [output filename] [toolname] [flags] [<destination>]
พารามิเตอร์:
- appid - ตัวเลขไอดีของแอปพลิเคชันของคุณ
- input filename - ตำแหน่งแบบสัมพันธ์หรือสัมบูรณ์ที่จะอินพุตตัวโปรแกรมแบบข้อความธรรมดา กรุณาอย่าลืมใส่เครื่องหมายคำพูดให้กับตำแหน่งที่อาจจะมีช่องว่างอยู่!
- output filename - ตำแหน่งแบบสัมพันธ์หรือสัมบูรณ์ที่เครื่องมือจะเขียนตัวโปรแกรมที่แรปด้วยผลลัพธ์
- 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". ค่าเริ่มต้นในปัจจุบันคือ "คลาวด์" ไม่จำเป็นต้องใช้ตัวเลือก "ภายใน" เว้นแต่จะประสบปัญหาใด ๆ ในการใช้ตัวเลือกคลาวด์
ตัวอย่าง เรียกใช้สคริปต์ 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
แรปเปอร์ของ Steam DRM ที่ต้องสั่งใช้งานเอง
เพื่อการแรป 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 ที่ทำงานโดยอัตโนมัติ ดังที่ได้ลงรายละเอียดไว้ให้แล้วทางด้านบน
ถาม: ผู้จำหน่ายโปรแกรมป้องกันไวรัสตรวจพบว่าไบนารีของฉันมีไวรัสหลังจากที่ใช้แรปเปอร์ของ Steam DRM ฉันควรทำอย่างไร?ตอบ: ผลตรวจเท็จแบบนี้อาจเกิดขึ้นได้ เนื่องจากกระบวนการปรับใช้ DRM เพื่อแก้ไขไบนารีของคุณมีวิธีการแบบเดียวกันกับที่ไวรัสทำ Feel free to contact the vendor, or use the API instead of the Steam DRM wrapper.