RO emulator[内部からの接続]

Date : 2006-02-04
Author : Defolos

CONTENTS

(1.) RO emulatorとは
(2.) 手順
(3.) サーバ等の準備
- jAthena
- Cygwin
- ROクライアント
(4.) コンパイル
(5.) 設定ファイルの変更
(6.) サーバの起動
(7.) アカウント作成
(8.) クライアントの変更
(9.) クライアントの起動とログイン

RO emulatorとは

 ROとは韓国のGravity社が開発したオンラインゲーム「RagnarokOnline(以後ROと省略)」の俗称であり、RO emulatorとはこのRagnarokOnlineのサーバエミュレータです。正規のROのサーバを模したサーバで、これを使うことにより個人でもゲームサーバの構築、管理が可能となります。また、ループバックアドレスを指定してサーバに接続することでオフライン上でも接続が可能です。

 ROのエミュレータにもいくつか種類がありますが、このページでは「Athena」というエミュレータの日本語版である「jAthena」を使ってローカル内でのサーバ構築から接続までを行う方法を解説します。


手順

 Athenaでサーバを構築し、ローカルから接続する手順は次の通りです。

  1. サーバ等の準備
  2. コンパイル
  3. 設定ファイルの変更
  4. サーバの起動
  5. アカウント作成
  6. クライアントの変更
  7. クライアントの起動
  8. 接続確認

サーバ等の準備

 まず、必要なものを確認します。次のような物が必要となります。

● jAthena

 jAthenaサーバのソースを用意します。ソースはhttp://sourceforge.net/projects/jathena/からダウンロードしてください。最近のバージョンには重量が0になり、一度画面外にNPCを出さないとNPCが表示されないバグが存在していますので、バグフィックスされるまでは以前のバージョンを利用した方がいいでしょう。

● Cygwin

 CygwinはGNUの開発ツールを含むUNIXの様々なフリーソフトをWindowsに移植したものです。これにはUNIXのAPIをWindowsのAPIでエミュレーションするライブラリであるCygwin DLLと、このライブラリに対応したGNUの開発ツールが用いられています。。AthenaはUNIXライクのOS上で動作するため、WindowsでAthenaを動作させるためにはCygwinを利用します。最低限Cygwinにインストールしていなければならないものを次に列挙します。

 Cygwinの導入については他のページを参照してください。Cygwinにはあまり不要なプログラムをインストールしないように注意してください。これはセキュリティの面からも重要なことです。不要なプログラムでもインストールしていると、場合によってはセキュリティホールを外部に提供してしまうことになりかねません。こういった可能性を出来る限り低減させるため、不要なプログラムはインストールしない方が良いでしょう。

