English Version

Usage

起動

$ ruby ircd.rb [設定ファイル(sample.conf など)]

と実行すると、ローカルのポート6667でサーバが開始されます。 終了するときは^Cで落ちるとおもいます。

設定ファイルの書き方

sample.confを開けるとこんな感じに成っていると思います。

Conf = {
  :Motd => open("motd.txt"){|f| f.read }.tojis,
  :Info => open("info.txt"){|f| f.read }.tojis,
  :Port => 6667,
  :Opers => {"superoper*"=>"ea703e7aa1efda0064eaa507d9e8ab7e"},
  :MaxClients => 100,
  :PINGInterval => 300,
  :PINGLimit => 90,
}

設定はRubyのHashオブジェクトになっています。{}の中に

 
:設定名 => 値, 

という感じで設定を書いていきます。

設定項目はこんなかんじです。

:Motd
MOTD(Message of the day)で出力される文章を指定します。 サーバに接続すると最初に渡されるメッセージです。お知らせとか時候の挨拶とか詩とかプチ自慢とかを書くといいでしょう。 サンプルでは"motd.txt"の内容が出力されるようになっています。
:Info
INFOで出力される文章を指定します。 サーバの情報とか沿革を書くといいんじゃないでしょうか。 サンプルでは"info.txt"の内容が出力される設定になっています。
:Port
サーバを実行するポートです。空いているポートを指定してください(6660 ~ 6669 辺りが良いと思います。) サンプルでは 6667 です。
:Opers
サーバオペレータの名前マスクとパスワードのHashを指定します。 詳しくはOperの使い方を参照。
:MaxClients
同時に繋げるクライアント数。サンプルでは100。
:PINGInterval
クライアントにPINGを打つ間隔(秒)。PINGとは、クライアントとの接続が切れていないか確認するためのメッセージです。 PINGを打って一定時間(PINGLimitで指定された秒数)経過しても返答(PONG)が無ければ、クライアントとの接続を切ります。 サンプルでは300秒に一回です。
:PINGLimit
PINGを打ってからPONGが返ってくるまで待つ時間(秒)。指定された時間を過ぎても返ってこない場合、クライアントとの接続を打ち切ります。 サンプルでは90秒です。

気が向いたらもっと増やします。

Operの使い方

Operの設定法

Operとは、サーバオペレータの事で、平たく云ってしまえばサーバを再起動させたり終了させたり、再読込みさせたりする権限のあるユーザの事です。

Operに成るには、正しい OPER名 とパスワードの組合せが必要です。逆に云えば、それさえ分かれば誰でもOperに成れると云うことです。 Operになるには、サーバにOPERコマンドを打つ必要があります。 例えば、OPER名が oper1, パスワードが hoge の場合、

OPER oper1 hoge

とすると、OPER権限が貰えるわけです。

この組合せの設定は設定ファイルのOpersの欄で行います。こんな書式です:

Opers => {OPER名1 => パスワード1, OPER名2 => パスワード2, ...},

サンプルではこうなっています。

Opers => {"superoper*" => "ea703e7aa1efda0064eaa507d9e8ab7e"},

この例では、 superoper で始まるOPER名と、hogeというパスワードが関連付けられています。

パスワードの欄がなにやら複雑なことになっていますが、此れはMD5という方式で暗号化されているからです。任意のパスワードについてそのMD5値を知るには、同梱のmkpassword.rbを使ってください。

$ ruby mkpassword.rb パスワード

とすると分かります。

Operの使えるコマンド

REHASH
サーバの設定を再読込みさせます
CLOSE
サーバに接続している全クライアントとの接続を切ります
RESTART
サーバを再起動させます
DIE
サーバを終了します