Usage

本スクリプトの実際の使用例です。

最初に

本スクリプトは SJIS で書かれていて、作成されるHTMLやデータベースも SJIS で作成されます。
ただし、本スクリプトは文字コードを気にせずに使えるようになっています。

注意

ver1.8とver1.9では、ワールドのディレクトリ名が非互換です。
ワールド名がLydialydia になります。
URL表記、ファイル転送の時ここに注意してください。
ただし、WindowsやMacOSXのみで使う場合は気にしなくてもかまいません。

設定変更

gvglib/config.rb で設定定数を変更できます。

特殊設定

transfer_YYYYMMDD.txt

砦譲渡があった週のみ、置いてください。(フォーマットは、TSV, タブ区切りです)
日付は、集計元の日付(日曜日)に設定することです。

other_YYYYMMDD.txt

注目レーサー、コメントを集計に付加するファイルです。

Windows以外のOSの場合

% ruby -Ks で Rubyスクリプトの文字コードを SJIS と見なして読み込んで実行します。

nkfdate - 攻城戦ログの文字コード変換

取得した攻城戦ログの文字コードを処理可能な文字コードに変換します。

引数

  1. START
  2. END
  3. LOGDIR
  4. PREFIX
  5. OPTION

実行例

% ruby nkfdate.rb 20040118 0 Lydia/log lydia -Esx

% ruby nkfdate.rb 20040118 0 Lydia/log timetable -Esx

logconvert - 攻城戦ログ形式変換

取得した攻城戦ログを特定の攻城戦ログ形式に変換します。

  1. LOGFILE
  2. WORLD
  3. OPTION

実行例

% ruby logconvert.rb Lydia/log/timetable_20040118.txt Lydia (-Ex)

racer_log - レーサー集計

レーサー集計(ギルドランキング)を作成します。

最優秀レーサー

占領アナウンスが一番多いギルドを自動で選びます。
複数のギルドが同位なら同時に並べます。

注目レーサー

./world/log/others_YYYYMMDD.txt が存在したらその内容を読み込んでレーサー集計に反映させます。

その他

./world/log/others_YYYYMMDD.txt が存在したらその内容を読み込んでレーサー集計に反映させます。

引数

  1. LOGFILE
  2. WORLD
  3. FORMAT
  4. BREAKFORT
  5. FIGURE

実行例

レーサー集計(テキスト版)出力

% 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

HTMLとCSS+JavaScript分割版作成

% ruby racer_log.rb Lydia/log/time_20041031.txt Lydia htmllink 1 2

HTML単体版作成

% ruby racer_log.rb Lydia/log/time_20041031.txt Lydia htmllocal 1 2

racer - レーサー集計(一括実行)

レーサー集計(ギルドランキング)を作成します。
読み込む攻城戦のログは ./ワールド名/log/PREFIX_YYYYMMDD.txt となります。
PREFIX の部分は引数で指定します。
書き出される攻城戦集計結果は ./ワールド名/log/各種結果_YYYYMMDD.txt となります。

引数

  1. START
  2. END
  3. WORLD
  4. PREFIX
  5. FORMAT
  6. BREAKFORT
  7. FIGURE

実行例

レーサー集計(テキスト版)出力

% ruby racer.rb 20040118 0 Lydia time txt 1 2

Lydia/ ディレクトリに結果ファイル(テキスト)が生成されます。

レーサー集計(HTML版)出力

% ruby racer.rb 20040118 0 Lydia time htmllink 1 2

Lydia/csv/ ディレクトリに結果ファイル(CSV)が生成されます。
Lydia/text/ ディレクトリに結果ファイル(テキスト)が生成されます。 Lydia/report/ ディレクトリに結果ファイル(HTML)が生成されます。

makelink - ファイル一覧表作成

レーサー集計で生成したファイルの一覧表を作成します。

前提条件

攻城戦過去ログ一括集計が処理済みであること。

引数

  1. START
  2. END
  3. WORLD
  4. PREFIX
  5. FORMAT

実行例

% ruby makelink.rb 20040118 0 Lydia time htmllink

Lydia ディレクトリにファイル一覧表(HTML)が生成されます。
Lydia/total/ ディレクトリに総集計などが生成されます。

history - 砦別取得履歴

攻城戦ログから砦別取得履歴や砦取得ランキングを作成します。

引数

  1. START
  2. END
  3. WORLD
  4. PREFIX
  5. FORMAT

実行例

% ruby history.rb 20040118 0 Lydia time htmllink

Lydia/history/ ディレクトリに砦別取得履歴や砦取得ランキングが生成されます。

getlog - 攻城戦ログ取得

攻城戦ログを自動で取得します。

引数

  1. DATE
  2. WORLD

putlog - 攻城戦結果更新

レーサー集計処理結果をサーバーにアップします。

引数

  1. DATE
  2. WORLD

logmakeall - 攻城戦過去ログ一括処理

攻城戦過去ログを一括して集計処理します。

実行例

% logmakeall

または、 logmakeall.bat をダブルクリックして実行。

today - 今週処理

今週分までの攻城戦結果を作成します。

前提条件

攻城戦過去ログ一括集計が処理済みであること。

引数

  1. END

実行例

% today 20040118

自動処理

自動処理を行うのに使うファイルです。
UNIX, MacOSXは、自動処理にcronを使います。以後はその方法です。
crontabは、sample/crontab.txtが設定ファイルです。 参考にしてください。

自動実行方法

1. 登録

% crontab < crontab.txt(設定ファイル名)

2. 起動エディタ設定

% setenv EDITOR emacs (csh/tcsh の場合) % export EDITOR=emacs (sh/bash の場合) % crontab -e

3. crontabの表示

% crontab -l

4. 消去

% crontab -r

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 - 砦取得現況表

timetable.cgiは、虹色想雫にある攻城速報@ろらじおのRuby移植版です。
前回結果のfort.txtはracer.rbで作成されたfortlist_YYYYMMDD.txtで代用できます。
これはsample/world.rbを使えば自動作成されます。

前回結果ファイルと攻城戦ログを読み込んで現在の時系列表を作成します。
最終時間は現在時間です。
HTML版を作製したい時は、timetable.batをダブルクリックすれば出来上がります。

参考


目次に戻ります。