サーバーサイドのイベント検証が重要な理由
ファイブエムの経済やゲームプレイのエクスプロイトの多くは、正規のゲーム進行なら起こさないサーバーイベントを発生させることで成立します(プレイヤーに所持金を与える、インベントリにアイテムを生成する、テレポートさせる、車両を与えるなど)。そのためにチートがアンチチートのクライアント層を破る必要はありません。サーバーにそのイベントを受け入れさせるだけで足ります。サーバーサイドのイベント検証は、「見栄えのよい管理パネル」と「実際に経済を守るもの」を分ける、最大の差です。
3つの検証パス
Ravenはすべてのサーバーイベントを3つのパスで検証します。1つ目のパスはイベントの発信元を確認し、サーバー内部のスクリプトからしか来ないはずのイベントがクライアントから届いた場合に拒否します。2つ目のパスはイベントのペイロードを妥当な範囲(アイテムの数量、所持金の増減、1分あたりの車両スポーン数、テレポート距離)と照らし合わせ、そのイベントに設定されたしきい値を超えるものを拒否してログに残します。3つ目のパスはイベントの並びに対してパターン検知を走らせ、個々には合法なイベントを連鎖させて1つの不正な結果を生むタイプのエクスプロイトを捕まえます(2026-04-21の勧告に、Redengineのそうしたパターンの例があります)。
フレームワークを理解したルールパック
検証ルールはフレームワークを理解しています。ESXには固有の経済イベント名と妥当な範囲があります。QBCoreには別のものがあります。vRPとQBoxにもそれぞれのものがあります。Ravenはサーバー起動時にフレームワークを自動検出し(/how-it-works/dual-layer-architectureを参照)、対応するルールパックを適用します。サーバー固有のリソースが使う独自のイベント名は、サーバーのコードに触れずにクラウドパネルからルールパックへ追加できます。
違反がどう表に出るか
イベント検証が反応すると、その違反は完全な証拠(イベント名、ペイロード、発信元のプレイヤー、タイムスタンプ)とともに記録され、設定された対応が実行されます。対応はハートビート改ざん検知と同じ3段階で、深刻度とそのプレイヤーのそれまでの信頼スコアに応じて、警告、KICK、自動BANが選ばれます。繰り返す違反者は、管理者のレビュー後にグローバルBANデータベースへ昇格させるキューに入ります。
この層がクライアントからバイパスできない理由
サーバーサイドのイベント検証はサーバー上で動きます。クライアント側で動くチートは、クライアントのメモリをパッチしても、クライアントの関数をフックしても、クライアントのアンチチート層を無効化しても、これをバイパスできません。破る唯一の方法は、検証ルールが正規と見なすイベントのペイロードを送ることですが、それは定義上、チーターがやりたかったエクスプロイトではありません。だからこそサーバーサイドの検証は、本気のファイブエム アンチチートの土台なのです。