Steamworks 文獻庫
Steam DRM(數位版權管理)

英文原文已更新

本頁原文在翻譯完成後已再次更新。\r
點擊這裡檢視最新的英文版本。

總覽

Steam DRM(數位版權管理)包裝函式是 Steam 平台極為重要的一部分,它能用來確認遊戲的所有權,並能以開啟遊戲前先啟動 Steam 的方式確保 Steamworks 功能正常運作。

Steam DRM 自動包裝函式

Steam 包裝函式可使用 SteamPipe 上傳腳本進行包裝。從已登入的用戶端將初始化請求傳給 Steam 伺服器,然後經由 HTTP 將純文字的執行檔放至 Steam 的後端。包裝會在伺服器上進行,然後 steamcmd 便會下載包裝完成的執行檔。

要使用 SteamPipe 包裝 DRM,您需要登入腳本後,輸入 drm_wrap 指令:
drm_wrap [appid] [input filename] [output filename] [toolname] [flags]

參數:
  • appid - 以數字組成的應用程式 ID
  • input filename - 輸入純文字執行檔時的相對或絕對路徑。如果路徑中有空格,請記得以引號框住路徑
  • output filename - 輸出已包裝執行檔的相對或絕對路徑
  • toolname - 如是新的可攜式工具,輸入「drmtoolp」。如是舊版的 win32 工具,輸入「drmtool」
  • flags - 代表下列工具選項數字旗標的位元遮罩
  • 0 - 一般包裝(最多防護)
  • 6 - 相容模式(關閉 Steam DRM)
  • 32 - 略過偵錯檢查
  • 38 - 相容模式並略過偵錯檢查(最少防護)

以下是執行 run_build.bat 腳本登入、套用 DRM、建立並將組建上傳至 Steam(應用程式 ID 是 480)的範例:
builder\\steamcmd.exe +login mysteamaccount mysteampassword +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 包裝函式

若要快速地用 Steam 包裝函式包裝 exe,使用 Steamworks 應用程式資料管理員將遊戲的主要 exe 包裝起來。

  1. 前往應用程式管理員頁面,選擇您希望新增 DRM 的遊戲
  2. 在應用程式管理員頁面中,選擇技術工具下方的編輯 Steamworks 設定
  3. 選擇安全性分頁下的 DRM
  4. 上傳遊戲的主要 exe - 更多有關工具執行選項的說明,請見上方的自動包裝段落
  5. 將 exe 下載至您的自己的機器上
  6. 將 exe 重新命名回原來的檔名
  7. 將 exe 複製至內容工具 Depot 的來源位置中
  8. 建立一個新版本的 Depot 組建
  9. 在您的本機內容伺服器上測試 Depot

使用 Steam 包裝函式包裝其他 DRM

Steam 包裝函式能夠,並且也應該與其它 DRM 方案一起使用。方法是在套用其他任何 DRM 前,先使用 Steam 包裝函式的相容模式,便不會干擾到其它的 DRM 方案。相容模式將會關閉包裝函式的 DRM 功能。

從 Steamworks 頁面中的下拉式選單中點選相容模式,或選擇自動 drmtool 中對應的旗幟,即可以相容模式包裝 exe。

常見問題

問:我的 My C# / .Net 遊戲包裝後便無法執行
:Steam 包裝函式不支援 .Net 應用程式。請使用 SteamAPI_RestartAppIfNecessary 代替 DRM 包裝函式。

問:我的遊戲包裝後便無法執行
:Steam 包裝函式有損壞其他 DRM 工具的可能。有關可能的衝突,請見使用 Steam 包裝函式包裝其他 DRM

每次建立新組建都需要套用 DRM 嗎?
:是的,您每個希望發布的組建都需要使用 Steam 包裝函式進行包裝。您可使用上述的 Steam 自動包裝函式。