Steamworks 文獻庫
Valve 防作弊機制 (VAC) 與遊戲封鎖

概覽

Steam 備有多種工具,供開發者治理線上遊戲中的作弊現象。 不論您選擇整合我們的防作弊 API,還是使用您自己的處理方案,都請妥善告知您的顧客此防作弊系統存在,並準備遊戲內 UI 闡明封鎖。

想深入了解防作弊,或對常見的最佳作法有初步了解,我們推薦您觀賞 Steam Dev Days 的「多人遊戲防作弊」章節(幻燈片

https://www.youtube.com/watch?v=hI7V60r7Jco

VAC


Valve 防作弊機制(Valve Anti-Cheat,VAC)是旨在檢測使用者電腦上安裝的作弊程式的自動系統。 當使用者連上受 VAC 保護的伺服器時,如果其使用的電腦已安裝可檢測到的作弊程式,VAC 系統將禁止該使用者今後在所有受 VAC 保護的伺服器上進行該遊戲。

備註:VAC 僅檢測開發者檢舉的作弊程式。 Valve 不以自動或人工方式尋找作弊程式。

詳情請見 VAC 整合一文。

遊戲封鎖


遊戲封鎖讓您得以利用 Valve 現成的封鎖基礎架構,無需自己開發一套封鎖追蹤系統。 當您使用 ICheatReportingService/RequestPlayerGameBan Web API 封鎖一名玩家時,此封鎖將顯示在該名玩家的 Steam 個人檔案中。

最佳作法

以下為我們提供的 Steamworks 防作弊服務的最佳運用方法。 想了解更寬泛的防作弊最佳作法,請觀看上文推薦的影片。
  1. 我們強烈建議您為遊戲提供伺服器。 使用伺服器處理遊戲狀態,並且只在必要時傳輸遊戲狀態給使用者,能夠防止作弊, 例如,只在必要時傳輸玩家位置。 伺服器也可以限制提供玩家位置與其他遊戲狀態,以防止遭有心人士竄改移動速度進入無敵模式。
  2. 如果您的遊戲使用點對點模式,每個玩家都該驗證他人,防止主持人全面控制遊戲狀態,進行作弊或繞過限制。
  3. Authentication API 呼叫 ISteamGameServer::BeginAuthSession 傳回 k_EAuthSessionResponseVACCheckTimedOut 時,由於 VAC 無法驗證玩家,或玩家狀態顯示其可能正在執行作弊程式,玩家應被移踢出伺服器。
  4. 使用者遭到封鎖或被踢出伺服器時,應收到通知,明確解釋無法參與遊戲的原因 。
  5. 治理作弊是遊戲封鎖的唯一目的, 只應施加於在多人遊戲版本的內容或服務中,獲得不當競爭優勢的玩家身上。

修改防作弊政策所需權限

誰可以設定或修改我的產品的防作弊政策?
只有某些發行商帳戶有權能針對您在 Steam 上的產品啟用或調整防作弊政策。 如果您沒有下文所述的必要權限,也許最好的辦法是聯繫您的 Steamworks 管理員。他們是您的機構中有資格給予權限的人。 Steamworks 管理員名單位於 Steamworks 首頁右欄(除非您自己也是管理員)。

一個特定帳戶需要具有以下權限,才能設定或調整產品的防作弊政策:

贈送限制

啟用防作弊 API 訪問會影響遊戲的禮物副本!
玩家可以為自己的帳戶購買已啟用 VAC 或遊戲封鎖的遊戲,或者在購買時立即送出。 如果您直接贈送遊戲給已遭永久封鎖的對象,您將無法再次贈送該遊戲。

常見問答

問:VAC 封鎖或遊戲封鎖會如何影響使用者?
答:使用者受到任何一種封鎖時,會出現以下情況:
  • 帳戶無法加入自身遭封鎖的 AppID 的安全伺服器。
  • 封鎖將公開顯示於玩家的 Steam 社群個人檔案中。
  • 帳戶不能再分享已啟用 VAC 的遊戲。
  • 如果玩家是透過親友收藏庫同享取用遊戲,則遊戲的實際擁有者也會連帶遭受封鎖

詳細資訊請見我們為顧客準備的常見問答文章:Valve 防作弊系統(VAC)我被 VAC 封鎖了,以及遭遊戲開發者封鎖(遊戲封鎖)

問:我可以使用其他遊戲的封鎖來阻止使用者玩我的遊戲嗎?
答:不行。 VAC 與遊戲封鎖應只用於阻止遭封鎖的使用者在受 VAC 保護的伺服器上玩該款遊戲。 如果您發現使用者在您的遊戲中作弊,您應該只就自己的遊戲,對該使用者實施永久封鎖。