CGI

server_data.cgi
(Ver2.00α)

(Ver2.00 登録ユーザに配布)

Athenaのセーブデータから情報を吸い出して色々やります。
依然として TEXT_ONLY です。

@機能(Ver1.12と違う点だけ)

※基本的にはVer1.12と変わりありません。
・DDOS攻撃感知 
 logincount実行前にIPをチェックし、間隔が短い場合にブロックします。
・キャッシュ機能実装
 一度ランキングを表示すると、以降キャッシュを使用します。
 キャッシュを作成する間隔は分単位で指定できます。
・ギルドエンブレム抽出機能実装
 セーブデータのguild.txtからエンブレムを抽出できるようになりました。(要 Compress::Zlibモジュール)
・ソート処理の軽量化
 永遠のテーマです…。
・職業分布表で、画像を使用できるように。

@予定・課題
すっかり忘れてたけど、何気に職業分布表等にて忍者とガンスに対応していませんでした。

server_data.cgi
(Ver1.12α)

(Ver1.12αまでFree配布)

Athenaのセーブデータから情報を吸い出して色々やります。

@機能

・総アカウント数・総キャラ数表示
・サーバーステータス表示
・battle_config設定表示
・AthenaVer表示
・砦占領状況表示
・ギルドレベルランキング表示
・全ギルド情報(レベル・人数・経験値・エンブレムなど)表示
・ログイン回数ランキング表示
・Baseレベルランキング表示
・MHPランキング表示
・MSPランキング表示
・所持金ランキング表示
・死亡回数ワーストランキング表示(Ver1.05)
・Mob殲滅匹数ランキング表示(Ver1.06) ※別途改造が必要
・転生・養子職表示に対応(Ver1.07)
・職業分布表表示(Ver1.08)
・キャラレベル分布表表示(Ver1.09)
・任意のNPCイベントリの値のランキング表示(Ver.1.11)


@Option
・鯖落ち時に、管理人へsendmailによる報告
・鯖ステ表示時に、ログイン人数も表示
・無視ID/名前登録により、ランキングから任意のキャラクターを除外
・ランキング表示時に、数値を出すかどうかの設定
・Server Status表示画面の初期表示設定(Ver1.07)
・ドメインから、IPを表示
・accountでBANしているキャラをランキングから自動で排除(v1.12)

@予定・課題
・ソート処理が重いのを改善したい(Ver1.11にて、以前の1/4程に軽量化に成功)
・職業別Baseレベルランキング表示


ネタがなくなってきたので追加機能募集中。

analyze_save.cgi
(Ver1.05α)

(Ver1.01αまでFree配布)
(Ver1.05αを登録Userに配布)

上と同じくAthenaのセーブデータから情報を吸出しますが、鯖缶専用です。

@機能
・キャラクターの詳細ステータス表示
・詳細ステータスから派生で、倉庫も表示
・詳細ステータスから派生で、内蔵計算機から妥当なBaseLvと妥当なステポイント算出
・アカウントごとの倉庫を表示
・ギルドごとの倉庫を表示
・Baseレベル⇔ステータスポイントの計算機
・セーブデータの整理整頓
・アカウントの選択削除

・キャラのスキルリスト表示(Ver1.01)
・所持アイテムの卵のスクリプト文に、ペットの名前と新密度を表示(Ver.1.02)
・指定したアイテムを所有するキャラやギルドの検索(Ver1.04)

@Option
・パスワード設定により鯖缶専用に
・item_db2.txtも読み込み可能に

@予定
・ゴーストアカウントを削除した時に、垢内キャラも抹消せんと・・・
・キャラクタステータスの編集
・ladminの機能の取り込み
・鯖の再起動などの機能

今は見易さを追及してる感じか・・・
パスワードは、sakage

clientinfo.cgi
(作成終了)
DiCEを使っているHTTP鯖機があれば、DiCEのログから最新IPを取得し、リアルタイムにclientinfo.xmlを書き換えて表示するCGIです。
Athenaの鯖機と同じグローバルIP下で動くHTTP鯖機があるのが条件です。
噂のXP SP2を当てたマシンから見ると、だめになりそう。
clientinfo.cgi 上のやつの改良版です。
DiCE使って無くても、ドメインからIPを取得して書き換えます。
これもやっぱり、XP SP2を当てたマシンから見ると、だめになりそう。
changepasswd.cgi ladminを取り込んでパスワードをWEB上から変更できるようにしたCGI。
addaccount.cgiのパクリ。微妙にセコい処理を使ってる。
動作具合が良く分からんから、とりあえず登録メンバだけに配布。
free_quest.cgi
(配布予定無し)
フリークエストNPC作成CGI。配布する必要は無いでしょうー。
まだまだ企画段階〜。こんな妄想中

その他

シェルスクリプト
suitable_restart
Athenaのプロセスを見張るわけじゃなくて、getlogincountで人数を見張る。
一定時間ごとにログイン人数を監視し、0人だったらAthenaをリスタートさせます。多分。
使い方は、Athena付属のstartとか、あれみたいな感じで。
アプリケーション CUI 版
saklen
 (Ver0.9)
Sakexeの0x000〜0x290の範囲のパケット長を調べて出力します。
raglenの、もろパクリ商品です。
アプリケーション GUI 版
sakleng
 (Ver0.91)
saklenのGUI版です。機能はCUIのより拡張してあります。
が、一晩で作った手抜き作と、C++の知識不足でいろいろ不具合が出ます。
0.9->0.91 初期最大パケットを0x2a0へ。Debugコードが含まれていたのを修正。


@ご使用の前に

これらのCGIは、無料で利用できます。
しかし、2次配布はhugeに許可なくやってはいけません。ここのURLを教えてあげて下さい。
それと、著作権は放棄しません。フッター部分を消して使わないでください orz
Athena自体が著作権云々言えたもんじゃないですけどね・・・(;´Д`)