ircd-fc について
置き場所
http://www.friend.td.nu/ircd/

http://www.xseed.ne.jp/irc/ircd/

ircd2.11

注意
ircd2.10.x と ircd2.11.0 はリンク可能ですが 2.10.0 はNICKNAMEに使えない記号があったりします。
ircd2.11.1 への移行するための中継的存在のようです(ircd2.11.0)
ircd2.10.x と ircd2.11.1 はリンクできません。
ircdを入れ替える時はご注意ください。


ircd-fc版を入手したら。install の手順は 2.10のときと同じです。
IPv6としてinstallしたい場合は、

(例)
./configure --enable-ip6 --prefix=/home/irc
ircd.confのデリミタも変わります。 区切り文字がデフォルトでは % です。
config.hを修正することで % を変えることも可能です。
通常のv4としてのinstallは
./configure --prefix=/home/irc
と、かわっていません。

ircd.confの書き方の違い。

以下は現状のircd.confから抜粋しています。(例です)
赤い文字の部分が追加で必要です。
----
# M:<Server NAME>:<YOUR Internet IP#>:<Geographic Location>:<Port>:<SID>
# <SID> とはサーバのIDです。日本は392x と決まっているようです。 参考HP tomochaさんのHPです。
M:my.domain:*:Network name:6667::3920
A:Network name:fc-oper --- nick:Client Server::FCnet
P::::6669:
P::::6668:
P::::6667:
P::::6666:
P::::6665:
P::::6664:
P::::6663:
P::::6662:
P::::6661:
P::::6660:
P::::6607:
#
#--- サーバーのクラス ---
#Y:<クラスナンバー>:<pingの頻度>:<接続確認の頻度>:<最大接続数>:<SendQ>::
#
#SERVER LINKS
Y:51:180:180:30:8000000
#
#
Y:10:90:0:10000:1000000
#
# 一般受入用
Y:20:90:0:10000:1000000:4.4:6.6
#
#
#I:<TARGET Host Addr>:<Password>:<TARGET Hosts NAME>:<Port>:<Class>:<MaxChan>
#
# すべてのクライアントを受け入れ
I:*::::20:R #以前の i 表記と同じ意味。
I:::*::20
O:my.domain:password:nickname::10:ApP&

ircd2.10



当IRCサーバには以下の変更点がございます。
1.RealName を変更できない client からの接続を拒否できる機能.
 (ircd2.11はX-lineにて対応)
2.接続形態によって最大join可能 channel 数を変更可能にする機能.
 (パスワードを入力することにより、より多数のチャンネルへのjoinが可能) 
3.server oper 権限で各 channel mode を変更可能にする機能.
4.ircd.conf を変更せずに K-line を変更する機能.
 (ircd2.11には標準でTKLINEコマンドがあります)


1については、DC難民防止する意図でつけましたが、こなかったので機能しておりません

2についてはjoin channel数(MCPU=50) が足りない人のために特別な受け入れ方法をつかい接続すると、
デフォルト設定数よりたくさんのchannelに同時に入ることができます(滅多にいませんが…)


3については、チャンネルオペレータの権限がなくなったとき、
通常ですと全員がそのchannelをpart(退出)し最初に入りなおした人が
チャンネルオペレータとなります
又は、サーバが切れたときを利用しきれたサーバのおのおのが接続されていた情報を忘れたとき
どちらかのサーバでチャンネルオペレータの権限を復活させておけば
サーバリンクが直ったときドッキングしてチャンネルオペレータのなかったchannelに復活することができます。(ircd2.11ではできなくなっています)
チャンネル全員と息をあわせての復活作業なのでうまくいくことが多いですが
常時接続でjoinしたままほったらかしの方が増えたせいか、そういうことが難しくなっております
各サーバオペレータの判断によって、チャンネルオペレータの復活は行うことがありますが
当たり前ですが channel名 なくなった経緯など の情報をお知らせください
状況にもよりますが確実に復活するサービスではありません、おのおのの管理者の判断によります


4の機能についてはほとんど使っておりません、各管理者の方も忘れてるくらいではないでしょうか(多少使用しています)


不明な点がございましたら掲示板に書き込むか、管理宛にメールしてください。

ircd installについて

上記場所より、ircd-fcを入手したら
 user irc によるインストールの例
    
~/tmp などにftpで転送
    
