さよなら、全てのサーモンラン
サーモンランの終焉
前回の記事でサーモンランの追加シフトがないという話をしたのですが、それの続きになります。
実は、本日 4:49 に追加の BCAT が配布されていました。このニンテンドースイッチは北米時間なので日本時間に直すと 14:49 ということになります。
ということはメンテナンスの 10 分前には BCAT が更新されていたわけです。これは今後使えるかもしれませんね。
差分検出
ファイルに変更があったかどうかは差分検出をすればいいので簡単にできます。
異なるファイルが同じハッシュを持つことはほとんどないので、ハッシュさえ計算すればいいわけですね。で、調べてみたところサーモンランのシフトを司るCoopSetting.byaml
のファイルには何も変更がありませんでした。
それどころがガチマッチなどのスケジュールを司るVSSetting_0.byaml
にも何も変更がありませんでした。BCAT 自体はちゃんと更新されていて、メンテナンス内容もステージデータとあるのにステージデータが何も更新されていないとはどういうことでしょうか。
実は、スケジュールのデータは更新されていないのですが、directories.meta
とetag.bin
とlist.msgpack
という三つのファイルには変更が入っていました。
これらのファイルは何を意味するのでしょうか?
それぞれのファイルの意味
etag.bin
BCAT のバージョンらしきものを管理するデータです。BCAT が変更されると、ここのデータも必ず変わると思われます。
directories.meta
よくわかりません。
list.msgpack
BCAT の個別データの URL を管理しているリストです。
これによると、以下の二つのファイルの参照先 URL が変更されていました。
- VSSetting_0.byaml
- CoopSeting.byaml
つまり、サーバ側ではデータがアップデートされているがニンテンドースイッチがダウンロードしていないためにまだ最新のリストが取得できていないということです。
よって、サーモンランのシフトは追加されている可能性が非常に高いです。
ちなみにlist.msgpack
はバイナリデータなので JSON に復号できます。
復号したもの (opens new window)を載せておくので、どんなデータがやり取りされているのか参考にしてみてください。
BCAT データをダウンロードする
HACGUI を使った BCAT の解析ではスイッチがダウンロードした BCAT しか解析できません。まだダウンロードしていない BCAT を解析するにはどうすればいいでしょうか?
BCAT は認証付きの URL なので直接 URL を叩いてもデータを取得することはできません。また、BCAT は passphrase と呼ばれる鍵で暗号化されています。
ニンテンドースイッチになりすまして BCAT を取得することは原理的に可能ですが、配信されていないデータを取得しようとすれば改造していることがバレるので BAN される可能性があります。
いつダウンロードされるか
全くわからない。
サーモンランのシフトは「現在シフト」「次シフト」の他にあと三つシフトが表示されているので最大五つ表示されることになる。
それから逆算して考えると、
Sun Jan 30 2022 03:00:00 GMT+0900 (Japan Standard Time)
という日付が得られた。もし、サーモンランの追加シフトがあるのであれば 2022 年 1 月 30 日までには BCAT のダウンロードがされるはずである。
最後に
とはいえ、ひょっとしたらこの時間までに Oatmealdome 氏がさっさと BCAT をダウンロードして解析してしまうかもしれない。
見ておきたい人はFuture Salmon Run Rotations (opens new window)を度々訪れると良いかもしれない。記事は以上。