雑記:アンガーマックス問題【対策編?】

破壊の大帝:
んー、なるほどちぇきほど……

LM仮面:
本日2018年3月13日、フォーラムに吉田P/Dによるアンガーマックス問題の経緯が報告されましたね。

破壊の大帝:
吉Pさん、開発出の人だからか、かなり細かいバグ報告になってるね。

LM仮面:
大帝さんみたく、細かいツッコミする人が居るからじゃないですか?

破壊の大帝:
え? 私のせい?(´・ω・`)
んーじゃーまぁー、ここからさらに細かく突っ込んでいきますか。

LM仮面:
え? 結構詳細に書かれていますよ?

破壊の大帝:
うん、それでも「何か見落としはないか…… 矛盾はないか……」って疑って見るのがプログラマ屋さんなのよ……。

LM仮面:
難儀な商売ですね……

破壊の大帝:
ブラックな企業だとさー、ただでさえこんな斜に構えたメンタナルなのに、さらにパワハラ、セクハラついてくるんで、そりゃ病むわさ―

LM仮面:
それは今は関係ないですね?

破壊の大帝:
うん、言いたかっただけ。
さて、まず今回の原因は、「できちゃダメな処理をサーバで弾いてなかった」だね。

LM仮面:
普段と違うチームが開発したので、情報の共有ができてなかった、ですか?

破壊の大帝:
んー、その前に、ブラックリスト、ホワイトリストの解説が要るかな……。
ブラックリストは分かるよね? 「コイツらはダメよ」ってリスト。

LM仮面:
まぁ、普通でも使う言葉ですよね。

破壊の大帝:
普通で使う言葉だからこそ、意味を履き違える可能性あるからね……
も少し細かくするか。例えば、「営業」、「開発」、「総務」って役割とエリアがある場合、
「営業のエリアは開発、総務は入っちゃダメ」
ってルールがあると。同様に
「開発のエリアは営業、総務は入っちゃダメ」
「総務のエリアは開発、営業は入っちゃダメ」
ってルールを設けていると。

LM仮面:
んーまー、冗長な感じはありますが、何となく分かります。

破壊の大帝:
このルールだと、「休憩」ってエリアを作ってルールを設けない場合は……

LM仮面:
みんな入れますね。

破壊の大帝:
うん、でも、「バイト」って役割とエリアが増えた場合は?

LM仮面:
それぞれエリアのルールに「バイトは入っちゃダメ」って足す必要があると。
アンガーマックス問題では、本来「冒険者小隊ID以外はすべてアンガーマックスはダメ」って入れなきゃいけなかったのを……

破壊の大帝:
そう、入れてなかった、ってこと。
なので、「新しい役割ができたら追加してね」って事が作ったチームから抜けてたってわけよ。
ただ、これを入れるのがそのエリアの責任者なのか新しい役割を作った人なのか……とか、結構めんどくさい所あるよね……

LM仮面:
FF14だと……そうですね。町やフィールド、普通のID、蛮神戦……とどういう単位かわからないですが、それぞれリストがあるとしたら……

破壊の大帝:
一々追加しなきゃダメなわけだ。
なので、これをガラッと変えて、「「ホワイトリスト」形式にしました!」 ってのが対策の2ね。
1はもう「常識的に考えてありえない奴も全部テストします!」ってことだから割愛するけど。

LM仮面:
ホワイトリストは……恐らく逆なので……明記しているものだけ許す、ってことですか?

破壊の大帝:
んーそう。先の例だと「開発エリアは開発しか入っちゃダメよ」って感じ。

LM仮面:
なるほど、これなら新しい役割ができてもとりあえず弾きますね。

破壊の大帝:
ただ、「休息エリアは開発と総務と営業とバイトしか入っちゃダメよ」ってなるので、
呼ばれて来た外部の人も入れなくなるよね(笑

LM仮面:
ああ…… 逆に、入れるべきなものが入ってない不具合が発生しうるのですね。

破壊の大帝:
ま、そりゃ出来るかどうかはテストするから分かるけどね。
そんなわけで、同じようなことを起こさない、って意味ではホワイトリストのほうが良いんだけどね……

LM仮面:
大帝さん的にはOKな感じですかね?

破壊の大帝:
プログラマ屋さん的には、同件調査ってするのよね。おんなじようなところないかチェックするの。
今回みたくブラックリスト的なチェックやってるところ、他にないか、とかね。

LM仮面:
まぁ、それは今大帝さんが出来ることではないですよね。

破壊の大帝:
多分やってるだろうしね。
んー……まーちょっと気になるのは、テスト用のコマンドとかさー

LM仮面:
ん?

破壊の大帝:
例えば、テスト用のところにうっかり「アヘ顔ダブルピース」のコマンド作っちゃって、それが消えずに本番に移行しましたってときにさ。

LM仮面:
あーホワイトリスト形式なら弾くんじゃないです?

破壊の大帝:
ホワイトリストのリストまで本番に行っちゃうと?

LM仮面:
……うわ。

破壊の大帝:
まぁ、そういう事が無いように本番とテスト用でもリストは違うはずなんだ。憶測だけど。
ブラックリスト形式だと「テスト用のコマンド」って本番サーバではブラックリストに「追加」するわけさ。
ギル無限増殖とか。そういうコマンドがあったら本番サーバではできなくしている、はず。

LM仮面:
……んーそうでしょうね?

破壊の大帝:
で、これが今後ホワイトリスト化した場合、この「追加」を自動でやってた場合は……

LM仮面:
入っちゃいますね?(汗

破壊の大帝:
んーまー、ちゃんとそういう所も見直しているはずだから……無いとは思うんだけどねー……
でもねー大きくプログラムを変更した場合、こういう運用のところでやっちまったーって成ることが……

LM仮面:
経験則ですか?

破壊の大帝:
思い出したくない事もあるさ……(遠い目

LM仮面:
そういえば、情報伝達のところも改善がされたようですね。

破壊の大帝:
報告はされてたけど「不正行為かどうか」でチェックしていたから報告上がらなかった、ってトコだね……
コレも難しいな……

LM仮面:
精査しながらすべての報告を上げるようにするって対策になっていますね。

破壊の大帝:
だって分業してるってことは処理対象を減らすため、だからね。
一々全部上の人がチェックしてたら、最終的には全部吉Pさんに回ってきちゃうから……

LM仮面:
そう思うと悩ましいですね。

破壊の大帝:
まー、ちゃんとフローとステータスに寄る重み付けをしてるので、多分、今までの「ツール的な不正」だけでなくて、
「コレってバグじゃね?」って事象の検証ルートも明確にした……っと解釈するけど……まぁ、スクエニの中の人じゃないから具体的には分からんけどね(汗

LM仮面:
それを言い出すと、このやり取りの意味が無くなります(苦笑

破壊の大帝:
で、FF14だけでなく、スクエニのやってる他のオンラインサービスにもこれらのことを横展開して、品質向上に努めて行く……んじゃないかなーと。

LM仮面:
ああ、それは大事ですね。

破壊の大帝:
吉Pさん、FF14の偉い人でもあるけど、スクエニ自体の偉い人でもあるからね。

LM仮面:
本当にご負担が心配ですね……

破壊の大帝:
ペナルティーについては……んー多分、苦渋の決断だとは思うけど、「バグだからってやって良いわけじゃないんだぜ」って事を
明確にする意味もあったんじゃないかなー複数回数やっちゃった人は。

LM仮面:
なるほど。

破壊の大帝:
なので、まぁ、私が言うことでもないけど、中の人の皆さん、コレにめげずに、それでも油断せず頑張って下さい。
分かるから…… 大きなバグ潰した後ほど、ホッとしちゃってうっかりとかあるから……

LM仮面:
大帝さんがおかしなテンションになっているのでこのへんで(苦笑


破壊の大帝ぐれねーどへ