危機は回避されたが
世界の危機は、回避された……はず。
今回の「ステルス移動問題」について、多分に予想が入りますが、解説させて頂きます。
併せて、オンラインゲームに関する技術解説も行っているので、興味ある方はご一読下さい。
ステルス移動とは?
オンラインゲームは、クライアントソフト(ragnarok.exe)と、サーバの情報交換によって動作しています。
情報交換はデータを細切れにしてバケツリレーのように送受信しており、細切れになったデータのことを「パケット」と呼んでいます。
このパケットの中で、キャラクターの存在データパケットのみを送らないとどうなるか……
サーバ上、そのキャラクターのみ存在しないことになるばかりか、サーバを介してゲーム画面を見ている他のユーザも視認することができなくなり、もちろんMobに襲われることもありません。
ですが、経験値などの数値データは別のパケットで送受信しているため、存在しないのにLvだけ上げることが可能なのです。
これまでは前述の方法でBotと公平狩りをする「ステルス公平」のみでした。
その理由は、座標移動に関するパケットの解析や対応までできなかったため、ステルス化すると移動ができなかったからなのです。
ところが今回、移動に関するパケットが解読されたようで、それに伴うツールを用いることで、ステルス状態ながら座標移動データを送受信できるようになったのです。
そうなるとGv(攻城戦)で防衛側に気づかれることなく、攻撃が当たることなく最深部に潜入し、砦を落とすことが可能というわけ。
ゲームの売りであり、多くのユーザが参加する攻城戦の根幹を揺るがす一大事なのです。
ステルス移動の技術的対策
今日、緊急メンテナンスが行われました。
ですが、クライアントに一切パッチを当てることなくメンテナンス終了。
そしてログイン後の変化は、以下のようなものでした(確認済みのみ)。
・テレポート後にサーバとの接続がキャンセルされやすい
→特に連続テレポート時に多く起こる上、Map間移動でも起こることが多い
・移動中など、微ラグが増加
→メンテナンス直後の600人前後しかいない状態でも、3500人接続時と同様のラグが発生
・サーバ接続人数を確認する『/w』コマンドが使用不可になった
→ゲーム中、クライアントからログインサーバへのパケットコマンドが使用できなくなった
ここから考えられる対策は、サーバ側に何らかのパケットフィルタをかけたことです。
オンラインゲームのサーバは、おおまかに分けて
・ログインサーバ……アカウント及びキャラクターのログイン、ログアウトを管理
・ゲームサーバ……ゲームのMapやNPC、戦闘など、純粋にゲーム要素を管理
・チャットサーバ……ゲーム内チャットのデータ送受信を管理
この3つに物理的に分かれています。
ステルス状態の時は、ログインはしているのでログインサーバにはアクセスしていますが、ゲーム中では存在しないことになっているはずです。
ここからどのような対策をとったか予想することができます。
まず、ゲームサーバ側で前述のキャラクターの存在パケットの有無を確認するフィルタをかけます。
そしてそのパケットがゲームサーバ上に届いていない場合は、ログインサーバにコマンドを送り、接続をキャンセルするというもの。
また、ゲームサーバ上にそのパケットがない状態で何らかのアクションを起こしても、接続をキャンセルさせるようです。
従ってログイン・ログアウトのたびに、ログインサーバとゲームサーバでパケットの照合をしていることが考えられます。
だから、サーバに負荷がかかって重くなると同時に、負荷軽減のために『/w』コマンドを封印したのでしょう。
テレポートやMap移動をすると、システム的にはキャラクターセレクトを維持したままログアウトする状態になります。
つまり、ゲームサーバから一度ログアウトし、再接続していることになるんですね。
だから連続テレポなどをしている時に通信環境の影響でラグが発生すると、即落とされるわけです。
接続全キャラが一斉に連続テレポートをすると、きっとサーバは落ちますよw
オンラインゲームは通信速度や環境によって、実際の時間より遅延が発生します。
つまり、今あなたが見ている画面と遠く離れたユーザとはでは、表示されるまでに若干のタイムラグが発生しているのです。
この遅延のことを「レイテンシ(latency)」と呼びますが、オンラインゲームではこのレイテンシをいかに短くするかがキモとなっていることは言うまでもありません。
しかし、多かれ少なかれ発生するものです。
通信環境があまり良くないユーザにとっては辛くなることは間違いありません。
もしこの予想が当たっているのであれば、激ラグ状態のGvで、Map移動をしたときにサーバから接続をキャンセルされることが頻発するでしょう。つまり、ログインしていてもゲームサーバにパケットが届くまで時間がかかるため、ログインサーバ側で強制的に接続キャンセルされるのです。
また、ステルスそのものはもちろんのこと、ハエパケ高速移動(ハエの羽を使用時に発生するパケットを打って、連続移動すること)もやりにくくなるでしょう。
既に一部でハエパケを使用している高速移動Botが減ったという報告も寄せられています。
パケットフィルタリングでさまざまな不正を防ぐ一助にはなりますが、Botだけはクライアントから作り直さないと、どうしようもないのは間違いありません。
今回の迅速な対応と対策については、サーバの負荷の計算も合わせ、関係者はもの凄い努力をしたことが予想されます。
その関係者に同業者として敬意を表すると共に、モラルのない不正ユーザの人間性を非難します。
ですが、運営チームはゲーム内唯一の警察・司法機関として、ユーザのモラルに甘えることなく、日々たゆまぬ努力を続けて欲しいと言うことも付記して、今回は筆を置こうと思います。
◆RagnarokOnline プレイ情報
No.227 ギルド攻城戦に影響を与える不正行為への対応について
Posted by ナカノヒト : 2005年10月07日 23:10 | コメント (0)