Steamworks 文獻庫
VAC 整合

目標與方法

VAC 的目標是透過嚴厲處罰作弊的使用者、讓作弊群體難以查知某種作弊方法是否已曝光等方式,堅決制止使用者使用作弊軟體。 VAC 是 Steamworks 與 Steam 用戶端的元件,在遊戲執行的同時掃描使用者的系統,尋找作弊程式。 VAC 的運作機制類似病毒偵測軟體,有一個用於檢測的已知作弊程式資料庫。 一旦偵測到作弊程式,VAC 便會標記該使用者帳戶,稍後實施封鎖。 封鎖不會在 VAC 偵測到作弊時立即生效,而是幾天後才生效。 使用者一經封鎖,便不能再與標記為安全的多人遊戲服務連接。 封鎖會綁使用者帳戶,因此使用者可脫離封鎖身份的方法只有建立新 Steam 帳戶並重新購買遊戲一途。

使用者受到 VAC 封鎖時,會發生以下情況:
  • 帳戶無法加入自身遭封鎖的 AppID 的安全伺服器
  • 封鎖將公開顯示於玩家的 Steam 社群個人檔案中
  • 帳戶不能再分享已啟用 VAC 的遊戲
  • 如果玩家是透過親友收藏庫同享取用遊戲,則遊戲的實際擁有者也會連帶遭受封鎖
詳細資訊請見我們為顧客準備的常見問答文章:Valve 防作弊系統(VAC)我被 VAC 封鎖了

需求

多人遊戲
VAC 依賴遊戲伺服器來將受 VAC 封鎖的使用者排除於遊戲之外。 因此,VAC 只對多人遊戲有效,不適用於單人遊戲。

VAC 需使用 Steamworks 驗證 API
驗證必須透過 Steam Authentication API 於遊戲用戶端中強制執行。

啟用防作弊 API
您可以透過「應用程式管理員」面板中的防作弊設定頁面進行操作。 必須啟用這些 API 才能套用遊戲封鎖,VAC 也才能偵測到您的應用程式中的作弊程式。

積極調查作弊程式的開發者
VAC 僅檢測開發者檢舉的作弊程式。 Valve 不以自動或人工方式尋找作弊程式。 請使用 ICheatReportingService/ReportCheatData Web API 檢舉作弊程式,並發送電子郵件至 valveanticheat@valvesoftware.com,幫助我們確定其特徵並將之納入作弊檢測中。

安全的遊戲伺服器

「安全」的遊戲不允許已驗明作弊的作弊者參與。 您的遊戲的各執行個體可在執行時選擇自身是否安全。 您的遊戲可自由決定採取何種政策,但遊戲通常會預設為安全,並提供使用者在不安全伺服器上進行遊戲的選項。 如此一來,便可在允許作弊者繼續玩遊戲的狀況下,將他們和其餘玩家隔離開來。 只有連上安全伺服器上的使用者會受到作弊掃描。

整合

VAC 的作弊檢測不依附於您的遊戲用戶端,而是由 Steam 執行。 遊戲應該採用最佳作法,保護其資產與內部狀態。 遊戲需要使用 Steamworks API,檢查使用者是否已遭受 VAC 封鎖。 從 ISteamUser::BeginAuthSession 而來的回呼 ISteamUser::ValidateAuthTicketResponse_t 可能傳回三種結果,皆為 VAC 獨有。 這些 VAC 特定的驗證結果如下:

相關 Web API

以下 Web API 的詳細使用方式請見 Web API 一文。