/dev:LoLからチーターを追放

ボッター、スクリプター、ブースターたちと果敢に戦う。

もしあなたがこれを読んでいるなら、あなたはおそらくリーグ・オブ・レジェンドのアカウントを停止されておらず、それゆえ過去に私たちと出会ったこともないでしょう。通常、私たちはチーターたちと同様に影で働くことを余儀なくされており、チートの検出方法を悟られないために、またチート提供者たちに不要な注目を集めることがないように沈黙を貫いています。日の光に当たらない時間が長いほど私たちのプログラミング能力は向上すると同時に、フェアに戦わない者たちから身を守ることもできるのです。

というわけで、私たちはあなたの味方。チート対策チームです。LoLのシーズンの終わりが近付くこの季節は、1)もっとも大きな問題となるチートに関するデータを公開して、2)フェアなゲームこそが私たちが求めているゲームであることを再共有して、3)アカウントを停止したチーターの数で世界記録に挑戦するのにうってつけの時期だと考えました(ギネスさん、メールの返信お待ちしています)。

チート対策チーム(Anti-cheat team)とは?

チート対策チームの主な目的は、ゲームの競技性に影響を与える可能性のある問題からゲームを守り、不当な優位性を提供するあらゆるメカニズム、アプリケーション、戦術を注視することです。また、私たちはこれらのテクニックが意図的なゲームデザインなのか(例:マルザハールを選択する)、禁止された行為なのか(例:ゴールドのロード画面ボーダーを手に入れるためにブースティングを行う)の判断も行います。

好ましくない行為に対して私たちが取る手段は複数存在しますが、これらは主に「防止」、「検出」、「抑止」の3つに分類されます。私たちはこれを…輝けるエシュロン・オブ・ジャスティス™と呼んでいます。

  • 防止:プレイヤーがチートを使用することを完全に阻止する設計や防壁を実装して、“楽をしたい”という誘惑に負けないプレイヤーの倫理観に頼らなくてもいいようにすること。
  • 検出:防止できないものは捕まえます。クライアントのメモリ操作との終わることなき戦いから、プレイヤーのパフォーマンスに注目する最先端の機械学習モデルまで、大きく異なる様々な方法論が存在します。
  • 抑止:時には鉄槌を振り下ろす必要があります。メッセージがしっかりと伝わるまでには数回にわたる「バンウェーブ」(大規模な一斉アカウント停止)が必要になるかもしれませんが、懲罰的措置は抑止力となり、チーターから被害を受けていた罪なきプレイヤーたちにはカタルシスすらもたらします。

私たちの技術的な手法についてさらに講義を聞きたい方は、Michael VanKuipersが最近のtechブログの投稿(英語ページ)で暗号化とデバッグについて語っているのでご覧になってみてください。

どうしてチート対策チームが存在するの?

それはチートを行うプレイヤーがどこかにいるからです。人は勝負には勝ちたいものですが、それだけでなく、勝つことによって得られる名声が欲しいのです。チート販売者たちは、スキルによって得られるステータスに付け入って、それでお金を儲けようと(またときには、ネット上での称賛を得ようと)しています。私たちの狙いは、そのような行為を決して「いい儲け話」にさせないことであり、競技性を維持するためにプレイヤーがマルウェアを探さなければいけないような事態を引き起こさせないことです。

LoLをスポーツの一つとして真剣に捉えてもらうには(私たちはそう捉えています)、全ての戦いが同じルールで行われる必要があります。もしトロフィーをお金で買えるなら、そんなトロフィーに価値はありません。

チート対策チームのメンバーってどんな人?

トレンチコートを着て、壁一面がモニターで埋め尽くされた監視室で、OpenGLで描画された図形を眺めるハッカー集団です。私たちは数人の元チート開発者(時代遅れにならないため)と数人のデータサイエンスの専門家(グラフを綺麗に見せるため)、数人のアナリスト(人々のアカウントを次の世紀まで停止しておくため)で成り立っています。

分野の異なるニンジャを複数用意しておくことで、保護技術と識別技術を組み合わせた強力な対策を実装することができるのです。

チート対策チームはどこで仕事してるの?

あなたのすぐ後ろです。

2018年の近況は?

最近、私たちは深圳市に飛んでTencentのチート対策グランドマスターたちとブートキャンプをしてきました。中国のチートシーンでの戦いはインフェルノレベルの難易度なので、チート提供者たちを特定する新たな手法を共同で開発しているところです。ブースティングサービスの撲滅からステルス性の高い検出システムまで、競技ゲームに求められる世界水準を作り上げているところです。

リーグ・オブ・レジェンドでのチート行為

広報向け発表はこれで終了です。それではパーティーを始めましょう。