$ tar xvfz irc2.10.3-fcxx.tar.gz
$ cd irc2.10.3-fcxx
$ ./configure --prefix=/home/irc
    
i586-pc-linux-gnu だった場合
    
$ cd i586-pc-linux-gnu
    
config.h を編集
    
$ make install-server
$ cd ~/sbin
    
~/etc/ircd.conf を作成(ircd.motdもあるとなおよい)
    iauth.confも必要に応じて変更
    
$ ./ircd
    
とします。


設定に関すること(ircd.conf)
以下は例です

 ---
M:my.domain:*:Network name:6667:
A:Network name:fc-oper  --- nick:Client Server::
P::::6667:
Y:2:90:300:1000:8000000
Y:3:90:300:1000:8000000
Y:4:90:300:1000:8000000
Y:1:90:30:1000:8000000
Y:10:90:30:1000:8000000
Y:13:90:300:1000:8000000
I:*::*:6667:3
O:my.domain:password:nickname::10
    ---
最大接続数(config.h)について
そのunix shellで可能な上限は posix_types.h のFD_SETSIZEの値によります
$ find / -name 'posix_types.h'
とでもして探してクダサイ

また、上限をさらに上げたい場合は、FD_SETSIZEの値を上げて、
カーネルの再構築が必要みたいです
やったことありませんが一応。

FreeBSDの場合

/etc/sysctl.conf に
kern.maxfiles=65536
kern.maxfilesperproc=32768
/usr/include/sys/types.h の FD_SETSIZE を 32768
sysctl.conf に書いておいて 初回は
sysctl kern.maxfiles=65536
sysctl kern.maxfilesperproc=32768

ircd link
irc.aaa.ne.jp - irc.hub.ne.jp - irc.bbb.ne.jp とつなぎたい場合
3つのサーバのircd.confに

H:*::irc.hub.ne.jp::

を記載します
-- irc.aaa.ne.jp ---
c:irc.hub.ne.jp:password:irc.hub.ne.jp:6667:3
N:irc.hub.ne.jp:password:irc.hub.ne.jp::3
H:*::irc.hub.ne.jp::
    
-- irc.hub.ne.jp ---
c:irc.aaa.ne.jp:password:irc.aaa.ne.jp:6667:3
N:irc.aaa.ne.jp:password:irc.aaa.ne.jp::3
c:irc.bbb.ne.jp:password:irc.bbb.ne.jp:6667:3
N:irc.bbb.ne.jp:password:irc.bbb.ne.jp::3
H:*::irc.hub.ne.jp::
    
-- irc.bbb.ne.jp ---
c:irc.hub.ne.jp:password:irc.hub.ne.jp:6667:3
N:irc.hub.ne.jp:password:irc.hub.ne.jp::3
H:*::irc.hub.ne.jp::

このような感じになります

Open socks rejects
ircd.conf と同じ場所に iauth.conf
 --- 中身 ---
#
# Default iauth configuration file
#
# $Id: iauth.conf,v 1.2 1999/07/04 22:15:43 kalt Exp $
#
    
# If iauth timeouts, then reject user
notimeout
# This makes the IRC server require that iauth performs the authentication
# in order for a new user connection to be accepted
    required
    
# Perform ident lookups
    module rfc931
    
# Check and reject open SOCKS proxies
    module socks
	    option = reject,paranoid
 --- ここまで ----
さらに 
	    option = reject,paranoid,careful
    
としておくと、Denied access という理由でつながらない問題を解決できるようです。
    
最後の
module socks
option = reject,paranoid

のコメントはずすと有効になります
設定を変えた場合は ircd の restartが必要です。

サーバ名、IPの変更
リンクされている状態で相手サーバのIPがかわった場合は
rehash することが必要です 前回と同じ逆引きができないとはじきます。

ircdのlog
/var/log/ircd/ 等のディレクトリができてるとおもいます
iauth.log というファイルだけあるとおもいますが
ここに空ファイル
auth opers rejects users
を作成すると
接続log
rejects log
oper log
がとれるはずです

Cr27 patch
operコマンドです
/kline user@(FQDN or IP) reason
/tkline user@(FQDN or IP) reason

違いは kline コマンド使用した場合ircd.confに書き込まれます
tklineコマンド使用した場合は書き込まずにk-linedするため、rehashによって解除が可能です