Last Update: 2010-12-06 (月) 20:02:50 (2446d)
FrontPage / IRC / IRCサーバの運用FAQ

IRCサーバのFAQ

IRCサーバのログファイルが記録されない

INSTALL.txt には次のように記述があります。

 Files created by ircd package during normal execution would be
 ircd.pid, ircd.tune, iauth.pid, ircdwatch.pid in PREFIX/var/run/ and
 ircd.users, ircd.rejects, ircd.auth, ircd.opers, ircd.debug,
 iauth.debug in PREFIX/var/log/.

PREFIX/var/log に、

を作成してください。
また、ircdが書き込める権限にする必要があります。
ログファイルは、クライアントを切断した段階でログファイルに記録されるため、接続した瞬間にはログファイルに記録されません。

IRCサーバへ接続したとき、時間が文字化けする

This server was created 2009綛??11? 10?・JST at ?・?・19:20:45

これは、サーバをコンパイルしたとき、環境変数が大きく影響を受けます。
コンパイルするときの環境を確認してください。

bash 系の場合

LANG=C ; export LANG
LANGUAGE=C ; export LANGUAGE
LC_ALL=C ; export LANGUAGE

csh系の場合

setenv LANG C
setenv LANGUAGE C
setenv LC_ALL C

operになっても管理者権限のが使えない

ircd.conf のO-Lineに使用できる権限を記述することが出来ます。

O-Line にも二種類存在し、ローカルオペレータ、グローバルオペレータの2通りがあり、言葉の通りローカルオペレータは、そのサーバの権限しかありませんが、グローバルオペレータ権限があると、IRCサーバ同士接続されている他のサーバにたいして、管理者権限でコマンドを実行することが可能となります。

小文字のo-Line については、ローカルオペレータ、大文字のO-Lineは、グローバルオペレータという位置づけでしたが、irc2.11以降、O-Lineに統一され、権限フラグを付けることによって細分化されています。

詳しくは、INSTALL.txtに記載がありますが、一部抜粋いたします。

    Flags
       This field contains flags of an O:line; flags are one character
       in size, can be combined and their order does not matter.  They
       define privileges of an operator.
       o  L - local operator (disables all remote functions)
       o  P - removes penalty
       o  p - allows flooding
       o  & - allows joining &CLIENTS
       o  A - enables all flags below
       o  C - allows local and remote CONNECT
       o  c - allows local CONNECT
       o  D - allows DIE
       o  d - allows DNS
       o  e - allows SET
       o  h - allows HAZH
       o  K - allows local and remote KILL
       o  k - allows local KILL
       o  l - allows CLOSE
       o  R - allows RESTART
       o  r - allows REHASH
       o  S - allows local and remote SQUIT
       o  s - allows local SQUIT
       o  T - allows TKLINE
       o  q - allows KLINE
       o  t - enables full TRACE and STATS L
       o  v - allows SIDTRACE

       ``L'' flag cannot be overridden by other flags.  If <Flags>
       field is left empty, no privileges will be granted.

    Example
       O:orion.cair.du.edu:pyunxc:Jeff::1:A

特殊チャンネルにログが表示されない

&ERRORS &NOTICES &KILLS &SERVERS といったチャンネルにJOINしても、特殊チャンネルとして扱われず、メッセージが表示されない時は、config.h のログの設定を有効にしてください。

/*
** If you want your server channels logged to a file, define this and
** any of LOG_SCH_* you want. Logfile names are taken from channel names
** (like: ircd.ERRORS) and they must exist to be used.
*/
#undef LOG_SERVER_CHANNELS
#ifdef LOG_SERVER_CHANNELS
#undef LOG_SCH_ERROR    /* &ERRORS */
#undef LOG_SCH_NOTICE   /* &NOTICES */
#undef LOG_SCH_KILL     /* &KILLS */
#undef LOG_SCH_CHAN     /* &CHANNEL */
#undef LOG_SCH_NUM      /* &NUMERICS */
#undef LOG_SCH_SERVER   /* &SERVERS */
#undef LOG_SCH_HASH     /* &HASH */
#undef LOG_SCH_LOCAL    /* &LOCAL */
#undef LOG_SCH_SERVICE  /* &SERVICES */
#undef LOG_SCH_DEBUG    /* &DEBUG */
#undef LOG_SCH_AUTH     /* &AUTH */
#undef LOG_SCH_SAVE     /* &SAVE */
#undef LOG_SCH_WALLOP   /* &WALLOPS */
#undef LOG_SCH_CLIENT   /* &CLIENTS (if defined to exist) */
#undef LOG_SCH_OPER     /* &OPER */
#endif /* LOG_SERVER_CHANNELS */

IRCサーバへ接続、切断ログをリアルタイムで見たい

irc2.11.0 以降、&CLIENTS というシステムチャンネルがあり、IRCサーバへの接続、切断ログを普段使用しているIRCクライアントで閲覧することが出来ます。

方法

oper になり、&CLIENTS というチャンネルにJOINします。

エラー

oper になっていないとき、若しくはO-Lineに`&' フラグが内場合は、は次のようなエラーメッセージが表示されます。

:<SERVER> 473 <NICKNAME> &CLIENTS :Cannot join channel (+i)

表示メッセージ

JOINすると、NOTICEで次のような接続・切断ログが表示されます。

0000AAAAA nick1 ~nick1 2001:db8:12:3456:abcd:eabc:ac00:ac00 QUIT 0
0000BBBBB nick1 ~nick1 2001:db8:12:3456:abcd:eabc:ac00:ac00 CONN 2001:db8:12:3456:abcd:eabc:ac00:ac00

尚、0000AAAAA はirc2.11.0以降実装されたUIDとなります。

注意

このチャンネルはシステムチャンネルのため、発言することは出来ません。

日本語チャンネルを作成したとき文字化けする

ircd2.11.2 より日本語パッチが正式にマージされています。
ただし、ircd2.11.1p1 までは、不具合があるため、ircd2.11.2p2 以降を使用してください。
また、日本語パッチ機能を有効にするには、config.h で日本語を使用するように設定する必要があります。

/*
** Define this if you want to use Japanese channel names in JIS encoding.
*/
#undef JAPANESE
       ↓
#define JAPANESE

Server is currently in split-mode. と表示され、チャンネルオペレータ権限が無い

サーバに接続したとき、Server is currently in split-mode. と表示され、split-mode に入ってしまい、新規でチャンネルを作成した際チャンネルオペレータ権限が無い状態が発生します。
この split-mode に入る条件は、config.hに記載されています。

デフォルトのconfig.hには、

#define DEFAULT_SPLIT_USERS     65000
#define DEFAULT_SPLIT_SERVERS   70

となっており、接続している網全体で、65000USER 若しくは リンクされているサーバの数が 70を下回ったとき網全体が大きく分断していると判断され、split-mode に入ってしまいます。無効にするには、 DEFAULT_SPLIT_USERS 及び DEFAULT_SPLIT_SERVERS を 0として下さい。

TOPページへ戻るページの更新   ページの編集新しいページの作成新しい下位ページの作成そのページを引用して新規作成そのページにファイルの添付ページの削除ページ名の変更前回の編集内容の表示ページの凍結バックアップページの参照ページへのリンク元を表示   サイトのページ一覧サイト内単語検索編集したページの履歴削除したページの履歴   別ウィンドウでマニュアルページへ