トピックス


2007
10/14  注釈追加

2005
05/21  とりあえずのインストールメモ

広告

athenaサーバインストールメモ

2007/10/14更新。
公開している情報が古くなったので、最近用意できる環境(athena-dev-2.1.1-mod2307_2324、Visual C++ 2005 Express Edition、MySQL5.0)で更新しようかと思ったら、メイクファイルとかに説明が追加されていて、あまりに簡単すぎて吹いた。
ここの説明を読まなくても構築できると思います。
逆に読まない方がいいかもね。

最近の環境の構築メモもあった方がよいのかなぁ?




以下は、2007/05/21に記述された文章です。
ラグナロクオンラインのエミュレータサーバ「athena」のインストールメモです。
使用したソフトは以下の通り。
プログラムを知らない友人から解説を依頼されたので、基本的にOS以外は無料で使えるものを用意しました。

 athena本体
・コンパイラ(両方必要)
 Visual C++ Toolkit 2003
 Platform SDK(サイトがありませんがOSによって必要なファイルのところへ振り分けられます)

・データベース
 MySQL 4.1.11 [Windows (x86)]
また以下のものは必須ではないが、簡単にSQLを流すために用意しました。
・SQL開発環境
 Common SQL Environment ver1.59
・MySQL接続DLL
 winclients-3_22_28_sjis.zip

なお、今回はサーバ環境として、Microsoft Windows Server 2003 Standard Editionを用意しました。
インストール直後の全くなにも入っていない状態から始めます。

トップへ▲

●コンパイラのインストール。
 Visual C++ Toolkit 2003をインストールします。
 ダウンロードしてきた「VCToolkitSetup.exe」(2005/05/18現在)を実行します。

(1)はじめに

(2)規約

(3)インストールフォルダ
特にいじらなくてもいいと思います。
(4)最終確認
Installボタンを押下するとコピーが始まります。
(5)インストール完了。



http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ からサイトへ飛ぶと、Windows Server 2003 SP1 PlatformSDKをダウンロードするページに回されます。
実際に使っているOSと異なるかもしれませんが、ここはこれをダウンロードして構いません。
通信系のファイルだけが有ればいいのですが、一括でしか落とせないようなので(以前なら選べたんだけど)Windows Server 2003 SP1 Platform SDK Full Downloadを選択。
とりあえず全部ダウンロードします。

PSDK-FULL.exeを実行し、PSDK-FULL.batとExtract.exeを展開します。

次にコマンドラインから PSDK-FULL.batとオプションに展開フォルダを指定してPlatformSDKを展開します。
PSDK-FULL.bat c:\temp\psdk\

展開が完了したら setup.exe を実行してインストールの開始。

(1)はじめに
(2)規約
(3)登録者名
(4)インストール形式
Customを選択
(5)インストールフォルダ
特にいじらなくてもいいと思います。
(6)インストールする
コンポーネントの案内
(7)コンポーネントの選択
Configuration Option、Microsoft Windows Core SDK以外は外して構いません。
(8)ファイルコピーの確認


(9)インストール完了




トップへ▲

●データベースのインストール
 ダウンロードしたmysql-4.1.11-win32.zip(2005/05/18現在)からSetup.exeを実行します。

(1)はじめに

(2)インストールタイプの指定
詳細設定を行うのでCustomを選択
(3)インストール詳細設定
C Include Files / Lib Filesを追加
(4)設定確認
この後ファイルのコピーが始まります
(5)MySQL.comの会員確認
スキップでいいでしょう

(6)サーバの設定を行う
チェックを付けて次へ

(7)サーバ設定開始


(8)設定モード
詳細設定を行うのでDetailed Configurationを選択
(9)マシンの使用形態
とりあえずServer Machine



(10)データベースの使用形態
athenaのテーブル定義をみていたらNon-Transactional Database Onlyでも良いだろうけど、一応Multifunctional Databaseを選ぶ
(11)データベースフォルダの指定
ここの設定はathenaでは使われないのでとりあえず空いているドライブに


(12)接続形態の設定
とりあえずDecision Support(DSS)/OLAPを選択


(13)ポートの設定
とりあえずはそのままで良いでしょう




(14)文字コードの設定
Best Support For Multilingualismを選択



(15)サービスの設定
既に同じサービスがない限りそのままで良いでしょう
あとInclude Bin Directory in Windows PATHにもチェックを入れておくと良いでしょう
(16)rootパスワードの設定





(17)設定作業の開始
Executeを押下すると設定内容が適用されます
(18)設定完了
MySQLのインストールは完了です


トップへ▲

●athena用データベースの設定
データベースに接続し、athena用データベースとユーザを作成します。
これはサーバ側で行います。

コマンドプロンプトを開きMySQLのコンソールへrootユーザで接続します。
mysql -u root -p
パスワードを聞かれるのでインストール時に設定したパスワードでログインします。

CREATE DATABASE `ragnarok` DEFAULT CHARACTER SET sjis;
を入力し、データベースを作成します。