世の中にはチートでアカウントを停止される人々がいますが(親御さんが泣いてますよ)、アカウントが停止される主な理由は、スクリプティング、ブースティング、ボッティングの3つです。

スクリプティング

LoLはサーバー権威型ゲームであり、すべてのクライアントはゲームの状態を管理するインスタンスに接続されます。これの意味するところは、たとえチートがあったとしても、通常は動作の自動化などであり、無敵モードになったりマップハックのような酷いチートはありません(これらはパッチで対応できます)。おそらく、MOBAジャンルでもっとも影響の大きなチートは“スクリプティング”で、これはキー入力や特定の動作に対する反応を自分で行わずに外部プログラムを使って行うもので、不公平で超人的なゲームプレイが可能になります(エイムボット、クールダウントラッカー、コンボなど)。

“ダイヤモンドのロード画面ボーダーをスペースキーに渡すわけにはいかない”

これらが実装されるプロセスは少し複雑です。最初にハッカーがやってきて特別なソフトウェアと粗削りな才能を使ってゲームクライアントを解析します。彼らはゲームの重要な機能がどこにあるのかを特定して、それを参照するオリジナルのコードを作成します。最後にこの病原菌をゲーム内に注入し、他のチート開発者たちが自動化スクリプトやチャンピオン固有のロジックを作成することが可能になるAPIを露出させます。楽観的なチーターたちはこれらのスクリプトをゲーム内で実行し、オーブウォークを披露して一時的にフレンドを感心させます。

過去数年間のLoLにおけるスクリプティングの流行状況を見てみましょう。

ハンマーの大きさと、ハンマーを振る速さ。どっちが重要?

ハンマーの大きさと、ハンマーを振る速さ。どっちが重要?

青色の線は世界のランク人口に対する1日あたりのスクリプターの割合です。時間とともに減少傾向にあり、統計的には“良好なライン”にあります。同じ時間軸でバンウェーブ(正義の金色)も表示しているので、両者を比べてニヤニヤすることができます。私の上司が“機密情報”を公開することに“懸念”を示したので、アカウント停止の絶対数は意図的に表示していません。

その他の興味深いデータ:

  • 過去3年間にスクリプティングを理由に全世界で700万以上のアカウントが停止されており、その内の500万は中国のTencentによって対処されました。現在、平均して1人のプレイヤーが無益なスクリプターに出会う割合はランク400試合に1回程度です。
  • 2018年にスクリプティングでアカウントを停止されたプレイヤーのうち更生したのは9%のみで、チーターはLoLのアンインストーラーを起動するまでに平均1個のアカウントを停止されています。
  • スクリプティングの比率をアカウント停止と同じくらいまで低下させることができているので(チーターはチートしますので)、現在は対策が懲罰的措置だけでなく、予防的措置に移っています。
“でも、チートは実際に役に立つんじゃないの?いや、友達の代わりに聞いてるんだけど。”

よくぞ聞いてくれました。それも見てみましょう。

絶滅の危機に瀕したスクリプターたちは、冬になると南に移動します。

絶滅の危機に瀕したスクリプターたちは、冬になると南に移動します。

自明とは思いますが、数学の授業をさぼっていた人のために一応説明しておくと、ランダムなサンプルの平均勝率は50%ですので、これらのアプリケーションは一定の有利は生み出していることになります。とはいえ、その勝率が低下していることには面白い理由があります。

  • スクリプトはADCやカシオペアのように、操作が難しいチャンピオンほど役に立ちます。そこで、完璧なタイミングで使用したスキルの有効性を低下させるために、意図的に一部のスキル連打の“寛容性”を高めて(イブリンのQを押しっぱなしにするなど)、人間が機械に対抗できるようにしました。
  • するとチート開発者は、検出を避けるために自ら自動化プログラムにディレイを追加します。結果として、強制的に人間らしく機能させるように仕向けることができたというわけです。
  • スクリプティングの提供者を継続的に、そして徹底的に排除するために、プラットフォームとコードベースを頻繁に変更し続けました。車をスムーズに走らせようとしているのに、誰かが(私です)ホイールナットを盗み続けている様子を想像してみてください。

コツコツと長い努力が必要な作業でしたが、少なくとも数十年後まで機械の反乱を遅らせることができたと自信を持って言えるようになりました。安心して電子レンジをお使いください。その電子レンジがLoLのクライアントを操作しない限り。

ブースティング

シルバー脱出のためにランクを回し続けるのに疲れることもあります。それほど実直ではない人なら、誰か他の人に頼もうという考えが頭をよぎるかもしれません。ブースティングは親しみを込めて「トロフィーの購入」や「ボーダーのショッピング」と呼ばれており、その動機の多くはシーズン終了時の褒賞ですが(ブースティングの68%がゴールドVです)、上手いと思われたいという望みが動機となっている場合もあります。

