Steamworks ドキュメンテーション
VAC統合

目的と方法

VACでは、チート(不正行為)が発覚した際に厳しい罰則を科すこと、および不正行為を働くコミュニティに対して、不正行為が検出されていることを感知させないようにすることによって、不正ソフトウェアの使用を阻止することを目標としています。 VACはSteamworksとSteamクライアントのコンポーネントで、ゲームの実行中にユーザーシステムの不正行為をスキャンすることで動作します。 これはウイルススキャンとよく似た働きをし、既知のチートを検知するデータベースを有しています。 チートが検出されると、ユーザーのアカウントには、禁止前のマークが付きます。 禁止措置は直ちに適用される訳ではなく、チートが検出されてから数日後に適用されます。 ユーザーが禁止処分を受けると、そのユーザーは保護されたマルチプレイヤーゲームサーバーに接続できなくなります。 禁止措置はユーザーのアカウントに対して科されるため、新しいSteamアカウントを作成し、もう一度ゲームを購入しない限り、ユーザーが禁止から逃れることはできません。

ユーザーがVACで禁止措置を受けた場合、以下のことが起こります:
  • そのアカウントは、禁止措置を受けたAppIDの保護サーバーに参加できなくなります。
  • 禁止措置を受けていることがそのプレイヤーのSteamコミュニティプロフィールで公開表示されます。
  • そのアカウントはVACが有効化されたゲームを共有できなくなります。
  • そのユーザーがファミリーライブラリシェアリングでゲームにアクセスしていた場合は、そのゲームの実際の所有者にも禁止が適用されます。
詳細な情報は顧客向けのFAQで見ることができます:Valveアンチチートシステム(VAC)VACに禁止されました

要件

マルチプレイヤー
VACは、VAC禁止ユーザーをゲームから排除するためにゲームサーバーに依存します。 したがって、VACはマルチプレイヤーゲームのみに有効であり、シングルプレイヤーゲームに対しては何の効力も持ちません。

VACはSteamworks認証APIを必要とします。
認証はSteam認証APIを通じて、ゲームクライアントおよびサーバー内で行われる必要があります。

アンチチートAPIの有効化
これはアプリ管理パネルのアンチチートページで設定できます。 これらのAPIは、ゲーム禁止の適用とアプリ内でチートを検出してVACを適用するために有効にする必要があります。

チート発見に積極的な開発者からのご協力
VACは、開発者によって報告されたチートのみを検出します。 自動または手動による調査を通じて、Valveがチートを積極的に探し出すことは実施しておりません。 ICheatReportingService/ReportCheatData Web APIを使用して、通知をvalveanticheat@valvesoftware.com宛てにご連絡ください。Vavleが特徴づけをして、チート検出対象に追加します。

セキュリティ保護されたゲームサーバー

「安全な」ゲームとは、チートを使用した人に対してプレイを許可しないゲームを意味します。 ゲームの個々のインスタンスは、安全か否かを実行時に選択できます。 そのポリシーの選択はゲームに任されます。一般的に、ゲームはデフォルトでセキュリティ保護に設定されていますが、ユーザーにセキュリティ保護なしの状態で開始するオプションも提供しています。 このように、チーターをコミュニティから隔離する一方で、チーターであっても、引き続きゲームをプレイすることができます。 チートのスキャンは、セキュリティ保護されたサーバーに接続したユーザーに対してのみ実行されます。

統合

VACのチート検出は、あなたのゲームクライアントからは独立しており、Steamによって処理されます。 ゲームではベストプラクティスを使用し、そのアセットと内部ステータスを保護する必要があります。 ゲームは、ユーザーがVACによる追放処分を受けているかどうかの確認のためにSteamworks APIを使用する必要があります。 ISteamUser::BeginAuthSessionコールバック内のISteamUser::ValidateAuthTicketResponse_tにはVAC固有の3つの結果が含まれます。 VAC固有の認証結果は次の通りです:

関連するWeb API:

以下のWeb APIの使い方に関する詳細は、Web APIを参照してください。