New "chroot" feature (from Benjamin Pineau), introducing new configuration
[ngircd-alex.git] / man / ngircd.conf.5
1 .\"
2 .\" $Id: ngircd.conf.5,v 1.13 2004/05/07 11:19:20 alex Exp $
3 .\"
4 .TH ngircd.conf 5 "Mai 2003" 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 \fBPingTimeout\fR
118 After <PingTimeout> seconds of inactivity the server will send a PING to
119 the peer to test whether it is alive or not. Default: 120.
120 .TP
121 \fBPongTimeout\fR
122 If a client fails to answer a PING with a PONG within <PongTimeout>
123 seconds, it will be disconnected by the server. Default: 20.
124 .TP
125 \fBConnectRetry\fR
126 The server tries every <ConnectRetry> seconds to establish a link to not yet
127 (or no longer) connected servers. Default: 60.
128 .TP
129 \fBOperCanUseMode\fR
130 Should IRC Operators be allowed to use the MODE command even if they are
131 not(!) channel-operators? Default: no.
132 .TP
133 \fBMaxConnections\fR
134 Maximum number of simultaneous connection the server is allowed to accept
135 (<=0: unlimited). Default: -1.
136 .TP
137 \fBMaxConnectionsIP\fR
138 Maximum number of simultaneous connections from a single IP address that
139 the server will accept (<=0: unlimited). This configuration options lowers
140 the risk of denial of service attacks (DoS). Default: 5.
141 .TP
142 \fBMaxJoins\fR
143 Maximum number of channels a user can be member of (<=0: no limit).
144 Default: 10.
145 .SH [OPERATOR]
146 .I [Operator]
147 sections are used to define IRC Operators. There may be more than one
148 .I [Operator]
149 block, one for each local operator.
150 .TP
151 \fBName\fR
152 ID of the operator (may be different of the nick name).
153 .TP
154 \fBPassword\fR
155 Password of the IRC operator.
156 .SH [SERVER]
157 Other servers are configured in
158 .I [Server]
159 sections. If you configure a port for the connection, then this ngIRCd
160 tries to connect to to the other server on the given port; if not, it waits
161 for the other server to connect.
162 .PP
163 The ngIRCd allows "server groups": You can assign an "ID" to every server
164 with which you want this ngIRCd to link. If a server of a group won't
165 answer, the ngIRCd tries to connect to the next server in the given group.
166 But ngIRCd never tries to connect to two servers with the same group ID.
167 .PP
168 There may be more than one
169 .I [Server]
170 block.
171 .TP
172 \fBName\fR
173 IRC name of the server
174 .TP
175 \fBHost\fR
176 Internet host name of the peer
177 .TP
178 \fBPort\fR
179 Port of the server to which the ngIRCd should connect. If you assign no port
180 the ngIRCd waits for incoming connections.
181 .TP
182 \fBMyPassword\fR
183 Own password for this connection. This password has to be configured as
184 "PeerPassword" on the other server.
185 .TP
186 \fBPeerPassword\fR
187 Foreign password for this connection. This password has to be configured as
188 "MyPassword" on the other server.
189 .TP
190 \fBGroup\fR
191 Group of this server (optional).
192 .SH [CHANNEL]
193 Pre-defined channels can be configured in
194 .I [Channel]
195 sections. Such channels are created by the server when starting up and even
196 persist when there are no more members left.
197 .PP
198 Persistent channels are marked with the mode 'P', which can be set and unset
199 by IRC operators like other modes on the fly.
200 .PP
201 There may be more than one
202 .I [Channel]
203 block.
204 .TP
205 \fBName\fR
206 Name of the channel
207 .TP
208 \fBTopic\fR
209 Topic for this channel
210 .TP
211 \fBModes\fR
212 Initial channel modes.
213 .SH HINTS
214 It's wise to use "ngircd --configtest" to validate the configuration file
215 after changing it. See
216 .BR ngircd (8)
217 for details.
218 .SH AUTHOR
219 Alexander Barton,
220 .UR mailto:alex@barton.de
221 alex@barton.de
222 .UE
223 .br
224 Homepage:
225 .UR http://arthur.ath.cx/~alex/ngircd/
226 http://arthur.ath.cx/~alex/ngircd/
227 .UE
228 .SH "SEE ALSO"
229 .BR ngircd (8)
230 .\"
231 .\" -eof-