データベース操作用にSELECT、INSERT、UPDATE、DELETE権限だけを持つユーザを作成します。
GRANT SELECT,INSERT,UPDATE,DELETE ON `ragnarok`.* TO 'ragnarok'@'localhost' IDENTIFIED BY 'password';

ここからは、サーバ機のみでコントロールを行う場合テーブルの作成まで読み飛ばしてください。
このとき、データベースサーバと主な作業を行うマシンが分かれている場合は
localhostの部分を % にします。
ひとまず後のネタのために、両方登録しておきます。
また今回、主な作業を行うマシンはMySQL4.0用のクライアントを使用します。
MySQL4.0と4.1ではパスワードの仕様が変更されているため、4.0用のパスワードのためにOLD_PASSWORDキーワードを使用してパスワードを上書きしておきます。

host名を % でユーザの追加。
GRANT SELECT,INSERT,UPDATE,DELETE ON `ragnarok`.* TO 'ragnarok'@'%' IDENTIFIED BY 'password';

データベースをmysqlに切り替え
use mysql;

ユーザ情報テーブルのパスワードを上書き
UPDATE User SET Password = OLD_PASSWORD('password') WHERE Host = '%' AND User = 'ragnarok';

テーブルを直接書き換えた場合に、権限情報を再度読み込ませる
FLUSH PRIVILEGES;


●テーブルの作成。
athenaを適当なフォルダへ展開します。
sql-filesフォルダにmain.sqlというテーブル作成スクリプトが有るので、これを流します。
mysql -D ragnarok -h localhost -u root -p < sql-files\main.sql
ここでもrootアカウントのパスワードを入力します。





●ゲームアカウントの作成
ここからCommon SQL Environment(以下CSE)を使ってデータベースの操作をします。
ここからはサーバでも普段使うマシンでも構いません。

CSEのアーカイブを適当なフォルダへ展開します。
続いて winclients-3_22_28_sjis.zip から libmySQL.dll を取り出し、CSEと同じフォルダに置きます。

CSE.exeを起動しメニューの「データベース」から「接続」を選択します。
DBMSは MySQL、ユーザ名・パスワード・サーバー名と、DB名はragnarok、ポート番号は変更していなければ3306を設定して OK ボタンを押下します。

権限不足のエラーメッセージが表示されますが、ここでは問題ないので(゚ε゚)キニシナイ!!

右のDBエクスプローラからテーブルツリーを開き、loginテーブルで右クリックメニューから「全データを開く」を選択します。
すでに s1 ~ s15 までのアカウントが作成されています。ここを直接書き換えるか、左側グリッドの一番下の行にデータを追加します。

アカウントとして最低限必要なのは、account_id・userid・user_pass・sex・levelです。
account_idは重複したデータを許さない設定になっています。必ずかぶらない番号になるようにしましょう。


●athenaサーバの設定
confフォルダのlogin_athena.confとchar_athena.confを編集します。

login_athena.confとchar_athena.confの下の方にMySQLへ接続するための情報があるので、「athena用データベースの設定」で設定したアカウント情報を設定します。


●athenaサーバのビルド
athenaのフォルダに、vc07_make.bat というファイルが有るので、環境に合わせて書き換えます。
先ほどインストールした Platform SDKのパスが異なっているので、Set PATH・Set INCLUDE・Set LIBの行を書き換えます。
C:\Program Files\Microsoft SDK\~となっているところを C:\Program Files\Microsoft Platform SDK\~に書き換えます。

またMySQL用の設定も追記します。
ちなみに、今回の環境では、Set~の3行は以下のようになりました。
ページ幅が足りなくて複数行で表示されていますが、Set~が行頭です。

Set PATH=C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;C:\Program Files\Microsoft Platform SDK\Bin;C:\Program Files\Microsoft Platform SDK\Bin\winnt;%PATH%
Set INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;C:\Program Files\Microsoft Platform SDK\include;%INCLUDE%;C:\Program Files\MySQL\MySQL Server 4.1\Include
Set LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;C:\Program Files\Microsoft Platform SDK\Lib;%LIB%;C:\Program Files\MySQL\MySQL Server 4.1\Lib\Opt

そしてコンパイル。

ワーニングが出ますが、気にしないでおきましょう。 気になるならなおしても良いけど。
ビルドが完了すれば、binフォルダにexeファイルが生成されます。

あとはマップデータを用意して、C:\Program Files\Gravity\RagnarokOnline\フォルダか、athenaのdataフォルダとして設置します。

実行は、athenaフォルダのwin32_start.batを実行すれば完了。


追記。
キャラクタ作成・選択までいけるのに、マップサーバに繋がらないってときは、
athenaのフォルダにあるdb\packet_db.txtを確認してください。 ファイルの中に、「jROはここまで」と書いてあるところがあるので、それ以降の行はコメントアウトします。


DIGITAL WORKPLACE AND PLAYROOM  おさ's Web Room