- 追加された行はこの色です。
- 削除された行はこの色です。
* IRCサーバのFAQ [#s671142f]
#contents
** IRCサーバのログファイルが記録されない [#ircd_var_log]
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.users
- ircd.rejects
- ircd.auth
- ircd.opers
- ircd.debug
を作成してください。~
また、ircdが書き込める権限にする必要があります。~
ログファイルは、クライアントを切断した段階でログファイルに記録されるため、接続した瞬間にはログファイルに記録されません。
** IRCサーバへ接続したとき、時間が文字化けする [#encode_bug]
This server was created 2009綛??11? 10?・JST at ?・?・19:20:45
これは、サーバをコンパイルしたとき、環境変数が大きく影響を受けます。~
コンパイルするときの環境を確認してください。
*** bash 系の場合 [#c1de3b73]
LANG=C ; export LANG
LANGUAGE=C ; export LANGUAGE
LC_ALL=C ; export LANGUAGE
*** csh系の場合 [#d26472a8]
setenv LANG C
setenv LANGUAGE C
setenv LC_ALL C
** operになっても管理者権限のが使えない [#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
** 特殊チャンネルにログが表示されない [#admin_channel]
&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サーバへ接続、切断ログをリアルタイムで見たい [#admin_clients]
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となります。
''注意''
このチャンネルはシステムチャンネルのため、発言することは出来ません。
** 日本語チャンネルを作成したとき文字化けする [#japanese]
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.'' と表示され、チャンネルオペレータ権限が無い [#splitmode]
サーバに接続したとき、''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として下さい。