Ultima Onlineを遊ぶための設定

意外と困っている人がいるのでは....

Ultima Onlineとは

 知っている人は知っている、世界初のインターネットでプレイするロールプレイングゲームです。簡単にいいますと、ドラゴンクエストで登場するすべての登場人物が、コンピューターが自動的に動かすのではなく、世界中の誰かが実際に動かしているようなゲーム、ということになります。しかし、ドラゴンクエストのように倒すべき最終ボスはいません。もちろん非常に強い敵はいますが、その敵を倒すべく件と魔法の腕を磨くもよし、あるいはその勇者が身に付ける防具や武具を作る職人の道を極めるもよし、極端な話乞食の道を極めるという人生を歩むことも可能になる、従来になく自由度の高いゲームです。

 最近はコンシューマー系のゲーム機でも同様のコンセプトのゲームが数多く出てきていて、最近でいちばん有名なのは、セガの"Fantasystar Online"でしょう。ちなみに、期待度が一番高いタイトルはスクエアの"Final Fantasy XI"でしょう。

 ちなみに、Ultima Onlineの公式サイトは以下のURLになります。

http://www.jp.uo.com/

 

なぜ動かない?

 通常のダイヤルアップ環境、つまりプロバイダにPPPで接続してインターネットをする場合であれば、何も問題はありません。Ultima Onlineを買ってきてインストールすればそのままプレイすることができます。

 しかし、私のサイトのようにLAN内部のサーバーを外部に公開し、セキュリティを考慮してルーターでフィルタリングをかけている場合はちょっと話が変わってきます。ルーターのフィルタで、サーバーの公開と内部から外部のサービスを利用する際に必要なパケットだけを通す設定を行っているので、逆にそれ以外のパケットはすべて通らない設定になっています。Ultima OnlineやDiablo、Everquestをはじめとするネットワークゲームの多くは独自のTCPポートを利用してサーバーとの情報交換を行いますので、そのままの設定では情報の交換ができません。ネットワークゲームでサーバーとの情報交換ができないということは、ゲームそのものが動かないということになります。

 このため、内部サーバーを外部に公開しつつネットワークゲームを遊ぶためには、ルーターに対して通常設定に加えてネットワークゲームを利用するためのフィルタを書き加えてやる必要があります。

 

Ultima Onlineを遊ぶために必要な設定

 Ultima Onlineの場合、上に示した公式サイトで必要なポート番号が公開されています。具体的には、

 5001-5010 Game
 7775-7777 Login
 8888 Patch
 9999 Patch
 7875 UOMonitor

 と書かれていますので、これらのポートから発信されるパケットが外部から家庭内LANに入ってくることを許可するフィルタを書けばいいことになります。具体的には以下の設定をルーターのフィルタに追加します(MN128 SOHOの例)。

 ip filter 28 pass in * * tcp 5001-5010 * remote * nolog
 ip filter 29 pass in * * tcp 7775-7777 * remote * nolog
 ip filter 30 pass in * * tcp 8888 * remote * nolog
 ip filter 31 pass in * * tcp 9999 * remote * nolog

私はUOMonitorは使用しないので書いてありませんが、利用するのならば

 ip filter 32 pass in * * tcp 7875 * remote * nolog

という一行を追加すればいいでしょう。

 また、公式サイトには何も記述がありませんが、ルーターのシスログを見ているとどうもTCPの12000番も利用しているようなので、気になるようでしたら

 ip filter 33 pass in * * tcp 12000 * remote * nolog

 を追加してもいいでしょう。挙動を眺めているとどうも翻訳サーバーがこのポートを利用しているようなので、Ultima Onlineのクライアントの設定で翻訳サーバーを利用しないようにするとこのポートは利用されないようです。

 これでめでたくUltima Onlineを遊ぶことができるようになります。