● ROクライアント

 ROのクライアントはRagnarokOnlineの公式サイト(http://www.ragnarokonline.jp/)からダウンロードしてください。インストールとパッチの適応についてはRagnarockOnlineの公式サイトを参照して行ってください。Athenaを使用する場合でも最新のパッチを当てる必要があります。


コンパイル

 Athenaはソースという形で公開されているため、利用するにはコンパイルを行う必要があります。コンパイラはCygwinにgccをインストールすることで用意できます。

 まずダウンロードしたjAthenaアーカイブを解凍します。解凍するとディレクトリが出てきますので、このディレクトリの名前を「athena」に変更してください。次に、このディレクトリをCygwinディレクトリ内のhomeディレクトリに移動させます。リネームや移動作業を行ったのは後でアクセスしやすく、わかりやすくするためです。

 AthenaはコンパイルツールしてMakefileを提供していますので、コンパイルは非常に簡単です。Cygwinを起動し、カレントディレクトリを先程移動させたathenaディレクトリに変更します。athenaディレクトリをカレントディレクトリに変更したら、次のようにタイプしてコンパイルを行います。

$ make

 これで同ディレクトリ内のMakefileを参照してmakeコマンドが実行されます。makeコマンドはMakefileというファイルの記述に従ってファイ ルの更新を行なうユーティリティです。GNU makeユーティリティは大きいプログラムのどの断片が再コンパイルされる必要があるかという事と、それらを再コンパイルする発行コマンドを自動的に決定します。
 外部からサーバへ接続する場合はMakefileを一部修正する必要がありますが、外部からの接続は他のページに記述しますので今回は特に修正を行わずにmakeします。


設定ファイルの変更

 jAthenaの設定ファイルの中には一部修正を行わなければならないファイルがあります。athenaディレクトリ内のdbディレクトリ内にあるpacket_db.txtというファイルをテキストエディタで開いてください。このファイルの真ん中あたりに「// jROはここまで」といったようなコメントがあると思いますので、それ以降をコメントアウトするか削除してください。このコメント以下は古いバージョンや韓国のクライアントで使用する等のため、これ以降のレコードが残っていると不具合が発生します。
 具体的にはキャラクタセレクタサーバまでは接続できてもログインするとサーバからの接続がキャンセルされます。このような症状におちいったら、まずこのファイルを修正したかどうかを確認してください。

 上記のpacket_db.txt以外は特に修正が必須という訳ではありませんが、confディレクトリ内のbattle_athena.confには戦闘関係の設定が納められていますので変更が必要な場合はbattle_athena.conf内のコメントを参照しながら設定してください。
 また、外部からの接続を行う場合はconfディレクトリ内のchar_athena.conf、map_athena.conf、login_athena.confの3つのファイルを変更する必要がありますので、他のページで解説を行います。


サーバの起動

 Athenaサーバを起動するには、Cygwinを起動しカレントディレクトリをathenaディレクトリに変更します。そして次のようにタイプします。

$ ./athena-start start

 しばらく待つと起動が完了します。Athenaサーバを終了させる場合は次のようにタイプします。

$ ./athena-start stop

 このとき先頭の「./」を忘れないように注意してください。これはカレントディレクトリを意味しています。通常プログラムを走らせる(起動させる)場合、どこのディレクトリに存在するのかを明示する必要があります。pingなどのプログラムがディレクトリまで明記する必要がないのは、すでにプログラムが登録されているため(パスが通っている)です。
 Athenaはパスが通っていませんので、ディレクトリを明記する必要があります。もし一階層低いconfディレクトリをカレントディレクトリにし、そこからAthenaを起動させる場合は次のようにします。

$ ../athena-start start

 「../」はひとつ上のディレクトリを意味しています。つまり「ひとつ上のディレクトリにあるathena-startを走らせる」という意味になります。

 ROのサーバはログインサーバ、キャラクターセレクトサーバ、マップサーバに分かれており、ログインサーバはアカウントの認証を行い、キャラクターセレクトサーバはキャラクターの作成・管理を行っており、マップサーバはゲーム内の町やフィールドなどのマップを管理しています。これら全てが正常に起動していないと接続することができませんのでご注意ください。


アカウント作成

 Athenaサーバを起動させたら、ログインするためにアカウントを作成しましょう。アカウントの作成には「ladmin」という付属のツールを利用します。ladminを起動させるには事前にAthenaサーバが起動している必要があります。

 ladminはathenaディレクトリ内のbinディレクトリにあるtoolディレクトリに納められていますので、athenaディレクトリから次のようにタイプして起動させます。

$ ./bin/tool/ladmin

 ladminが起動すると青緑の「ladmin >」というプロンプトが表示されます。この状態でhelpとタイプすることで使い方を確認することができます。今回はアカウントを追加するだけですので、次のようにタイプしてください。

ladmin > add defolos-01@user M passwd_of_account

 これでアカウント名がdefolos-01@userの男性のアカウントが作成されます。また、パスワードはpasswd_of_accountになります。
 最初のaddの部分はユーザを追加する場合に使用するコマンドで、その次にアカウント名、次にそのアカウントが男性か女性かを下記の通りMとFで指定し、最後にそのアカウント名のパスワードを指定します。アカウント名には特に書き方に制限はありませんが、なんらかの規則性をもたせる方が管理面での利点が大きいと言えます。

 性別はゲーム内のキャラクターの性別に反映されます。最後に次のようにタイプしてladminを終了させてください。

ladmin > quit


クライアントの変更

 Athenaサーバへ接続する場合、RagnarokOnlineの正規のクライアントでは接続できません。ダウンロードしていただいた正規クライアントの一部のプラグラムを変更することでAthenaサーバへの接続が可能になります。

 まず、RagnarokOnlineがインストールされているフォルダに移動してください。RagnarokOnlineはデフォルトでは「C:\Program Files\Gravity\RagnarokOnline」にインストールされています。このフォルダ内のRagexe.exeというプログラムを変更する必要があります。下記のURIより圧縮ファイルをダウンロードして解凍し、Ragexe.exeを上書きしてください。これでRagexe.exeの変更は完了しました。

 次に、同フォルダ内に「Data」というフォルダを作成してください。その中に下記のURIの圧縮ファイルを解凍して得られるclientinfo.txtをコピーしてください。このclientinfo.txtには、どこのIPアドレスに接続するかという情報が<address></address>の部分に記載されていますので、この部分が<address>127.0.0.1</address>になっているかどうか確認してください。127.0.0.1というIPアドレスはローカルホストを意味し、自分自身に接続することになります。

 Athenaへの接続に必要な圧縮ファイル(roemu_tool.zip:967KB)
 http://ruffnex.oc.to/defolos/text1/game/roemu_tool.zip

 最後にRagexe.exeのショートカットをつくり、[右クリック]→[プロパティ]を選択してください。ウィンドウが開きますので、「リンク先」という項目を次のように変更してください。

"C:\Program Files\Gravity\RagnarokOnline\Ragexe.exe" 1rag1 /account:clientinfo.txt

 後はこのショートカットをデスクトップなどのクリックしやすいところに配置し、Athenaサーバに接続するときにショートカットをダブルクリックしてください。これでRagnarokOnlineのクライアントが起動し、Athenaサーバへ接続が可能となります。


クライアントの起動とログイン

 それでは先ほど作成したショートカットをダブルクリックし、クライアントを起動させてください。このとき、一度正規のパッチを当てている必要がありますので、まだパッチを当ててない方はRagnarok.exeを起動させ、最新版のパッチを当ててください。Ragnarok.exeを起動させると自動でパッチが当たります。

 後はこのページで設定したアカウント情報を入力し、ログインしてください。それではRagnarokOfflineをご堪能ください。


■参考文献


go back to the TOP page of Glazheim Lykeion.