/
server_build.txt
254 lines (180 loc) · 11.5 KB
/
server_build.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
==========================================================================
サーバーの構築方法
--------------------------------------------------------------------------
Auriga の構築方法を解説するドキュメントです。
※Readme に最下部の書かれているサーバーの構築方法は、
現在主流となっている Athena-dev-2.1.1-modXXXX ではなく、その基礎となった
Athena-dev-2.1.1(公式の Athena 開発チームが作成した)を解説しているため、
現在の Auriga には適用できません。
--------------------------------------------------------------------------
1. grf ファイルの用意
マップデータを読み込むために data.grf か sdata.grf が必要です。
これらのファイルのパスを conf フォルダの grf-files.txt で指定します。
--------------------------------------------------------------------------
2. コンパイラの用意
Auriga は C 言語で記述されているため、C コンパイラが必要です。
動作が確認されているコンパイラは gcc/bcc/vc です。
Linux の場合
・gcc を用いると良いでしょう。
Windows の場合
・Cygwin + gcc
・MinGW + gcc
・Borland C++ (以下 bcc)
・Visual C++ (以下 vc)
などのどれか一つを用意すればいいでしょう。
--------------------------------------------------------------------------
3. ライブラリの用意
・MySQL ライブラリ
データの保存に MySQL を用いる場合、すべてのコンパイラで共通に必要なもの
として MySQL ライブラリがあります。MySQL をインストールしたフォルダなどに
ありますので、そのパスをコンパイラに正しく設定しましょう。
・zlib の dll
実行ファイルと同じフォルダに置いてください。
ただし Auriga は src フォルダ内に zlib のソースを持っていますので、後述する
ビルドオプション LOCALZLIB を定義すればこの dll を用意する必要はありません。
・Platform SDK
Visual C++ Toolkit 2003 または Visual C++ 2005 Express Edtion を
使用している場合には別途インストールする必要があります。
インストールしたらそのパスを vc_make.bat に正しく設定しましょう。
--------------------------------------------------------------------------
3. ビルドオプションの設定
gcc の場合は makefile, bcc の場合は bcc32_make.bat, vc の場合は vc_make.bat を
エディタで開き、ビルドオプションを変更します。
これらのファイルにはコメントで変更すべき場所が書いてあるのでそれを参考に
自分が必要な設定を行います。
マクロ定義部分に関して簡単に説明します。
PACKETVER
使用するクライアントに合わせて調整して下さい。
各PACKETVERに対応するクライアントはmakefile,bcc32_make.bat,vc_make.batに書かれています。
TXT_ONLY
定義するとデータの保存形式をテキスト形式にします。
このマクロを定義しない場合、MySQL を利用します。
TXT_JOURNAL
TXT_ONLY と同時に定義すると、データの保存にジャーナルを併用します。
テキスト保存形式の欠点といえる、信頼性(耐障害性)の無さを補います。
これにより、信頼性を保ったまま、重いデータ保存処理を減らすことができます。
ジャーナル機能に関しては doc/journal.txt を参照してください。
LOCALZLIB
定義すると、zlib をコンパイルします。
この場合、zlib の dll が不要になります。
CMP_AUTHFIFO_LOGIN2
定義すると、キャラサーバーとマップサーバーでのクライアント認証の際に
認証データとの比較に login_id2 を用います。
使うクライアントによってはこの設定が必要です。
少しセキュリティに影響するので、必要ない場合は定義しないほうがいいです。
CMP_AUTHFIFO_IP
定義すると、キャラサーバーとマップサーバーでのクライアント認証の際に
認証データとの比較に IP アドレスを用います。
セキュリティに影響するので、定義すべきではありません。
NO_HTTPD
定義すると、httpd に処理を渡す部分をコンパイルしなくなります。
この場合、conf で httpd を有効にしても httpd として動作しません。
httpd 機能に関しては doc/httpd.txt を参照してください。
NO_HTTPD_CGI
定義すると、httpd の外部 CGI 機能をコンパイルしなくなります。
この場合、conf で外部 CGI を有効にしても外部 CGI を実行できません。
httpd 機能/外部 CGI 機能に関しては doc/httpd.txt を参照してください。
NO_CSVDB_SCRIPT
定義すると、csv データを扱うスクリプトを実行する処理を
コンパイルしなくなります。
この場合、csv データを扱うスクリプト命令/関数が実行できません。
PRE_RENEWAL
定義すると、ゲーム内設定をリニューアル以前のシステムで適用します。
CLASS_MB
定義すると、未実装のゲーム内クラスを拡張します。
DYNAMIC_SC_DATA
定義すると、モンスターの状態異常を管理するメモリを動的に確保するように
なります。メモリ使用量を劇的に減らすことができますが、
少しだけ CPU 使用率に影響します。
AC_MAIL
定義すると、キャラクターの削除にメールアドレスの入力が必要になります。
AC_BIRTHDATE
定義すると、キャラクターの削除に誕生日の入力が必要になります。
NO_SCDATA_SAVING
定義すると、プレイヤーの状態異常情報をログアウト時に保存しなくなります。
TIMER_CACHE
定義すると、タイマーのキャッシュが有効になります。
OSのタイマー関数の呼び出しを軽減し負荷を減らすことができますが、
タイマーの呼び出し頻度が低い環境では古いキャッシュを参照してしまい
正しく動作しない可能性があります。
負荷とのトレードオフですが、必要であればキャッシュのサイズを256から
小さくして最適化してみてください。
--------------------------------------------------------------------------
4. ビルド
・gcc の場合
make を実行してメイク(ビルド)してください。
configure は用意されていないので、実行する必要はありません。
リビルドする場合 make clean 後に make して下さい。
・bcc の場合
bcc32_make.bat を実行してビルドしてください。
リビルドする場合 bcc32_clean.bat 実行後にビルドしてください。
・vc の場合
vc_make.bat を実行してビルドしてください。
リビルドする場合 vc_clean.bat 実行後にビルドしてください。
--------------------------------------------------------------------------
5. 設定ファイルの調整
conf フォルダや conf/import フォルダを変更してください。
詳しくは doc/conf_ref.txt を参照してください。
--------------------------------------------------------------------------
6. データファイルの調整
db フォルダや db/addon フォルダを変更してください。
詳しくは doc/db_ref.txt などを参照してください。
--------------------------------------------------------------------------
7. MySQL データベースの調整
データの保存に MySQL を使用する場合、MySQL の設定も必要です。
詳しくは doc/sqllogin.txt などを参照してください。
--------------------------------------------------------------------------
8. 保存データの調整
Auriga が起動した状態では保存データの調整はできません。
起動している場合は必ず終了させてから行います。
・TXT データ保存の場合
最低一回は Auriga を起動しないと初期ファイルが作成されません。
なので、先に次のセクションを実行してください。
変更には doc/save_ref.txt などを参照してください。
・SQL データ保存の場合
適当な MySQL クライアントを用いてください。
変更が必要なデータ
・サーバーアカウント
変更しないとセキュリティに深刻な問題が残ります。
必ず自分で設定しなおしてください。
また使わないサーバーアカウントは削除してください。
--------------------------------------------------------------------------
8. Auriga 起動
gcc の場合は start または auriga-start を、
bcc/vc の場合は win32_start.bat を使って起動します。
なお、Cygwin が入っている場合、bcc/vc でも start や auriga-start を
利用できます。
もちろん、個別に実行ファイルを起動してやることもできます。
(この場合は txt の初期の保存データは作成されません)
※auriga-start ではパラメータに start を指定する必要があります。
--------------------------------------------------------------------------
9. Auriga 終了
・startを使っている場合
ctrl+c を入力します。もしかするとその後に auriga-start stop を
実行する必要があるかもしれません。
・auriga-start を使っている場合
auriga-start を stop パラメータで実行します。
なお、vc でコンパイルした exe を Cygwin Bash で実行している場合
ctrl+c でも終了できました。
・win32_start.bat
サーバー監視ウィンドウを閉じたあとに、サーバーのウィンドウを閉じます。
・個別に実行した場合
ctrl+c や kill コマンドなどで終了します。
※bcc/vc で終了時に「応答が無い」というウィンドウが出る場合※
シャットダウン時やウィンドウを閉じるときなどにプログラムの応答が無いという
ダイアログが表示され、終了を待つか、強制的に終了させるかの選択を要求される
場合がありますが、必ず「終了を待つ」を選択してください。
このときサーバーはデータの保存処理などを行っているため、強制終了させると
データが破壊されたり、巻き戻る可能性があります。
--------------------------------------------------------------------------
10. アカウント作成/編集
Auriga が起動している必要があります。
・Perl が利用できる場合
ladmin を用います。
詳しくは ladmin をエディタで開いてください。
・httpd を有効にしている場合
アカウント作成機能がありますのでそれを用います。
ブラウザでログインサーバーを開くとアカウントを作成できます。
なお、編集機能はありません。
詳しくは doc/account_making.txt を参照してください。