Used a spellchecker :-)
[ngircd-alex.git] / man / ngircd.conf.5
1 .\"
2 .\" $Id: ngircd.conf.5,v 1.17 2005/04/13 21:40:50 alex Exp $
3 .\"
4 .TH ngircd.conf 5 "February 2005" ngircd "ngIRCd Manual"
5 .SH NAME
6 ngircd.conf \- configuration file of ngIRCd
7 .SH SYNOPSIS
8 .B /usr/local/etc/ngircd.conf
9 .SH DESCRIPTION
10 .BR ngircd.conf
11 is the configuration file for
12 .BR ngircd (8)
13 which you should adept to your local preferences and needs.
14 .SH "FILE FORMAT"
15 The file consists of sections and parameters. A section begins with the name
16 of the section in square brackets and continues until the next section
17 begins.
18 .PP
19 Sections contain parameters of the form
20 .PP
21 .RS
22 .I name
23 =
24 .I value
25 .RE
26 .PP
27 Any line beginning with a semicolon (';') or a hash ('#') character is
28 treated as a comment and ignored.
29 .PP
30 The file format is line-based - that means, each newline-terminated line
31 represents either a comment, a section name or a parameter.
32 .PP
33 Section and parameter names are not case sensitive.
34 .SH "SECTION OVERVIEW"
35 The file is separated in four blocks: [Global], [Operator], [Server],
36 and [Channel].
37 .PP
38 In the
39 .I [Global]
40 section, there is the main configuration like the server name and the
41 ports, on which the server should be listening. IRC operators of this
42 server are defined in
43 .I [Operator]
44 blocks.
45 .I [Server]
46 is the section where server links are configured. And
47 .I [Channel]
48 blocks are used to configure pre-defined ("persistent") IRC channels.
49 .SH [GLOBAL]
50 The
51 .I [Global]
52 section is used to define the server main configuration, like the server
53 name and the ports on which the server should be listening.
54 .TP
55 \fBName\fR
56 Server name in the IRC network
57 .TP
58 \fBInfo\fR
59 Info text of the server. This will be shown by WHOIS and LINKS requests for
60 example.
61 .TP
62 \fBAdminInfo1\fR, \fBAdminInfo2\fR, \fBAdminEMail\fR
63 Information about the server and the administrator, used by the ADMIN
64 command.
65 .TP
66 \fBPorts\fR
67 Ports on which the server should listen. There may be more than one port,
68 separated with ','. Default: 6667.
69 .TP
70 \fBListen\fR
71 The IP address on which the server should listen. Default is empty, so
72 the server listens on all configured IP addresses and interfaces.
73 .TP
74 \fBMotdFile\fR
75 Text file with the "message of the day" (MOTD). This message will be shown
76 to all users connecting to the server.
77 .TP
78 \fBMotdPhrase\fR
79 A simple Phrase (<256 chars) if you don't want to use a MOTD file.
80 If it is set no MotdFile will be read at all.
81 .TP
82 \fBServerUID\fR
83 User ID under which the server should run; you can use the name of the user
84 or the numerical ID.
85 .PP
86 .RS
87 .B Attention:
88 .br
89 For this to work the server must have been
90 started with root privileges! In addition, the configuration and MOTD files
91 must be readable by this user, otherwise RESTART and REHASH won't work!
92 .RE
93 .TP
94 \fBServerGID\fR
95 Group ID under which the ngIRCd should run; you can use the name of the
96 group or the numerical ID.
97 .PP
98 .RS
99 .B Attention:
100 .br
101 For this to work the server must have
102 been started with root privileges!
103 .RE
104 .TP
105 \fBChrootDir\fR
106 A directory to chroot in when everything is initialized. It doesn't need
107 to be populated if ngIRCd is compiled as a static binary. By default ngIRCd
108 won't use the chroot() feature.
109 .PP
110 .RS
111 .B Attention:
112 .br
113 For this to work the server must have
114 been started with root privileges!
115 .RE
116 .TP
117 \fBPidFile\fR
118 This tells ngIRCd to write its current process ID to a file. Note that the
119 pidfile is written AFTER chroot and switching the user ID, i. e. the
120 directory the pidfile resides in must be writeable by the ngIRCd user and
121 exist in the chroot directory (if configured, see above).
122 .RE
123 .TP
124 \fBPingTimeout\fR
125 After <PingTimeout> seconds of inactivity the server will send a PING to
126 the peer to test whether it is alive or not. Default: 120.
127 .TP
128 \fBPongTimeout\fR
129 If a client fails to answer a PING with a PONG within <PongTimeout>
130 seconds, it will be disconnected by the server. Default: 20.
131 .TP
132 \fBConnectRetry\fR
133 The server tries every <ConnectRetry> seconds to establish a link to not yet
134 (or no longer) connected servers. Default: 60.
135 .TP
136 \fBOperCanUseMode\fR
137 Should IRC Operators be allowed to use the MODE command even if they are
138 not(!) channel-operators? Default: no.
139 .TP
140 \fBOperServerMode\fR
141 If OperCanUseMode is enabled, this may lead the compatibility problems with
142 Servers that run the ircd-irc2 Software. This Option "masks" mode requests
143 by non-chanops as if they were coming from the server. Default: no.
144 .TP
145 \fBMaxConnections\fR
146 Maximum number of simultaneous connection the server is allowed to accept
147 (<=0: unlimited). Default: -1.
148 .TP
149 \fBMaxConnectionsIP\fR
150 Maximum number of simultaneous connections from a single IP address that
151 the server will accept (<=0: unlimited). This configuration options lowers
152 the risk of denial of service attacks (DoS). Default: 5.
153 .TP
154 \fBMaxJoins\fR
155 Maximum number of channels a user can be member of (<=0: no limit).
156 Default: 10.
157 .SH [OPERATOR]
158 .I [Operator]
159 sections are used to define IRC Operators. There may be more than one
160 .I [Operator]
161 block, one for each local operator.
162 .TP
163 \fBName\fR
164 ID of the operator (may be different of the nick name).
165 .TP
166 \fBPassword\fR
167 Password of the IRC operator.
168 .TP
169 \fBMask\fR
170 Mask that is to be checked before an /OPER for this account is accepted.
171 Example: nick!ident@*.example.com
172 .SH [SERVER]
173 Other servers are configured in
174 .I [Server]
175 sections. If you configure a port for the connection, then this ngIRCd
176 tries to connect to to the other server on the given port; if not, it waits
177 for the other server to connect.
178 .PP
179 The ngIRCd allows "server groups": You can assign an "ID" to every server
180 with which you want this ngIRCd to link. If a server of a group won't
181 answer, the ngIRCd tries to connect to the next server in the given group.
182 But ngIRCd never tries to connect to two servers with the same group ID.
183 .PP
184 There may be more than one
185 .I [Server]
186 block.
187 .TP
188 \fBName\fR
189 IRC name of the server
190 .TP
191 \fBHost\fR
192 Internet host name of the peer
193 .TP
194 \fBPort\fR
195 Port of the server to which the ngIRCd should connect. If you assign no port
196 the ngIRCd waits for incoming connections.
197 .TP
198 \fBMyPassword\fR
199 Own password for this connection. This password has to be configured as
200 "PeerPassword" on the other server.
201 .TP
202 \fBPeerPassword\fR
203 Foreign password for this connection. This password has to be configured as
204 "MyPassword" on the other server.
205 .TP
206 \fBGroup\fR
207 Group of this server (optional).
208 .SH [CHANNEL]
209 Pre-defined channels can be configured in
210 .I [Channel]
211 sections. Such channels are created by the server when starting up and even
212 persist when there are no more members left.
213 .PP
214 Persistent channels are marked with the mode 'P', which can be set and unset
215 by IRC operators like other modes on the fly.
216 .PP
217 There may be more than one
218 .I [Channel]
219 block.
220 .TP
221 \fBName\fR
222 Name of the channel
223 .TP
224 \fBTopic\fR
225 Topic for this channel
226 .TP
227 \fBModes\fR
228 Initial channel modes.
229 .SH HINTS
230 It's wise to use "ngircd --configtest" to validate the configuration file
231 after changing it. See
232 .BR ngircd (8)
233 for details.
234 .SH AUTHOR
235 Alexander Barton,
236 .UR mailto:alex@barton.de
237 alex@barton.de
238 .UE
239 .br
240 Homepage:
241 .UR http://arthur.ath.cx/~alex/ngircd/
242 http://arthur.ath.cx/~alex/ngircd/
243 .UE
244 .SH "SEE ALSO"
245 .BR ngircd (8)
246 .\"
247 .\" -eof-