#艦これ E-4 轟沈バグ騒ぎの技術的解釈を試みる

昨日、バグのせいで轟沈したと騒ぎになった動画がありましたが、今朝運営から「不正ツールの使用者」だと発表され、思ったより早く落着を得ました。炎上させたい人はもうしばらく騒げるでしょうが、一般ユーザーが気にすることはもうないでしょう。

ただ面白い事件ではあったので、何が起きたのか推測できる範囲で頑張ってみましょう。自分は独自リクエストを作って叩くような怖いことはしたことないので、あくまでも正常動作時の挙動から推測できる範囲で、ですが。

事実

  • ニコ生の内容
    • E-4丙に出撃
    • 小破未満でIマス夜戦の戦闘を完了
    • 進撃
    • 次の戦闘が大破で始まる
  • 運営の発表
    • 不正ツール利用者であると明言
    • 仕様内の専用ブラウザではなく、BOT/マクロに相当するものだと説明

ゲーム内の現象を解明しよう

ゲームデータは全てサーバー内にあり、サーバー内で計算されます。手元でいくらメモリ上の数値を書き換えようと、サーバーのデータには影響しません。何かしらの送信を行うことによってサーバー上で計算が行われます。そして、耐久値が減る計算が発生するのは、戦闘以外にありません。ボス陣形選択前に、公式クライアント以外の何かによって、戦闘開始APIが叩かれています。(この点については、「おそらく」と弱気にしなくても良いでしょう)
ニコ生のフォントは読みづらいけれども、経験値は余計に増えていないので、戦闘終了は叩いていないようです。戦闘開始APIだけ叩いた状態というのは、ブラウザを閉じたときと同様に、損害は発生しますが経験値が入らないはずで、この動画の挙動と一致します。

運営がすぐに断定的な表現で発表したのも、明らかに不正な通信がサーバー側に来ていたからでしょう。ユーザーを不正扱いするのは、よほど確定した状況でないとありえません。誤検挙による運営への信頼度低下はとてつもなく大きくなるので、基本的にはよほど目立たない限り、疑わしきは罰せず、のはずです。

どうして起きたのか考えよう

生主は、「艦これブラウザ」しか使用していないと言っています。

艦これの情報補助系ツールは、ただの透過的な(通信内容を一切改変しない)Proxyに情報表示機能がついているものが普通だと思うのですが、なんとこの「艦これブラウザ」は独自にリクエストを発行するツールだったようで。

これは、公式クライアント以外から独自に通信を作り出すわけですから、真っ黒な不正クライアントです。

ただし。
情報を最新にするために取得系のリクエストを追加発行するとしても、戦闘系のAPIを叩く必要がありません。明らかに副作用を与えるAPIな上に、装備・編成・疲労・パラメーターのどの習得の役にも立ちません。普通は艦娘一覧など、相当のAPIで取るでしょう?
22000以上のダウンロード数があるようなので、もし戦闘APIを叩くようなことがあれば、もっとたくさん悲劇が起きていておかしくない。不正ツールに相当するのは間違いないけれども、事件の原因かどうかはまた別なのは忘れてはいけません。

艦これブラウザについて追記(2015/02/11))

api_get_memberがソースに固定文字列で入っているとなると、これがapi_req_sortie/battle(戦闘API)を叩く可能性は極めて低いのでは?

まとめ

  • 艦これブラウザは不正ツールに相当する
  • 夜戦終了からボス戦開始までの間に、外部ツールにより戦闘処理が行われている
  • それが艦これブラウザによるものかどうかは不明

艦これブラウザが何かしたのか、艦これブラウザはスケープゴートであって他の出撃系ツールを動かしていたのか。どちらの可能性もあります。艦これブラウザに悪意が含まれていて戦闘APIが叩かれた可能性、出撃ツールの誤用でユーザーが自爆した可能性、あるいは意図的な併用で話題取りをした可能性、どれもありえます。

これ以上得られる事実はなく想像で補うほかないので、進めようがありません。煮え切らないですがこの辺で。

*1:普段こういうのは一次情報のリンクを張るものだけど、消えかねないのでアフィブログの方を

*2:本題とは関係ないで注釈にしておくが、「ウェブサイト」のリンクに艦これ公式を掲示し、あたかも公式ツールであるかのように掲示しているのが極めて悪質