恐らくaurigaもrAthenaも構築方法は同じはず、
今回は、日本人が開発しているauriga鯖の構築方法を解説していく。
ちなみに、rAthenaは英語圏の人が開発してるから日本語化とか色々手間が増える予感がする。
必要な物
ツール(工具)
GRFファイルを用意する。
クライアント側
サーバー側
パッチクライアント
サーバーに接続する。
外部から他人を自分の鯖に接続させる。
ツール(工具)
何はともあれ、何かを作るには工具が必要だ!工具を準備しよう!
エディタ
エディタは、なんでも良いが文字コードが変更できる物がお勧め
今回は、Visual Studio Code(通称:VS code)を使っていく。
下記からVisual Studio Codeをダウンロードし、インストールしてください。
ダウンロード:
https://azure.microsoft.com/ja-jp/products/visual-studio-code/
適当にやればインストールできると思いますが、詳しく知りたい方は自分でググってください。
VS code 日本語化:
「英語で使いにくいよ。」って方は、下記を参考に日本語化するといい。
https://www.javadrive.jp/vscode/install/index4.html
コンパイラ
Auriga は C 言語で記述されているため、C コンパイラが必要です。
動作が確認されているコンパイラは gcc/bcc/vc です。
Linux の場合
・gcc を用いると良いでしょう。
Windows の場合
・Cygwin + gcc
・MinGW + gcc
・Borland C++ (以下 bcc)
・Visual C++ (以下 vc)
などのどれか一つを用意すればいいでしょう。
Cygwinは、なぜかコンパイル時にエラーが出てコンパイル失敗したので(原因は、後日究明予定:誰か代わりに調べてくれてもいいんだよ?)
今回は、Visual Studio Communityをインストールして、その中に入っているC++のコンパイラを使っていこうと思う。
下記から、Visual Studio Community(無料)をダウンロードする。
ダウンロード:
https://visualstudio.microsoft.com/ja/downloads/
インストール:
インストール時に、C++って書いてあるやつはとりあえず全部チェック付けてインストールされるようにしとけ。
何か足りなくて失敗するより、とりあえず全部入れとけば何とかなるだろう精神
GRFを解凍・圧縮するソフト
とりあえず、下記を全てダウンロードしとけば何とかなるはず
GRF エディター:
https://rathena.org/board/files/file/2766-grf-editor/
直リン:http://www.mediafire.com/file/aflylbhblrzpz0h/GRF_Editor_v1.8.4.1.zip/file
GrfFactory:
http://npcdirectory.xxxxxxxx.jp/sakageclient/grffactory.zip
↑wikiwikiがzipファイルをダウンロードさせてくれないから、URLコピってダウンロードしてください。
Grftool:
http://npcdirectory.xxxxxxxx.jp/sakageclient/grftoolj.zip
↑wikiwikiがzipファイルをダウンロードさせてくれないから、URLコピってダウンロードしてください。
なんで3つも必要かって?
プラスドライバーとマイナスドライバーと六角レンチみたいなもんだよ。
プラスドライバーで、マイナスドライバーのネジを外そうとしても外せないだろ?
GRFエディタじゃないと開けないやつあるのとソフトによって使い勝手が違うので、とりあえず全部入れとけば用途によって使い分けられて便利だよ。
GRFエディタだけで、全て出来たらいいんだけど…(単純にGRFエディタの使い方が良くわかってないだけw)
GRFファイルを用意する。
- data.grf(RO「日本」のフォルダーの中に入っているよ。)
- rdata.grf(RO「韓国」の中に入っている。今回は、使わないよ。)
クライアント側
クライアント本体
- 日本RO公式サイトからダウンロードする。(公式サイトのURLは逆探知されるのでここには張らない。自分でググってください。)
- 普通にインストールする。
- 無料アカウントか何かを作って、最新パッチまで当てておく。
- 無料アカウントでいいので、一度、本鯖にログインしておく。(なにかファイルが作られるらしい。savedataフォルダとかね。)
接続キット
何処かから、接続キットを入手する。
稼働中のエミュ鯖から、拝借してくるのが一番手っ取り早い。
今回は、rina鯖の蔵(2017-06-14bRagexeRE)を利用する。
rina鯖の鯖選択にlocal hostがあるので、何もしなくてもlocal hostを選べば自鯖に繋がるようになっている。
clientinfo関係のファイルのみ配布
clientinfo.zip
Ragpatcher.exeを実行した後の中身
- /AI_sakray
- /data(今回は、使わない。)
- /patchBox(今回は、使わない。)
- /System
- Auriga.grf(たぶんrdata.grf関係が入ってる。暗号化されてて詳細な中身は見れない。)
- clientinfo.grf(接続先を変更するのに使っている。)
- cps.dll(これわからんけど、入れないとエラー出る。)
- DATA.INI(grfの読み込み順を制御するファイル)
- patch.conf(今回は、使わない。)
- RagexeRina.exe(ゲームする時に実行するやつ 2017-06-14bRagexeRE)
- Ragpatcher.exe(今回は、使わない。)
下記、3点はパッチ鯖を建てて使う時に使う。
- Ragpatcher.exe(架空のドメインに設定してある為、使用不可-ドメイン設定すれば使える。)
- patch.conf(架空のドメインに設定してある。)
- /patchBox(patcher使用時に表示される画像とかデフォルトhtmlとか…)
- 接続先を変更する場合は、/dataの中に入っているclientinfo.xmlを弄って接続先を変更し、clientinfo.grfという名前でgrfファイルに圧縮して既存の物と置き換える。
RO本体を魔改造する。
RO本体をコピーする。
先ほど、パッチを当てたROのフォルダを丸ごとコピーし、好きな名前に変更する。
今回は、localにかけて、rocalにしてみた。
C:\Gravity\rocal\
接続キットをぶちこみ
C:\Gravity\rocal\の中に、
先ほどダウンロードした接続キットの中身を上書きで全てぶちこむ。
サーバー側
サーバー本体
今回はaurigaを使うので。下記からauriga本体をダウンロードする。
aurigaのgithubに行って、右上の[Code]ってとこを選択すると[Download.ZIP]って出てくるから、
それを選べば本体がダウンロードできるはず。
aurigaダウンロード:
auriga
auriga github
rAthenaを使う場合は、下記からダウンロードする。(今回は要らない。)
rAthenaは、開発が海外勢だから日本語化とかめんどくさいかも。
rAthenaダウンロード:
rAthena
rAthena github
データベース(mysql)とかその他細かい事
今回は、mysql使わないから細かい事知りたきゃ下記を参照するかググってください。
https://github.com/auriga/auriga/blob/master/doc/server_build.txt
サーバー環境準備
C:\直下に、roseRverという名前でフォルダーを作る。
C:\roseRver\
その直下に、grfという名前でフォルダを作る。
C:\roseRver\grf\
用意したgrfをgrfフォルダの中にぶちこむ。(主にmapデータ関連のgrf)
C:\roseRver\grf\Auriga.grf (接続キットの中に入ってる。)
C:\roseRver\grf\data.grf (RO「日本」のフォルダの中に入っている。)
C:\roseRver\grf\rdata.grf (RO「韓国」のフォルダの中に入ってる。今回は使わないから要らないよ。)
※clientinfo.grfは、要らない。(mapデータ関連が入ってないからサーバー側では使わない。)
環境によって違うので、自分が使う環境に合わせてgrfファイルを用意する。
今回は、rdata.grf使わないから要らないけど、そのうち必要になると思う。
grfファイルが無いと、サーバー起動時に「mapデータが在りませんよー」って英語で言われる。
C:\roseRver\直下に、先ほどダウンロードしたauriga-masterをぶちこみ名前をaurigaに変更する。
C:\roseRver\auriga\
サーバーの設定を変更する。
設定を変更するのは、下記の3ファイル
- C:\roseRver\auriga\conf\grf-files.txt
- C:\roseRver\auriga\db\packet_db.txt
- C:\roseRver\auriga\vc_make.bat
C:\roseRver\auriga\conf\grf-files.txtを修正する。
C:\roseRver\auriga\conf\grf-files.txt をエディタで開き設定を変更する。
さっきダウンロードしたVScodeで開くと文字化けするから、いちいちエンコード変更するのめんどくさい…
もうメモ帳で開いてやっている。その方が効率よい。
grf: C:\Gravity\Ragnarok\data.grf
grf: C:\Gravity\Ragnarok\sdata.grf
grf: C:\Gravity\Ragnarok\adata.grf
と書かれている箇所を、下記(先ほどgrfファイルを置いた場所)に変更する。
grf: C:\roseRver\grf\data.grf
grf: C:\roseRver\grf\Auriga.grf
C:\roseRver\auriga\db\packet_db.txtを修正する。
C:\roseRver\auriga\db\packet_db.txt を修正する前に、
packet_db.txtをコピーしてバックアップを取って置く。
例:packet_db - コピー.txt
packet_db.txtを開く。
自分が使う蔵のバージョンに合わせて、それ以降を削除する。
今回は、2017-06-14bRagexeREを使うので、
2017-06-14bRagexeRE以降の//2017-08-30bRagexeREから後ろを全てコメントアウト又は削除する。
(俺は、めんとくさいから削除した。packet_db.txtのバックアップ取ってあるからね。)
※以前のバージョンの蔵を使う場合は、そのバージョン以降のパケット情報を消す必要がある。
今現在(2021年6月)、packet_db.txtに記載されている最後のパケット情報の日付は下記です。
2017-08-30bRagexeRE
C:\roseRver\auriga\vc_make.batを修正する。
C:\roseRver\auriga\vc_make.bat をエディタかメモ帳で開く。
文字化けしている場合は、「Shift JIS」にエンコードを変更する。(変更の仕方は、自分でググれ!)
set __PACKETDEF__=/D "PACKETVER=20151029" /D "NEW_006b"
上記の箇所を下記に変更する。
set __PACKETDEF__=/D "PACKETVER=20170614" /D "NEW_006b"
rem ---- VC++ 2017 64bitコンパイル の設定
rem set PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin;C:\Program Files\Windows Kits\8.1\bin;C:\Program Files\Windows Kits\10\bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE;%PATH%
rem set INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\include;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\atlmfc\include;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Li\10.0.14393.0\ucrt;%INCLUDE%
rem set LIB=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\lib\x64;C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\ucrt\x64;%LIB%
rem set __VCVER__=2017
rem set __BITTYPE__=x64
rem ---- VC++ 2017 64bitコンパイル の設定ここまで
上記の箇所を下記に変更する。※Visual Studio Community 2019の場合の設定です。
(Visual Studioのバージョンによって数字変わるから自分のバージョンに合わせる。バージョンの確認方法?そんなもん自分で調べろよ。)
rem ---- VC++ 2019 64bitコンパイル の設定
set PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\bin\Hostx64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\bin;C:\Program Files (x86)\Windows Kits\10\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE;%PATH%
set INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\atlmfc\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt;%INCLUDE%
set LIB=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x64;C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;%LIB%
set __VCVER__=2019
set __BITTYPE__=x64
rem ---- VC++ 2019 64bitコンパイル の設定ここまで
rem set __ZLIB__=/D "LOCALZLIB"
上記の箇所を下記に変更する。(コメントアウトを外す。)
set __ZLIB__=/D "LOCALZLIB"
set __NO_HTTPD__=/D "NO_HTTPD"
上記の箇所を下記に変更する。(コメントアウトする。)
rem set __NO_HTTPD__=/D "NO_HTTPD"
※remってのは、コメントアウトの意
※vc_make.batを修正し終わったら、バックアップを取っておく。
(auriga更新時とかに間違えて上書きして消えちゃったら、やり直しだからね。)
サーバーをコンパイルする。
ここまで終わったら、vc_make.batを実行する。
下記を実行する。
C:\roseRver\auriga\vc_make.bat
エラーが出なければいいね!(エラー出た場合は、教えてください。)
失敗した場合は、vc_clean.batを実行してやり直し。
エラーが出た場合、下記を実行する。
C:\roseRver\auriga\vc_clean.bat
エラー出た場合は、何処か間違ってるから間違ってる箇所を直してからじゃないと、またエラー出るよ。
何処が、間違ってるかって?知らんよ。自分で調べるか、誰かに聞け!
サーバーを起動する。
下記を実行すると、色々開いてサーバーが起動する。
C:\roseRver\auriga\win32_start.bat
windowsのセキュリティで、「許可しますか?」って3つ出るから3つとも許可しろ。
サーバー起動時に、エラーが出ないといいね。(エラー出たら、何処か間違ってるかも知れない。)
下記、エラー出るけどmapデータが無いだけだと思う。無くても問題なく起動するから、とりあえず放置で大丈夫
data\job3_arch03.gat not found._arch03.gat
Map 'data\job3_arch03.gat' not found: removed from maplist.
data\job3_rune03.gat not found._rune03.gat
Map 'data\job3_rune03.gat' not found: removed from maplist.
data\job3_war02.gat not found.3_war02.gat
Map 'data\job3_war02.gat' not found: removed from maplist.
data\jupe_core2.gat not found.e_core2.gat
Map 'data\jupe_core2.gat' not found: removed from maplist.
871 maps in configuration file. 4 maps removed.
下記エラーは、知らん。とりあえず放置でも起動できるから大丈夫だろう。
mapreg_txt_load: open [save/mapreg.txt] failed !
サーバーを終了する。
サーバーを終了する時は、
必ず「Ctrl+C」で終了する事
そうしないと、データがセーブされない。
アカウント作成
サーバー起動している時に下記にアクセスするとアカウント作成画面が表示されるので、アカウントを作成する。
パッチクライアント
パッチクライアントについて
今回は、やらないよ。
下記のページが役に立つかも知れないよ。
サーバーに接続する。
自前の鯖に接続する。
先ほど作った C:\Gravity\rocal\ の中にぶちこんだRagexeRina.exeをダブルクリックして起動する。
(どこかにショートカット作っておくといいかも。)
※2017-06-14bRagexeREが見つからない為、rina鯖の蔵を勝手に使っています。ごめんなさい…
「Lua Files\SkillInfoz\skilltreeview」
「C:\圧縮\skilltreeview.lua:1352: attempt to index global 'JobSkillTab' (a nil value)」
[ OK ]
というエラーが出る。
これ出ないようにする方法わかる人、教えてください。
[ OK ]を押す。
デフォルトでは下記の二つが表示されるが、
どちらも127.0.0.1(ローカル鯖)にアクセスするように設定されているので、どちらを選んでも良い。
外部に公開する場合は「おっ、と、それは自分で考えな!」
- NEW WORLD
- Local Server
後は、先ほど作ったアカウントを入力してログインするだけ、
「エラーが出て接続出来なかったら教えてください。」
大抵の場合は、パケット不整合か、grfファイルのパスが間違っているか、らしい。
キャラクターを作成してエラー落ちが発生した後、
再度、接続して下記が出た場合は、蔵バージョン不一致によるエラー
「CHARACTER_INFO size error!! character num 1 CHARACTER_INFO size 147」
一度、サーバーを終了して、
C:\roseRver\auriga\save\auriga.txtから今エラーが出たキャラクターのデータを削除して
蔵のバージョンに合わせてパケット設定をやり直し、
vc_clean.batを実行してから、
vc_make.batをやり直す。
それでは、良いROライフを^^
外部から他人を自分の鯖に接続させる。
ここから先は、すべて自己責任でお願いします!!
一人で勝手にこじんまりとやる分には良いが外部から人を集めるとなると、それ相応のリスクが伴う事を理解する事。
このwikiは、一人でローカルでゲーム研究の目的の為にサーバーを構築する事を前提に記載しています。
貴方がサーバーを全世界に公開するという事は、
- 利権的な意味でも
- 著作権的な意味でも
本鯖に影響を与えるので捕まったり裁判になったりしても我々は責任を負いません。
ここから先は、自分で勉強しなさい。
ここから先は、すべて自己責任でお願いします!!