Athena Sakageclient NPCFactory NPCFactory2

ここではWindows上でAthenaを立ち上げ、実際にログイン出来るまでを解説しています

1.マシンの用意

まずWindows2000等のMicrosoftOSが載ったマシンを1台用意し、
それがインターネット接続出来ているかどうか確認してください。
MS-DOS系でTCP/IPに対応はしていないと思うので、最低でも
Windows2000マシンでお願いします。

2.Athena本体とコンパイラの用意


まず最初にAthenaのソース(プログラムされたファイル)をどこかで拾ってきます これでも良い

そしてそれをコンパイルするというUnix系OSを使っていればごく普通の操作なのですが、Windows系OSには
標準で簡易コンパイラが付属していません。実行するだけならコンパイラは必要無いですが自分でソースを弄って
コンパイルする場合は、ネット上でマイクロソフトが配布している無料のMicrosoftVisualC++(VC++)や
BolandC++Compiler(BCC)と言ったコンパイラソフトが必要です。これらの導入方法はかなり簡単です
AthenaはC++で書かれているそうなので別に上のコンパイラではなくてもMacintoshでもLinuxでも動きます(コンパイラさえあれば)


Windows専用のアプリになるようなGUIがついてたりしないのでコマンドライン操作系が嫌いな人はやめといた方がいいです。

