本スクリプトの実際の使用例です。
本スクリプトは SJIS で書かれていて、作成されるHTMLやデータベースも
SJIS で作成されます。
ただし、本スクリプトは文字コードを気にせずに使えるようになっています。
ver1.8とver1.9では、ワールドのディレクトリ名が非互換です。
ワールド名がLydia → lydia になります。
URL表記、ファイル転送の時ここに注意してください。
ただし、WindowsやMacOSXのみで使う場合は気にしなくてもかまいません。
gvglib/config.rb で設定定数を変更できます。
砦譲渡があった週のみ、置いてください。(フォーマットは、TSV, タブ区切りです)
日付は、集計元の日付(日曜日)に設定することです。
注目レーサー、コメントを集計に付加するファイルです。
% ruby -Ks で Rubyスクリプトの文字コードを SJIS と見なして読み込んで実行します。
取得した攻城戦ログの文字コードを処理可能な文字コードに変換します。
% ruby nkfdate.rb 20040118 0 Lydia/log lydia -Esx
% ruby nkfdate.rb 20040118 0 Lydia/log timetable -Esx
取得した攻城戦ログを特定の攻城戦ログ形式に変換します。
% ruby logconvert.rb Lydia/log/timetable_20040118.txt Lydia (-Ex)
レーサー集計(ギルドランキング)を作成します。
占領アナウンスが一番多いギルドを自動で選びます。
複数のギルドが同位なら同時に並べます。
./world/log/others_YYYYMMDD.txt が存在したらその内容を読み込んでレーサー集計に反映させます。
./world/log/others_YYYYMMDD.txt が存在したらその内容を読み込んでレーサー集計に反映させます。
% ruby racer_log.rb Lydia/time_20041031.txt Lydia txt 0 2
標準出力(ターミナルまたはコマンドプロンプト上に)出力されます。
% ruby racer_log.rb Lydia/log/time_20041031.txt Lydia txt 0 2
% ruby racer_log.rb Lydia/log/time_20041031.txt Lydia htmllink 1 2
% ruby racer_log.rb Lydia/log/time_20041031.txt Lydia htmllocal 1 2
レーサー集計(ギルドランキング)を作成します。
読み込む攻城戦のログは ./ワールド名/log/PREFIX_YYYYMMDD.txt となります。
PREFIX の部分は引数で指定します。
書き出される攻城戦集計結果は ./ワールド名/log/各種結果_YYYYMMDD.txt となります。
% ruby racer.rb 20040118 0 Lydia time txt 1 2
Lydia/ ディレクトリに結果ファイル(テキスト)が生成されます。
% ruby racer.rb 20040118 0 Lydia time htmllink 1 2
Lydia/csv/ ディレクトリに結果ファイル(CSV)が生成されます。
Lydia/text/ ディレクトリに結果ファイル(テキスト)が生成されます。
Lydia/report/ ディレクトリに結果ファイル(HTML)が生成されます。
レーサー集計で生成したファイルの一覧表を作成します。
攻城戦過去ログ一括集計が処理済みであること。
% ruby makelink.rb 20040118 0 Lydia time htmllink
Lydia ディレクトリにファイル一覧表(HTML)が生成されます。
Lydia/total/ ディレクトリに総集計などが生成されます。
攻城戦ログから砦別取得履歴や砦取得ランキングを作成します。
% ruby history.rb 20040118 0 Lydia time htmllink
Lydia/history/ ディレクトリに砦別取得履歴や砦取得ランキングが生成されます。
攻城戦ログを自動で取得します。
レーサー集計処理結果をサーバーにアップします。
攻城戦過去ログを一括して集計処理します。
% logmakeall
または、 logmakeall.bat をダブルクリックして実行。
今週分までの攻城戦結果を作成します。
攻城戦過去ログ一括集計が処理済みであること。
% today 20040118
自動処理を行うのに使うファイルです。
UNIX, MacOSXは、自動処理にcronを使います。以後はその方法です。
crontabは、sample/crontab.txtが設定ファイルです。
参考にしてください。
# Min Hour Day Month Week Command
# Racer Totalizer AutoRun Setup.
# Script PATH
HOME=/home/user/public_html/racer
# Not Mail from STDERR
# > /dev/null 2>&1
# Every Week Sunday 22:04
4 22 * * 0 ruby $HOME/lydia.rb > /dev/null
9 22 * * 0 ruby $HOME/freya.rb > /dev/null
* * * * * command
1分おきに command を実行します。
10 3 1 * * command
毎月1日の3時10分に command を実行します。
0 12 * * 0 command
毎週日曜日の12時に command を実行します。
メールがいらない時は以下のようにします。
* * * * * command 1> /dev/null
エラーが起ころうと絶対にメールを送ってほしくない時は以下のようにします。
* * * * * command >/dev/null 2>&1
timetable.cgiは、虹色想雫にある攻城速報@ろらじおのRuby移植版です。
前回結果のfort.txtはracer.rbで作成されたfortlist_YYYYMMDD.txtで代用できます。
これはsample/world.rbを使えば自動作成されます。
前回結果ファイルと攻城戦ログを読み込んで現在の時系列表を作成します。
最終時間は現在時間です。
HTML版を作製したい時は、timetable.batをダブルクリックすれば出来上がります。
目次に戻ります。