New configuration option "Mask" for [Operator] sections to limit OPER command.
[ngircd-alex.git] / man / ngircd.conf.5
1 .\"
2 .\" $Id: ngircd.conf.5,v 1.15 2005/03/02 16:07:31 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 \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.
152 .SH [OPERATOR]
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 .TP
164 \fBMask\fR
165 Mask that is to be checked before an /OPER for this account is accepted.
166 Example: nick!ident@*.example.com
167 .SH [SERVER]
168 Other servers are configured in
169 .I [Server]
170 sections. If you configure a port for the connection, then this ngIRCd
171 tries to connect to to the other server on the given port; if not, it waits
172 for the other server to connect.
173 .PP
174 The ngIRCd allows "server groups": You can assign an "ID" to every server
175 with which you want this ngIRCd to link. If a server of a group won't
176 answer, the ngIRCd tries to connect to the next server in the given group.
177 But ngIRCd never tries to connect to two servers with the same group ID.
178 .PP
179 There may be more than one
180 .I [Server]
181 block.
182 .TP
183 \fBName\fR
184 IRC name of the server
185 .TP
186 \fBHost\fR
187 Internet host name of the peer
188 .TP
189 \fBPort\fR
190 Port of the server to which the ngIRCd should connect. If you assign no port
191 the ngIRCd waits for incoming connections.
192 .TP
193 \fBMyPassword\fR
194 Own password for this connection. This password has to be configured as
195 "PeerPassword" on the other server.
196 .TP
197 \fBPeerPassword\fR
198 Foreign password for this connection. This password has to be configured as
199 "MyPassword" on the other server.
200 .TP
201 \fBGroup\fR
202 Group of this server (optional).
203 .SH [CHANNEL]
204 Pre-defined channels can be configured in
205 .I [Channel]
206 sections. Such channels are created by the server when starting up and even
207 persist when there are no more members left.
208 .PP
209 Persistent channels are marked with the mode 'P', which can be set and unset
210 by IRC operators like other modes on the fly.
211 .PP
212 There may be more than one
213 .I [Channel]
214 block.
215 .TP
216 \fBName\fR
217 Name of the channel
218 .TP
219 \fBTopic\fR
220 Topic for this channel
221 .TP
222 \fBModes\fR
223 Initial channel modes.
224 .SH HINTS
225 It's wise to use "ngircd --configtest" to validate the configuration file
226 after changing it. See
227 .BR ngircd (8)
228 for details.
229 .SH AUTHOR
230 Alexander Barton,
231 .UR mailto:alex@barton.de
232 alex@barton.de
233 .UE
234 .br
235 Homepage:
236 .UR http://arthur.ath.cx/~alex/ngircd/
237 http://arthur.ath.cx/~alex/ngircd/
238 .UE
239 .SH "SEE ALSO"
240 .BR ngircd (8)
241 .\"
242 .\" -eof-