〜めんどくさい方へ('A`)ノ〜

snapshot(できるだけ最新のものを置いておきます)
カッコ内部は出所(ソース元)です

AthenaMOD(ATHENA)
athena-dev-2.1.1-mod1820.rar
athena-dev-2.1.1-mod1827.zip
athena-dev-2.1.1-mod1850.zip
athena-dev-2.1.1-mod1852.zip←EndさんのガンスリンガのAS鯖落ち(暴走)対策済

AthenaMOD(フェルシア)
athena-dev-2.1.1-mod1821cpa.zip (フェルシア氏のペットをPC化したスナップショット)

********************************************

AthenaMOD(EATHENASVN)
EAthenaSVN 5559と5578.繋がらない場合はこちら()から。
↑ツール類も殆どここで揃います。
(これを使用した場合のバグ報告はEATHENAの方へお願いします)


3.コンパイラのインストール

書くのは面倒なのでこちらこちらのサイトを参考にしてください

サイトが消えていたらとりあえずこれこれをダウンロードしてインストールしてください
(VC++の方がMAP圧縮展開の時に用いるDLLがコンパイル時に内蔵されているので初心者には余計な手間がかからず、良いかもしれません)
(SQLについてはわかりにくい説明ですがAthena本体のドキュメントに記載されていますのでそちらを参照して下さい)

4.ソースをコンパイルする

次にコンパイルです。コンパイルする場合、VC++はvc07_make.batを開始し、BCCはbcc32_make.batを開始します。

vc07_make.bat
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;C:\Program Files\Microsoft Platform SDK\Bin\Win64;%PATH%
Set INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;C:\Program Files\Microsoft Platform SDK\include;%INCLUDE%
Set LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;C:\Program Files\Microsoft Platform SDK\Lib;%LIB%
とかかれている部分をチェックして下さい。Microsoft Platform SDKではなくMicrosoft SDKの場合、名前を変更して下さい
現在ではMicrosoft Platform SDKが正しいです。コンパイラをインストールする場所は自由ですが、ここを書き換えることを
忘れずにお願いします。


rem txt/sql 選択 : sql にするならコメントアウトする
rem set __TXT_MODE__=/D "TXT_ONLY"
このようにするとSQL対応Athenaとなります。SQLがわからないなら弄らない方が良い

rem TK SG SL でごにょごにょしたい人はコメントアウトをはずす
rem set __EXCLASS__=/D "TKSGSL"
set __EXCLASS__=/D "TKSGSLGSNJ"
このようにすると、逆毛蔵やロマリア蔵で実装済みのテコンドー・ソウルリンカー・ケンセイ・サンタクロース・忍者・ガンスリンガー
という職業に転職する事が可能になります。

では時間のかかるコンパイルをしましょう。
5.ファイルを設定する
VC++だと最適化いれて、2分ほどで完了します。BCCだと20秒もかかりません。

最後に実行するわけですが、実行する時にconfigの設定変更が必要になります。


confフォルダ
・例:癌法ROと逆毛蔵をデフォルトでインストールした場合
癌法RO
逆毛蔵 逆毛蔵ミラー1

grf-files.txt:実際にファイルが存在する場所を指定してください。

data: C:\Program Files\Gravity\RagnarokOnline\data.grf
sdata: C:\Program Files\Gravity\RagnarokOnline\sdata.grf
adata: C:\Program Files\Gravity\RagnarokOnline\wdata.grf


login_athena.conf
// アカウントを発行するときに使うパスワード
admin_pass: admin
// GMになるときに使うパスワード
gm_pass: gm

map_athena.conf
userid: s1
passwd: p1



char_athena.conf
userid: s1
passwd: p1



saveフォルダ
account.txt
s1 p1
↑map_athenaやchar_athenaのid,passと合わせる事。
Loginサーバが立ち上がるとそこに接続をしにいくキャラ鯖にサーバアカウントと言うID,PASSが必要になります
テキスト版Athenaの場合はこのテキストファイルにサーバアカウント(ログイン鯖に常時登録できる数は30)
がs1 p1,s2 p2,s3 p3,s4 p4,s5 p5とデフォルトで書かれています。

このまま公開するのはやめて下さい

これらの5つの初期サーバID,PASSはログインサーバのアカウントとは別に管理されているもので、このアカウントや
パスワードを知られたところでアカウントハックを受ける事はありませんが、赤の他人に外部からキャラクターサーバや
マップサーバ(要するに想定外のサーバを勝手に立てられる)を立ち上げられたりされる為、エラー回避をする為に
性転換NPCを設置していなかったが外部からChar.MAP鯖を立ち上げられた為に性転換NPCを設置させられたとか
で想定外の動作が起きてしまう(最悪サーバごとクラッシュやのっとられる場合もある)ので
必ず変更をしましょう。某Cygwinを勧めているページではこういった注意書きが無いのですが、どうしてでしょうね



dbフォルダ
全てのファイルに関して注意を。
間違っていたりすると武器にATKが乗らなかったり、精錬100%可能なバグを生み出したり
鯖が重くなる原因になります。赤い草やキノコ等が枝で呼び出された場合、プレイヤーに攻撃を行うと
とんでもない事になります。

この辺はAthenaWikiを見るなりして調整できるようにして下さい。Excel等があるといいかも


docフォルダ
全てのファイルを毎日熟読するだけでもかなり良いと思います
Athenaの運営を24時間やる人ならば全部しっかり読み通して、わからなくなったら人に聞くのではなく
これを見てください。

SQLに興味があればsqllogin.txtのSQLのススメ 
【Windows版MySQL導入ガイド 2005年10月7日 逆毛鰻&リカルド】
の項目も見てください



httpdフォルダ
index.html
鯖を公開すると言えば基本はHttpと言うサービスです。Login鯖のConfig login_athena.conf にて指定した
ポートで動作します。ログインサーバを立ち上げて
ブラウザで http://自分のアドレス:6900/
と入力するとHTMLが表示されます。編集も自由です。ただあまり大きなファイルは入れないでください
ファイルを配布したいならばApatchやHtppd等を別に使用するべきです。


scriptフォルダ
ROエミュレーターと呼ばれる理由の殆どがここに詰め込まれています
一般人が本家ROにログインし、クエストの文章をそのままパクってスクリプトとして書き込んだ努力の結晶です。
アインブログまで実装されました。未実装部分も結構存在します。
Athenaが訴えられるとしたらこの辺と、Itemdb,Momdb辺りでしょうね。

サーバのゲームマスターをやるならスクリプトぐらいは書けるようにしておこう。Docフォルダのscript_ref.txtにスクリプトの書き方が書かれています。



src
EXEファイルはこのフォルダの中を見てコンパイルされて誕生します。弄るとコンパイル出来なくなったりします
わからない人は触らない方が良い 記述はC++だそうです。


conf
socket.conf

// allow: 127.0.0.1
// allow: 192.168.0.0/16
// allow: 10.0.0.0/255.0.0.0
// allow: all

// deny: 127.0.0.1

order: deny,allow
// 最初にdenyでall指定し全てを弾く
// その後に許可するIP(JPNIC,APNICまたはローカルIP,自分のプロバイダのIP)をallowする
// これを入れることで大体のProxyや外人を弾く事が出来ます(逆引き不可=中華が殆どなので)
// allowとdenyの評価の順序は、order指示子によって定義されます
// 以下のようにします

// allow: 127.0.0.1
// allow: 192.168.0.0/16
// allow: 10.0.0.0/255.0.0.0
// allow: all
// 最初にDENYでALLする
// 次に許可する日本のIPのみALLOWする
// 最後に日本内部のIPやProxyを蹴りたい場合Allowを変更する
// deny: 127.0.0.1
deny: all
allow: 127.0.0.1
allow: 192.168.0.0/16
allow: 133.0.0.0/24
allow: 192.50.0.0/16
allow: 192.218.0.0/16
allow: 192.244.0.0/16
allow: 202.11.0.0/16
allow: 202.13.0.0/16
allow: 202.15.0.0/16
allow: 202.16.0.0/16
allow: 202.17.0.0/16
allow: 202.18.0.0/16
allow: 202.19.0.0/16
allow: 202.208.0.0/16
allow: 202.209.0.0/16
allow: 202.210.0.0/16
allow: 202.211.0.0/16
allow: 202.212.0.0/16
allow: 202.213.0.0/16
allow: 202.214.0.0/16
allow: 202.215.0.0/16
allow: 202.216.0.0/16
allow: 202.217.0.0/16
allow: 202.218.0.0/16
allow: 202.219.0.0/16
allow: 202.220.0.0/16
allow: 202.221.0.0/16
allow: 202.222.0.0/16
allow: 202.223.0.0/16
allow: 202.224.0.0/16
allow: 202.225.0.0/16
allow: 202.226.0.0/16
allow: 202.227.0.0/16
allow: 202.228.0.0/16
allow: 202.229.0.0/16
allow: 202.230.0.0/16
allow: 202.231.0.0/16
allow: 202.232.0.0/16
allow: 202.233.0.0/16
allow: 202.234.0.0/16
allow: 202.235.0.0/16
allow: 202.236.0.0/16
allow: 202.237.0.0/16
allow: 202.238.0.0/16
allow: 202.239.0.0/16
allow: 202.240.0.0/16
allow: 202.241.0.0/16
allow: 202.242.0.0/16
allow: 202.243.0.0/16
allow: 202.244.0.0/16
allow: 202.245.0.0/16
allow: 202.246.0.0/16
allow: 202.247.0.0/16
allow: 202.248.0.0/16
allow: 202.249.0.0/16
allow: 202.250.0.0/16
allow: 202.251.0.0/16
allow: 202.252.0.0/16
allow: 202.253.0.0/16
allow: 202.254.0.0/16
allow: 202.255.0.0/16
allow: 202.32.0.0/16
allow: 202.33.0.0/16
allow: 202.34.0.0/16
allow: 202.35.0.0/16
allow: 202.48.0.0/16
allow: 203.136.0.0/16
allow: 203.137.0.0/16
allow: 203.138.0.0/16
allow: 203.139.0.0/16
allow: 203.140.0.0/16
allow: 203.141.0.0/16
allow: 203.178.0.0/16
allow: 203.179.0.0/16
allow: 203.180.0.0/16
allow: 203.181.0.0/16
allow: 203.182.0.0/16
allow: 203.183.0.0/16
allow: 210.128.0.0/16
allow: 210.129.0.0/16
allow: 210.130.0.0/16
allow: 210.131.0.0/16
allow: 210.132.0.0/16
allow: 210.133.0.0/16
allow: 210.134.0.0/16
allow: 210.135.0.0/16
allow: 210.136.0.0/16
allow: 210.137.0.0/16
allow: 210.138.0.0/16
allow: 210.139.0.0/16
allow: 210.140.0.0/16
allow: 210.141.0.0/16
allow: 210.142.0.0/16
allow: 210.143.0.0/16
allow: 210.144.0.0/16
allow: 210.145.0.0/16
allow: 210.146.0.0/16
allow: 210.147.0.0/16
allow: 210.148.0.0/16
allow: 210.149.0.0/16
allow: 210.150.0.0/16
allow: 210.151.0.0/16
allow: 210.152.0.0/16
allow: 210.153.0.0/16
allow: 210.154.0.0/16
allow: 210.155.0.0/16
allow: 210.156.0.0/16
allow: 210.157.0.0/16
allow: 210.158.0.0/16
allow: 210.159.0.0/16
allow: 210.160.0.0/16
allow: 210.161.0.0/16
allow: 210.162.0.0/16
allow: 210.163.0.0/16
allow: 210.164.0.0/16
allow: 210.165.0.0/16
allow: 210.166.0.0/16
allow: 210.167.0.0/16
allow: 210.168.0.0/16
allow: 210.169.0.0/16
allow: 210.170.0.0/16
allow: 210.171.0.0/16
allow: 210.172.0.0/16
allow: 210.173.0.0/16
allow: 210.174.0.0/16
allow: 210.175.0.0/16
allow: 210.188.0.0/16
allow: 210.189.0.0/16
allow: 210.190.0.0/16
allow: 210.191.0.0/16
allow: 210.196.0.0/16
allow: 210.197.0.0/16
allow: 210.198.0.0/16
allow: 210.199.0.0/16
allow: 210.224.0.0/16
allow: 210.225.0.0/16
allow: 210.226.0.0/16
allow: 210.227.0.0/16
allow: 210.228.0.0/16
allow: 210.229.0.0/16
allow: 210.230.0.0/16
allow: 210.231.0.0/16
allow: 210.232.0.0/16
allow: 210.233.0.0/16
allow: 210.234.0.0/16
allow: 210.235.0.0/16
allow: 210.236.0.0/16
allow: 210.237.0.0/16
allow: 210.238.0.0/16
allow: 210.239.0.0/16
allow: 210.248.0.0/16
allow: 210.249.0.0/16
allow: 210.250.0.0/16
allow: 210.251.0.0/16
allow: 210.252.0.0/16
allow: 210.253.0.0/16
allow: 210.254.0.0/16
allow: 210.255.0.0/16
allow: 211.0.0.0/16
allow: 211.1.0.0/16
allow: 211.2.0.0/16
allow: 211.3.0.0/16
allow: 211.4.0.0/16
allow: 211.5.0.0/16
allow: 211.6.0.0/16
allow: 211.7.0.0/16
allow: 211.8.0.0/16
allow: 211.9.0.0/16
allow: 211.10.0.0/16
allow: 211.11.0.0/16
allow: 211.12.0.0/16
allow: 211.13.0.0/16
allow: 211.14.0.0/16
allow: 211.15.0.0/16
allow: 211.16.0.0/16
allow: 211.17.0.0/16
allow: 211.18.0.0/16
allow: 211.19.0.0/16
allow: 211.120.0.0/16
allow: 211.121.0.0/16
allow: 211.122.0.0/16
allow: 211.123.0.0/16
allow: 211.124.0.0/16
allow: 211.125.0.0/16
allow: 211.126.0.0/16
allow: 211.127.0.0/16
allow: 211.128.0.0/16
allow: 211.129.0.0/16
allow: 211.130.0.0/16
allow: 211.131.0.0/16
allow: 211.132.0.0/16
allow: 211.133.0.0/16
allow: 211.134.0.0/16
allow: 211.135.0.0/16
allow: 218.40.0.0/16
allow: 218.41.0.0/16
allow: 218.42.0.0/16
allow: 218.43.0.0/16
allow: 218.44.0.0/16
allow: 218.45.0.0/16
allow: 218.46.0.0/16
allow: 218.47.0.0/16
allow: 218.110.0.0/16
allow: 218.216.0.0/16
allow: 218.217.0.0/16
allow: 218.218.0.0/16
allow: 218.219.0.0/16
allow: 218.220.0.0/16
allow: 218.221.0.0/16
allow: 218.222.0.0/16
allow: 218.223.0.0/16
allow: 218.224.0.0/16
allow: 218.225.0.0/16
allow: 218.226.0.0/16
allow: 218.227.0.0/16
allow: 218.228.0.0/16
allow: 218.229.0.0/16
allow: 218.230.0.0/16
allow: 218.231.0.0/16
allow: 219.96.0.0/16
allow: 219.97.0.0/16
allow: 219.98.0.0/16
allow: 219.99.0.0/16
allow: 219.100.0.0/16
allow: 219.101.0.0/16
allow: 219.102.0.0/16
allow: 219.103.0.0/16
allow: 219.104.0.0/16
allow: 219.105.0.0/16
allow: 219.106.0.0/16
allow: 219.107.0.0/16
allow: 219.108.0.0/16
allow: 219.109.0.0/16
allow: 219.110.0.0/16
allow: 219.111.0.0/16
allow: 219.112.0.0/16
allow: 219.113.0.0/16
allow: 219.114.0.0/16
allow: 219.115.0.0/16
allow: 219.116.0.0/16
allow: 219.117.0.0/16
allow: 219.118.0.0/16
allow: 219.119.0.0/16
allow: 219.120.0.0/16
allow: 219.121.0.0/16
allow: 219.122.0.0/16
allow: 219.123.0.0/16
allow: 219.124.0.0/16
allow: 219.125.0.0/16
allow: 219.126.0.0/16
allow: 219.127.0.0/16
allow: 219.160.0.0/16
allow: 219.161.0.0/16
allow: 219.162.0.0/16
allow: 219.163.0.0/16
allow: 219.164.0.0/16
allow: 219.165.0.0/16
allow: 219.166.0.0/16
allow: 219.167.0.0/16
allow: 220.96.0.0/16
allow: 220.97.0.0/16
allow: 220.98.0.0/16
allow: 220.99.0.0/16
allow: 220.104.0.0/16
allow: 220.105.0.0/16
allow: 220.106.0.0/16
allow: 220.107.0.0/16
allow: 220.108.0.0/16
allow: 220.109.0.0/16
allow: 220.110.0.0/16
allow: 220.111.0.0/16
allow: 220.144.0.0/16
allow: 220.145.0.0/16
allow: 220.209.0.0/16
allow: 220.210.0.0/16
allow: 220.211.0.0/16
allow: 220.212.0.0/16
allow: 220.213.0.0/16
allow: 220.214.0.0/16
allow: 220.215.0.0/16
allow: 220.216.0.0/16
allow: 220.217.0.0/16
allow: 220.218.0.0/16
allow: 220.219.0.0/16
allow: 220.220.0.0/16
allow: 220.221.0.0/16
allow: 220.222.0.0/16
allow: 220.223.0.0/16
allow: 221.112.0.0/16
allow: 221.113.0.0/16
allow: 221.114.0.0/16
allow: 221.115.0.0/16
allow: 221.116.0.0/16
allow: 221.117.0.0/16
allow: 221.118.0.0/16
allow: 221.119.0.0/16
allow: 61.112.0.0/16
allow: 61.113.0.0/16
allow: 61.114.0.0/16
allow: 61.115.0.0/16
allow: 61.116.0.0/16
allow: 61.117.0.0/16
allow: 61.118.0.0/16
allow: 61.119.0.0/16
allow: 61.120.0.0/16
allow: 61.121.0.0/16
allow: 61.122.0.0/16
allow: 61.123.0.0/16
allow: 61.124.0.0/16
allow: 61.125.0.0/16
allow: 61.126.0.0/16
allow: 61.127.0.0/16
allow: 61.192.0.0/16
allow: 61.193.0.0/16
allow: 61.194.0.0/16
allow: 61.195.0.0/16
allow: 61.196.0.0/16
allow: 61.197.0.0/16
allow: 61.198.0.0/16
allow: 61.199.0.0/16
allow: 61.200.0.0/16
allow: 61.201.0.0/16
allow: 61.202.0.0/16
allow: 61.203.0.0/16
allow: 61.204.0.0/16
allow: 61.205.0.0/16
allow: 61.206.0.0/16
allow: 61.207.0.0/16
allow: 61.208.0.0/16
allow: 61.209.0.0/16
allow: 61.210.0.0/16
allow: 61.211.0.0/16
allow: 61.212.0.0/16
allow: 61.213.0.0/16
allow: 61.214.0.0/16
allow: 61.215.0.0/16
allow: 61.202.0.0/16
allow: 58.0.0.0/16
allow: 58.1.0.0/16
allow: 58.3.0.0/16
allow: 58.4.0.0/16
allow: 58.5.0.0/16
allow: 58.12.0.0/16
allow: 58.13.0.0/16
allow: 58.70.0.0/16
allow: 58.80.0.0/16
allow: 58.81.0.0/16
allow: 58.84.0.0/16
allow: 58.85.0.0/16
allow: 58.87.0.0/16
allow: 58.88.0.0/16
allow: 58.89.0.0/16
allow: 58.90.0.0/16
allow: 58.91.0.0/16
allow: 58.92.0.0/16
allow: 58.93.0.0/16
allow: 58.94.0.0/16
allow: 58.95.0.0/16
allow: 58.98.0.0/16
allow: 58.112.0.0/16
allow: 58.113.0.0/16
allow: 58.138.0.0/16
allow: 58.146.0.0/16
allow: 58.147.0.0/16
allow: 58.156.0.0/16
allow: 58.157.0.0/16
allow: 58.158.0.0/16
allow: 58.159.0.0/16
allow: 58.188.0.0/16
allow: 58.189.0.0/16
allow: 58.190.0.0/16
allow: 58.191.0.0/16
allow: 59.84.0.0/16
allow: 59.85.0.0/16
allow: 59.86.0.0/16
allow: 59.87.0.0/16
allow: 59.106.0.0/16
allow: 59.128.0.0/16
allow: 59.129.0.0/16
allow: 59.130.0.0/16
allow: 59.131.0.0/16
allow: 59.132.0.0/16
allow: 59.133.0.0/16
allow: 59.134.0.0/16
allow: 59.135.0.0/16
allow: 59.136.0.0/16
allow: 59.137.0.0/16
allow: 59.138.0.0/16
allow: 59.139.0.0/16
allow: 59.140.0.0/16
allow: 59.141.0.0/16
allow: 59.142.0.0/16
allow: 59.143.0.0/16
allow: 59.146.0.0/16
allow: 59.147.0.0/16
allow: 59.153.0.0/16
allow: 59.156.0.0/16
allow: 59.157.0.0/16
allow: 59.158.0.0/16
allow: 59.159.0.0/16
allow: 59.190.0.0/16
allow: 60.32.0.0/16
allow: 60.33.0.0/16
allow: 60.34.0.0/16
allow: 60.35.0.0/16
allow: 60.36.0.0/16
allow: 60.37.0.0/16
allow: 60.38.0.0/16
allow: 60.39.0.0/16
allow: 60.40.0.0/16
allow: 60.41.0.0/16
allow: 60.42.0.0/16
allow: 60.43.0.0/16
allow: 60.44.0.0/16
allow: 60.45.0.0/16
allow: 60.46.0.0/16
allow: 60.47.0.0/16
allow: 60.56.0.0/16
allow: 60.57.0.0/16
allow: 60.192.0.0/16
allow: 60.193.0.0/16
allow: 60.236.0.0/16
allow: 60.237.0.0/16
allow: 60.238.0.0/16
allow: 60.239.0.0/16
allow: 60.11.0.0/16
allow: 60.12.0.0/16
allow: 60.44.0.0/16
allow: 60.45.0.0/16
allow: 60.46.0.0/16
allow: 60.87.0.0/16
allow: 60.245.0.0/16
allow: 124.18.0.0/16
allow: 124.24.0.0/16
allow: 124.32.0.0/16
allow: 124.33.0.0/16
allow: 124.34.0.0/16
allow: 124.35.0.0/16
allow: 124.40.0.0/16
allow: 124.41.0.0/16
allow: 124.44.0.0/16
allow: 124.47.0.0/16
allow: 125.0.0.0/16
allow: 125.1.0.0/16
allow: 125.2.0.0/16
allow: 125.3.0.0/16
allow: 125.4.0.0/16
allow: 125.28.0.0/16
allow: 125.29.0.0/16
allow: 125.31.0.0/16
allow: 125.48.0.0/16
allow: 125.49.0.0/16
allow: 125.50.0.0/16
allow: 125.51.0.0/16
allow: 125.52.0.0/16
allow: 125.53.0.0/16
allow: 125.54.0.0/16
allow: 125.55.0.0/16
allow: 125.56.0.0/16
allow: 125.100.0.0/16
allow: 125.101.0.0/16
allow: 125.102.0.0/16
allow: 125.103.0.0/16
allow: 125.170.0.0/16
allow: 125.172.0.0/16
allow: 125.173.0.0/16
allow: 125.174.0.0/16
allow: 125.175.0.0/16
allow: 125.192.0.0/16
allow: 125.193.0.0/16
allow: 125.194.0.0/16
allow: 125.195.0.0/16
allow: 125.200.0.0/16
allow: 125.201.0.0/16
allow: 125.202.0.0/16
allow: 125.203.0.0/16
allow: 125.204.0.0/16
allow: 125.205.0.0/16
allow: 125.206.0.0/16
allow: 125.207.0.0/16
allow: 125.214.0.0/16
allow: 125.215.0.0/16
allow: 125.252.0.0/16
allow: 192.104.0.0/16
allow: 192.146.0.0/16
allow: 192.152.0.0/16
allow: 202.0.0.0/16
allow: 202.1.0.0/16
allow: 202.3.0.0/16
allow: 202.5.0.0/16
allow: 202.7.0.0/16
allow: 202.8.0.0/16
allow: 202.9.0.0/16
allow: 202.10.0.0/16
allow: 202.12.0.0/16
allow: 202.22.0.0/16
allow: 202.41.0.0/16
allow: 202.43.0.0/16
allow: 202.44.0.0/16
allow: 202.45.0.0/16
allow: 202.51.0.0/16
allow: 202.52.0.0/16
allow: 202.53.0.0/16
allow: 202.55.0.0/16
allow: 202.56.0.0/16
allow: 202.57.0.0/16
allow: 202.58.0.0/16
allow: 202.59.0.0/16
allow: 202.60.0.0/16
allow: 202.61.0.0/16
allow: 202.62.0.0/16
allow: 202.67.0.0/16
allow: 202.69.0.0/16
allow: 202.70.0.0/16
allow: 202.71.0.0/16
allow: 202.72.0.0/16
allow: 202.73.0.0/16
allow: 202.74.0.0/16
allow: 202.75.0.0/16
allow: 202.76.0.0/16
allow: 202.78.0.0/16
allow: 202.79.0.0/16
allow: 202.80.0.0/16
allow: 202.81.0.0/16
allow: 202.82.0.0/16
allow: 202.83.0.0/16
allow: 202.84.0.0/16
allow: 202.86.0.0/16
allow: 202.87.0.0/16
allow: 202.88.0.0/16
allow: 202.89.0.0/16
allow: 202.90.0.0/16
allow: 202.91.0.0/16
allow: 202.92.0.0/16
allow: 202.93.0.0/16
allow: 202.94.0.0/16
allow: 202.95.0.0/16
allow: 202.122.0.0/16
allow: 202.124.0.0/16
allow: 202.125.0.0/16
allow: 202.126.0.0/16
allow: 202.127.0.0/16
allow: 202.129.0.0/16
allow: 202.131.0.0/16
allow: 202.133.0.0/16
allow: 202.134.0.0/16
allow: 202.136.0.0/16
allow: 202.137.0.0/16
allow: 202.138.0.0/16
allow: 202.140.0.0/16
allow: 202.141.0.0/16
allow: 202.142.0.0/16
allow: 202.143.0.0/16
allow: 202.146.0.0/16
allow: 202.147.0.0/16
allow: 202.148.0.0/16
allow: 202.149.0.0/16
allow: 202.151.0.0/16
allow: 202.152.0.0/16
allow: 202.157.0.0/16
allow: 202.161.0.0/16
allow: 202.162.0.0/16
allow: 202.163.0.0/16
allow: 202.164.0.0/16
allow: 202.165.0.0/16
allow: 202.168.0.0/16
allow: 202.169.0.0/16
allow: 202.170.0.0/16
allow: 202.171.0.0/16
allow: 202.172.0.0/16
allow: 202.173.0.0/16
allow: 202.174.0.0/16
allow: 202.175.0.0/16
allow: 202.176.0.0/16
allow: 202.177.0.0/16
allow: 202.178.0.0/16
allow: 202.179.0.0/16
allow: 202.180.0.0/16
allow: 202.181.0.0/16
allow: 202.183.0.0/16
allow: 202.189.0.0/16
allow: 202.191.0.0/16
allow: 203.19.0.0/16
allow: 203.20.0.0/16
allow: 203.34.0.0/16
allow: 203.76.0.0/16
allow: 203.78.0.0/16
allow: 203.79.0.0/16
allow: 203.80.0.0/16
allow: 203.81.0.0/16
allow: 203.82.0.0/16
allow: 203.83.0.0/16
allow: 203.86.0.0/16
allow: 203.88.0.0/16
allow: 203.89.0.0/16
allow: 203.91.0.0/16
allow: 203.95.0.0/16
allow: 203.99.0.0/16
allow: 203.104.0.0/16
allow: 203.105.0.0/16
allow: 203.110.0.0/16
allow: 203.112.0.0/16
allow: 203.114.0.0/16
allow: 203.119.0.0/16
allow: 203.124.0.0/16
allow: 203.129.0.0/16
allow: 203.133.0.0/16
allow: 203.135.0.0/16
allow: 203.142.0.0/16
allow: 203.143.0.0/16
allow: 203.148.0.0/16
allow: 203.149.0.0/16
allow: 203.152.0.0/16
allow: 203.167.0.0/16
allow: 203.168.0.0/16
allow: 203.169.0.0/16
allow: 203.170.0.0/16
allow: 203.171.0.0/16
allow: 203.174.0.0/16
allow: 203.184.0.0/16
allow: 203.191.0.0/16
allow: 203.192.0.0/16
allow: 203.196.0.0/16
allow: 203.202.0.0/16
allow: 203.211.0.0/16
allow: 203.216.0.0/16
allow: 210.2.0.0/16
allow: 210.79.0.0/16
allow: 210.79.0.0/16
allow: 210.87.0.0/16
allow: 210.89.0.0/16
allow: 210.193.0.0/16
allow: 210.203.0.0/16
allow: 210.247.0.0/16
allow: 218.33.0.0/16
allow: 218.100.0.0/16
allow: 218.185.0.0/16
allow: 218.251.0.0/16
allow: 219.66.0.0/16
allow: 219.67.0.0/16
allow: 219.75.0.0/16
allow: 219.94.0.0/16
allow: 220.100.0.0/16
allow: 220.102.0.0/16
allow: 220.146.0.0/16
allow: 220.147.0.0/16
allow: 220.148.0.0/16
allow: 220.150.0.0/16
allow: 220.151.0.0/16
allow: 220.156.0.0/16
allow: 220.157.0.0/16
allow: 220.158.0.0/16
allow: 220.159.0.0/16
allow: 220.247.0.0/16
allow: 221.12.0.0/16
allow: 221.121.0.0/16
allow: 221.132.0.0/16
allow: 221.133.0.0/16
allow: 221.170.0.0/16
allow: 221.171.0.0/16
allow: 221.184.0.0/16
allow: 221.240.0.0/16
allow: 221.241.0.0/16
allow: 221.242.0.0/16
allow: 221.243.0.0/16
allow: 221.244.0.0/16
allow: 221.245.0.0/16
allow: 221.246.0.0/16
allow: 221.247.0.0/16
allow: 221.248.0.0/16
allow: 221.249.0.0/16
allow: 221.250.0.0/16
allow: 221.251.0.0/16
allow: 221.252.0.0/16
allow: 221.253.0.0/16
allow: 221.254.0.0/16
allow: 221.255.0.0/16
allow: 222.0.0.0/16
allow: 222.1.0.0/16
allow: 222.2.0.0/16
allow: 222.3.0.0/16
allow: 222.4.0.0/16
allow: 222.5.0.0/16
allow: 222.6.0.0/16
allow: 222.7.0.0/16
allow: 222.8.0.0/16
allow: 222.9.0.0/16
allow: 222.10.0.0/16
allow: 222.11.0.0/16
allow: 222.12.0.0/16
allow: 222.13.0.0/16
allow: 222.14.0.0/16
allow: 222.15.0.0/16
allow: 222.144.0.0/16
allow: 222.145.0.0/16
allow: 222.146.0.0/16
allow: 222.147.0.0/16
allow: 222.148.0.0/16
allow: 222.149.0.0/16
allow: 222.150.0.0/16
allow: 222.151.0.0/16
allow: 222.158.0.0/16
allow: 222.159.0.0/16
allow: 222.224.0.0/16
allow: 222.225.0.0/16
allow: 222.226.0.0/16
allow: 222.227.0.0/16
allow: 222.228.0.0/16
allow: 222.229.0.0/16
allow: 222.230.0.0/16
allow: 222.231.0.0/16

allow: 210.20.0.0/16
allow: 218.135.0.0/16
allow: 220.29.0.0/16
allow: 221.189.0.0/16
allow: 61.44.0.0/16
allow: 218.129.0.0/16
allow: 220.254.0.0/16
allow: 139.78.0.0/16
allow: 165.76.0.0/16
allow: 219.178.0.0/16
allow: 220.59.0.0/16
allow: 61.22.0.0/16
allow: 220.98.0.0/16
allow: 125.55.0.0/16
allow: 219.176.0.0/16

allow: 220.61.0.0/16
allow: 133.205.0.0/16
allow: 219.40.0.0/16
allow: 221.187.0.0/16
allow: 221.20.0.0/16

allow: 60.126.0.0/16
allow: 210.198.0.0/16
allow: 221.94.0.0/16
allow: 220.20.0.0/16

allow: 61.7.0.0/16
allow: 220.51.0.0/16
allow: 219.181.0.0/16
allow: 221.83.0.0/16

allow: 221.185.0.0/16
allow: 222.13.0.0/16
allow: 221.57.0.0/16
allow: 219.198.0.0/16
allow: 61.26.0.0/16
allow: 218.138.0.0/16
allow: 210.194.0.0/16
allow: 220.3.0.0/16


allow: 43.244.0.0/16
allow: 61.46.0.0/16
allow: 219.43.0.0/16
allow: 221.18.0.0/16
allow: 221.31.0.0/16
allow: 219.211.0.0/16
allow: 218.130.0.0/16
allow: 221.191.0.0/16
allow: 61.25.0.0/16
allow: 219.28.0.0/16
allow: 218.127.0.0/16
allow: 126.87.0.0/16
allow: 219.195.0.0/16

allow: 218.121.0.0/16
allow: 61.21.0.0/16


allow: 219.41.0.0/16
allow: 219.182.0.0/16
allow: 221.190.0.0/16
allow: 218.131.0.0/16
allow: 218.122.0.0/16
allow: 61.24.0.0/16

allow: 125.31.0.0/16




// ーーーーーーーーーーーここまでですーーーーーーーーーーーーーー
//基本的にはこれでオッケーです。//3ー26更新


最後に

ロマ鯖を田代砲でアタックした人物が使っているIIJのプロバイダはAllowから外しましょう。
いくら相手がロマリアだからって攻撃して良いとは言えないでしょう(大人の人ならわかるはず)

allow: 125.30.0.0/16 ←これを外す *上のリストからは外しています。*

筑波大学は130.158.0.0/16 ですが、最初からAllowに入ってないのでそのままでOK
SoftEhter入れたい場合は130.158.0.0/16をAllowしてください。
allow: 130.158.0.0/16

最終的にはこうなります

チョンや中華を弾きたい人へ
AthenaのSocket.conf
Anhttpdでの拒否IP

IP弾きは対処が遅いほど無意味です。ガンホーは今中華IPはじいてますが
今更って感じです。
修正方法がわからず鯖落ちを防げない場合はこいつで防いだ方が早いです。
とはいっても普通の人が普通にやってて落ちるバグはこれでは意味ないですが。
うちの鯖では効果ありました。

EvoのようなSQLで管理し、メールアドレス認証形式をすればアカウントの乱獲は防げますが
HttpdやCGI登録では防げません。
質の悪いユーザーが集まりやすい鯖から質の悪いプレイヤーのIPを得られたので
ここへ報告しておきます。最初からBANをすればサーバの雰囲気を壊さずに済むかもしれません
//allow: 220.148.0.0/16
//allow: 59.143.0.0/16
//allow: 202.140.0.0/16
//allow: 219.98.0.0/16
//allow: 210.255.0.0/16
//allow: 210.132.0.0/16
//allow: 125.193.0.0/16
//allow: 222.144.0.0/16
//allow: 219.124.0.0/16
//allow: 218.121.0.0/16
//allow: 60.238.0.0/16
//allow: 60.43.0.0/16
//allow: 222.0.0.0/16
//allow: 202.219.0.0/16
//allow: 60.34.0.0/16
//allow: 125.3.0.0/16
//allow: 202.216.0.0/16
//allow: 218.138.0.0/16
//allow: 222.147.0.0/16
//allow: 203.211.0.0/16
//allow: 220.105.0.0/16
//allow: 60.40.0.0/16
//allow: 210.234.0.0/16
//allow: 125.174.0.0/16
//allow: 125.4.0.0/16
//allow: 219.105.0.0/16
//allow: 219.66.0.0/16
//allow: 59.138.0.0/16
//allow: 210.139.0.0/16
//allow: 59.84.0.0/16
//allow: 219.160.0.0/16
//allow: 60.45.0.0/16

これらをコメントアウトしましょう


6.コンパイルした実行ファイルを実行する

win32_start.batにてBCCでコンパイルしたEXEもVC++でコンパイルしたEXEも立ち上がるようになり
自動再起動がかかるようになりますが、念の為に「スタート」メニューから ファイル名を指定して実行を選び
drwtsn32.exeと打ち込みましょう。いくつかチェックが入っていますが、全部チェックを外します。



コレで自動再起動するようになります。
(AthenaのダンプはEnd氏のCoreが作成してくれるので大丈夫です)

立ち上げます。Login,charの起動は早く、MAPが一番遅いですが、鯖を公開するとキャラクターデータが肥大化し
Charの立ち上がりが遅くなる事もあります。(SQL使用することで解決しますが、大手鯖ではない限り必要無し)


実行する前に「Confフォルダのmap_athena.conf」と言うファイルを見て下さい
// マップキャッシュの使用
// 0 : 使用しない 1 : 非圧縮で保存 2 : 圧縮して保存
// 圧縮すると1MB程に縮まるようです。
// 全てのマップがキャッシュ内にあれば、grf を読み込まなくても起動できます。
read_map_from_cache: 2

「2」にしておいてください。1度MAPを読み込めばキャッシュを作成し圧縮保存してくれるので
次回からGrfデータから読み込む必要無くなり、おすすめです

もう2つほど
 ・dbフォルダのpacket_db.txt をコレと入れ替えてください
 ・confフォルダのmap_athena.confに記述されている 
 
 map: airplane_01.gat
 map: lhz_airport.gat
 map: y_airport.gat
 この3つの行を削除してください。本家や逆毛蔵にも含まれていません


win32_start.batをダブルクリック。
サーバが立ち上がります。立ち上がらなければどこか飛ばしているはずです。


char_server*
make_connection : connection failed. 0100007f:6900

map_server*
make_connection : connection failed. 0100007f:6121

と表示される場合、MAP鯖がCHAR鯖に繋げない事を意味します。
CHAR鯖のポートはMAP鯖で指定したポートでなければなりません。


***********************************************************
もう一度おさらい。

login_athena.conf
 login_port: 6900

char_athena.conf
 server_name: Athena
 login_ip: Charサーバから見たログインサーバのIP
 login_port: Charサーバから見たログインサーバのポート
 char_ip: クライアント側に知らせる為のChar鯖のローカルもしくはグローバルIP/DNS
 char_port: クライアント側に知らせる為のChar鯖のポート番号

map_athena.conf
 char_ip: マップサーバからみたChar鯖のIP(ローカルならローカル)
 char_port: マップサーバからみたChar鯖のポート番号
 map_ip:
クライアント側に知らせる為のMAP鯖のローカルもしくはグローバルIP/DNS
 map_port:
クライアント側に知らせる為のMAP鯖のポート番号

このようになっていますか?

***********************************************************

クライアント側にHookConnectを利用させて無理矢理接続させる場合は
自分の側サーバのローカルアドレスが192.168.14.1だとする場合

char_athena.conf
 server_name: Athena
 login_ip: Charサーバから見たログインサーバのIP
 login_port: Charサーバから見たログインサーバのポート
 char_ip: クライアント側に知らせる為のChar鯖のローカルもしくはグローバルIP/DNS
 char_port: クライアント側に知らせる為のChar鯖のポート番号

map_athena.conf
 char_ip: 192.168.14.1(Char鯖がMAP鯖を動作させているマシンと別ならば192.168.14.2等
 char_port: 6121
 map_ip:
192.168.14.1
 map_port:
5121

外部のクライアント側:Hookconnect.ini 
ConnectFrom2 = 192.168.14.1
ConnectTo2 = 外部のアドレスで登録されているDNS

内部(ローカル接続の別のクライアントマシン)の設定
sclientinfo.xml
<display>  192.168.0.1:6900</display>
<address>192.168.0.1</address>

を編集し 数値部分を
192.168.14.1に書き換え、逆毛蔵起動後
192.168.14.1を選択し、http://192.168.14.1:6900/にアクセスしてアカウントを作成し
そのアカウントでログインする

Dataフォルダに入れるだけでもsclientinfo.xmlの変更を読み取ってくれます。
なので「逆毛蔵」インストール後、自鯖のsclientinfo.xmlをDataフォルダに入れてくれと
言うだけで鯖公開できます。


***********************************************************

クライアント側にHookconnectを利用させて、無理矢理接続させる場合で
自分のクライアント機 Login,char,mapサーバ機が同じ場合

char_athena.conf
 server_name: Athena
 login_ip: 127.0.0.1
 login_port: 6900
 char_ip: 127.0.0.1
 char_port: 6122

map_athena.conf
 char_ip:
127.0.0.1
 char_port: 6122
 map_ip:
127.0.0.1
 map_port:
5122


この状態で立ち上げ、逆毛蔵を起動し、Sakageworldではなく127.0.0.1を選択すると
http://127.0.0.1:6900/にアクセスしてアカウントを作成すればログイン可能


NPC.TXT自作

殆どDocフォルダに書いてありますので見てください。
読めばわかります。わからなければ逆毛以下です>w<;

NPCグラフィックの参考に以下のサイトを利用してください。
NPC番号を指定すれば逆毛蔵でそのNPC画像の表示が出来ます

NPCFactory NPCFactory2


コンパイルオプション

rem txt/sql 選択 : sql にするならコメントアウトする
rem set __TXT_MODE__=/D "TXT_ONLY"

この状態でMySQLがインストールされてある場合はSQLに書き込む形でのコンパイルが可能です
ちなみに通常のテキストは

rem txt/sql 選択 : sql にするならコメントアウトする
rem set __TXT_MODE__=/D "TXT_ONLY"

こうですが、データの容量が増えれば増えるほどTXTでの運営はきつくなると思います(Char鯖がMAP鯖と同じ鯖だった場合)


メモリが足りないと言う鯖を持っている人は、メモリを新たに追加する事や、使用するNPCやMAPを制限する事で
メモリ消費が少なくなります。(ロードしないMAPはMAPやモンスターやNPCを読み込まないので)

以下のコンパイルオプションはそのメモリ消費を抑えるのが目的です。

rem 動的にMOBのsc_dataを確保したい人はコメントアウトをはずす
rem set __DYNAMIC_STATUS_CHANGE__=/D "DYNAMIC_SC_DATA"


rem 動的にMOBのsc_dataを確保したい人はコメントアウトをはずす
set __DYNAMIC_STATUS_CHANGE__=/D "DYNAMIC_SC_DATA"

に変更してコンパイルすれば、メモリ消費が1/3程度になったMAP鯖が出来上がるでしょう。
もちろんモンスターの数によりますがw NPCやモンスターを配置していない場合は効果ないと思います。
Athenaのモンスター(NPC)が多過ぎて嫌だと言う人は、これをしてみてはどうでしょうか?


バグ報告したいよ^^

鯖が使用中の
CPU
メモリ
ネットワーク
Athenaのバージョン
コンパイラの種類
OS(WIN,MAC,LINUXなど)

**ダンプファイルの内容**


***メモリリークの内容***
0002 : xxxx.c line 813 size 5000
******************

こんな感じで開発板へ貼り付けてください。
Athenaのバージョンが書かれていない場合はスルーされます

開発板のアドレスはあちこちに貼られてますね;それより簡単にGooで引っかかると言うのはどうにもならないのでしょうか?
無精で短気で傲慢なプログラマ
ぜひここの開発板を参照してもらいたいですtp://www.usamimi.info/~raisetu/cgi-bin/athena/r_board.cgi



逆毛蔵や他鯖の蔵でアクセスされては困るのだよと言う鯖向け

良くあるAthena自体のアップデートに蔵がついていけていない場合
予想外のエラーに悩まされて終わってしまう

そんな時は蔵に特別な改造を施してやって、その応答が鯖側に無ければ
全部弾いてしまう(つまり配布してる改造蔵以外のものは全て遮断)と言う風にすればよいのです。

tamやsubstが自鯖蔵以外の蔵を弾けない理由無能だからです。←ちょっと考えればわかりま

Castling鯖のtam(subst)はここを見ている為に、ここに書いてある事を真似しようとします
真似した後はそのソースの出所を公開せずに自分で施したように自慢する事でしょう^^
もしくは「はぐらかす」でしょう^^出所が逆毛鰻だと住民に知られたら、残りの信者も目がさめちゃいますから><

なのでやり方は onIinsakage@den2.zapto.org までプロバイダーメールを送ってくれれば
教えます^^(tamはお断りです^^)届いてない場合や明らかに他のメールサーバを経由をしたような
メールは無視します^^
氏に感謝を!



**VC++やLinuxのICCは実際に動作する時の処理速度が速く、BCCはコンパイルする速度が速いです


ここまでがサーバ立ち上げに関する最低限必要な内容です。次はクライアントです
逆毛蔵をそのまま使い、独自のデータを追加しないならば読まなくていいです

次:逆毛クライアント