[ngircd-alex.git] / man / ngircd.conf.5
1 .\"
2 .\" $Id: ngircd.conf.5,v 1.14 2005/02/14 00:42:41 alex Exp $
3 .\"
4 .TH ngircd.conf 5 "February 2005" ngircd "ngIRCd Manual"
6 ngircd.conf \- configuration file of ngIRCd
8 .B /usr/local/etc/ngircd.conf
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.
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.
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.
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 \fBMaxConnections\fR
141 Maximum number of simultaneous connection the server is allowed to accept
142 (<=0: unlimited). Default: -1.
143 .TP
144 \fBMaxConnectionsIP\fR
145 Maximum number of simultaneous connections from a single IP address that
146 the server will accept (<=0: unlimited). This configuration options lowers
147 the risk of denial of service attacks (DoS). Default: 5.
148 .TP
149 \fBMaxJoins\fR
150 Maximum number of channels a user can be member of (<=0: no limit).
151 Default: 10.
153 .I [Operator]
154 sections are used to define IRC Operators. There may be more than one
155 .I [Operator]
156 block, one for each local operator.
157 .TP
158 \fBName\fR
159 ID of the operator (may be different of the nick name).
160 .TP
161 \fBPassword\fR
162 Password of the IRC operator.
163 .SH [SERVER]
164 Other servers are configured in
165 .I [Server]
166 sections. If you configure a port for the connection, then this ngIRCd
167 tries to connect to to the other server on the given port; if not, it waits
168 for the other server to connect.
169 .PP
170 The ngIRCd allows "server groups": You can assign an "ID" to every server
171 with which you want this ngIRCd to link. If a server of a group won't
172 answer, the ngIRCd tries to connect to the next server in the given group.
173 But ngIRCd never tries to connect to two servers with the same group ID.
174 .PP
175 There may be more than one
176 .I [Server]
177 block.
178 .TP
179 \fBName\fR
180 IRC name of the server
181 .TP
182 \fBHost\fR
183 Internet host name of the peer
184 .TP
185 \fBPort\fR
186 Port of the server to which the ngIRCd should connect. If you assign no port
187 the ngIRCd waits for incoming connections.
188 .TP
189 \fBMyPassword\fR
190 Own password for this connection. This password has to be configured as
191 "PeerPassword" on the other server.
192 .TP
193 \fBPeerPassword\fR
194 Foreign password for this connection. This password has to be configured as
195 "MyPassword" on the other server.
196 .TP
197 \fBGroup\fR
198 Group of this server (optional).
200 Pre-defined channels can be configured in
201 .I [Channel]
202 sections. Such channels are created by the server when starting up and even
203 persist when there are no more members left.
204 .PP
205 Persistent channels are marked with the mode 'P', which can be set and unset
206 by IRC operators like other modes on the fly.
207 .PP
208 There may be more than one
209 .I [Channel]
210 block.
211 .TP
212 \fBName\fR
213 Name of the channel
214 .TP
215 \fBTopic\fR
216 Topic for this channel
217 .TP
218 \fBModes\fR
219 Initial channel modes.
221 It's wise to use "ngircd --configtest" to validate the configuration file
222 after changing it. See
223 .BR ngircd (8)
224 for details.
226 Alexander Barton,
227 .UR mailto:alex@barton.de
228 alex@barton.de
229 .UE
230 .br
231 Homepage:
232 .UR http://arthur.ath.cx/~alex/ngircd/
233 http://arthur.ath.cx/~alex/ngircd/
234 .UE
235 .SH "SEE ALSO"
236 .BR ngircd (8)
237 .\"
238 .\" -eof-