最近、「ルナティアに接続できない」という書き込みを多く見かけます。
このゲームはブラウザ起動型なのです。
ブラウザからオフィシャルサイトにログインし…。
ここまではいいんですよね。
で、ゲーム機動ボタンをクリックすると、ランチャが…。
画面が真っ黒になったり「接続できません!」とエラーダイアログが出たり、
挙げ句、そのまま終了してみたり…。
いったいなぜ このような症状が出るのでしょう?
これから その原因の一つかもしれない事柄を考えてみます。
その前に、多少難しい内容ですが、以下のサイトを確認しておきましょう。
もちろん、完全に理解する必要はありませんが…。
Wikipedia( 正規表現 )
ルナティアはかなり悲惨な経歴を持っています。
原因はともかく、BOTが大量発生し一時期ゲームになりませんでした。
また、アカウントハッキングも多発していました。
MGamae 全般に言える事なのかもしれませんが、以前は DDos攻撃も受けていたとか…。
こういう妨害を避ける方法として何があると思いますか?
誰でも思いつく事なのですが、アクセスしてくるIPアドレスで、接続リクエストがどこから来たかが判ります。
つまり、接続IPで接続制限を行えば、特定ユーザーだけを拒否する事ができます。
厳密には特定ユーザーではなく一定の範囲ではありますが。
そのアクセス元IPを記録しておき、接続リクエストの度に確認すれば嫌がらせや妨害を受けなくて済みます。
いわゆる【拒否リスト】を作っておけばいいのです。
その拒否リストの作成に【正規表現】が使われるのです。
最初に Wikipedia を参照してくださいと言いましたよね?
そして、その表現方法を見ましたよね?
どういう印象を受けましたか?
たぶん 「なんか面倒だなぁ…」と思った事でしょう。
拒否リスト作成の際には 特定IPは指定しないのです。
IPアドレスだけなく プロバイダを含む ドメイン名も拒否リストに追加するのが普通です。
なぜ そんな事をするのでしょう?
それは拒否リストをできるだけ小さくし、チェック範囲を大きくしたいからです。
もし、その正規表現に誤りがあったら どうなるでしょう?
本来なら許可するIPでも拒否されてしまう事になります。
そもそも IPアドレスはどんな形をしているのでしょう?
それは 0〜255 までの数字を4組使って 【 192. 168. 2. 15 】などのように構成されるのです。
全部の組み合わせは 256 × 256 × 256 × 256 = 4294967296 になります。
現実には 特定の番号が特殊な用途に使われるため、これより小さな数値になりますが、
MCAアドレスなども含めれば もっと大きな数値になります。
こんな巨大な数値の特定範囲を定めるためには 正規表現 で範囲を規定するのが便利なのです。
その正規表現による範囲設定にエラーがあれば… という事なのです。
その正規表現による拒否リストは誰がどこに作るのでしょう?
また Wikipedia からも判る事ですが、使うシステムによって微妙な差があったりします。
それは どういう仕様の正規表現ライブラリを使うかによって解釈が異なります。
コンピュータ・ソフトウェアというものはCPUが同じであればOSが異なっても
基本的には動作可能なのです。
もちろんOSのファンクションコールを使わないという条件はありますが。
禁止リストが正しく記述されていたとしても、それを解釈するシステム(OS)やシステムプログラムが
異なっていれば、リストを正しく解釈する保証は無いのです。
そのような条件で拒否リストを解釈した場合、ログインは可能でもゲームサーバからは
拒否される可能性もあるのです。
これが接続できない原因と決め付ける事はできません。
ですが、その原因の一つには間違いないのです。
簡単に言ってしまうと
- 禁止リストの記述にエラーがある
- 禁止リストの解釈がサーバ(プログラム)によって異なる
という2点が考えられるのです。
私としては 2.が怪しいと思っているのですが 1.も気になります。
ソフトウェアのメンテナンスは国外で行われています。
という事は、日本国内では運営面に重きが置かれ、
禁止リストの編集には不慣れなのではないかと思えるからです。
仮にサーバ側のハードウェアの問題だとしたら、それはメンテナンス会社で行われていて
運営会社は直接手を下せないからこそ 障害が出ていない証拠と思えます。
そうなると 残ったのは やはり運用(禁止リストの設定)に問題があるという事なのでしょう。
PS:
これは私の推論であって、これが原因だとは断定しません。
ですが、障害を起こす原因の一つには間違いないのです。
|