“友達に自分はシルバーだと話すのは恥ずかしいことじゃない。本当の友達はそれでいなくなったりしない”

実体験から言うと、ゴールドIIIの自分のランクの試合にダイヤモンドIIのプレイヤーが入ってくるととてもフラストレーションがたまります。でも、自分のプラチナVの昇格戦にブースト野郎が入ってきたらもっと嫌でしょう。スキルレベルが対等なプレイヤーと対戦してこそいい試合が楽しめるものであり、ランクの順位を上げる目的でレーティングが大きく異なるアカウントでプレイする行為は、すべてブースティングであると私たちは考えています。

ブースティングは昔から防ぐのが難しいものなので、私たちは通常、特にあからさまなものを検出することに集中しています。秘伝のソースを守るために少しぼかしておきますが、基本的にはプレイヤーとブースト提供者の間でプレイパターンがあからさまに異なるものに着目した、ちょっとしたアルゴリズムを完成させました。これをシーズンごとに実行して、受け取る資格のない者から褒賞を削除するのです。全員を捕まえることはできませんが、その効果は年々上がってきています。

最後の急激な伸びに注目です。とうとうゴールド志望者の心が折れ、ELOを割引で購入しています。

最後の急激な伸びに注目です。とうとうゴールド志望者の心が折れ、ELOを割引で購入しています。

グラフが明らかに伸びている2ヶ所は、よく知られた2つの現象に関連しています。

  • “振り分け戦を代わりにプレイしてよ”
  • “勝利の栄光グレイブスが欲しいっ”

このような行為を罰する目的は、それを金儲けに変えようとする者のうまみを低下させることで、それに関してはまだまだ時間がかかりそうです。ブーストを依頼した者に自宅謹慎を言い渡すだけでは、一定の対策にしかなりません。今後は、Tencentの特製マニュアルから借りた素敵な戦術を使い、ブースティングを販売するサービスを特定して閉業させる方法を改善しようと思っています。

ボッティング

そうです、レベリング(レベル上げ)ボットのことです。このオーブントースターたちはゲームの世界では本当に困りものです。LoLは基本プレイ無料のゲームであり、そのうたい文句が示すように、アカウント作成のハードルが低くなっています。ヤスオメインは練習のために新たなスマーフ用アカウントが必要で、私たちがアカウントを停止した数百万のスクリプターたちは、私たちを困らせるための新たなアカウントを“必要”としています。この二者によって、フレッシュなレベル30を販売する無様な市場が生まれます。これは新規プレイヤーの体験を健全に保つためにも、ペナルティの意義を失わないためにも、防止すべきことです。

“ガレージにおいてあるスマート冷蔵庫はなにに使うの?”

ボッティングについては現在、対策を進めているところです。私たちの中には博士号の候補者たちがいて、このオタクたちが食器洗い機と人間を見分ける機械モデルを積極的に考案しています。そう、ボットとボットを戦わせるのです――興奮のSFアクションです。彼らはプレイヤーからの報告も見ているので、フードプロセッサーと戦うことになったら、遠慮なく報告ボタンを押してください。

ランダムミッドは真っ直ぐ走ってスキルを全部ぶっ放すだけで経験値とチャンピオンカプセルが貰えるため、ボットの作成がもっとも簡単で、もっとも効率的なゲームモードなので、残念ながら格好の餌食となっています。

ボットの報告が少ない、イコール、プレイヤーへの影響が少ない。Q.E.D.

ボットの報告が少ない、イコール、プレイヤーへの影響が少ない。Q.E.D.

ここで見られるのは、ボット同士をキューさせるキャンペーン(コードネーム「ボットオリンピック」)の結果です。これは勝利への道の足掛かりにすぎません。究極の目標はこれらを排除して、彼らが元いた場所である家電量販店まで追い返すことですが、そのひとつ下の目標としては、“プレイヤーがボットを目にしなければそれでいい”ということにしようと思っています。これらのアカウントは販売される前に排除されるでしょうし、現時点では、彼らが出て行くのであれば、サーバーコストの費用を受け持つくらいは仕方ないと思っています。

今後に向けて

上記のリストが対策のすべてではありません。チーターは常に新たな手法を探しています。私が職を失わないという意味ではいい知らせですが、それは私たちの仕事には終わりがないという意味でもあります。私たちは皆さんの競技ゲームを楽しむ権利を守るために戦う覚悟であり、チーターの上達を促すためならどんなことでもやるつもりです。

“このコミュニティでは、フェアにプレイする気がない人はお断りです”

とても単純な話です。

最後までお読みくださりありがとうございました!皆さんからの感想をお待ちしています。もし最近アカウントを停止されたなら、コメント欄を使って不平不満を書き連ねてください。私の励みになりますので。