1ngircd.conf(5)                   ngIRCd Manual                  ngircd.conf(5)
2
3
4

NAME

6       ngircd.conf - configuration file of ngIRCd
7

SYNOPSIS

9       /etc/ngircd.conf
10

DESCRIPTION

12       ngircd.conf  is  the configuration file of the ngircd(8) Internet Relay
13       Chat (IRC) daemon which you should adept to your local preferences  and
14       needs.
15
16       Most  variables can be modified while the ngIRCd daemon is already run‐
17       ning: It will reload its configuration when a HUP signal is received.
18

FILE FORMAT

20       The file consists of sections and parameters. A section begins with the
21       name  of  the  section  in square brackets and continues until the next
22       section begins.
23
24       Sections contain parameters of the form
25
26              name = value
27
28       Empty lines and any line beginning with a semicolon  (';')  or  a  hash
29       ('#')  character  are treated as a comment and will be ignored. Leading
30       and trailing whitespaces are trimmed before any processing takes place.
31
32       The file format is line-based - that means, each non-empty newline-ter‐
33       minated  line represents either a comment, a section name, or a parame‐
34       ter.
35
36       Section and parameter names are not case sensitive.
37

SECTION OVERVIEW

39       The file can  contain  blocks  of  four  types:  [Global],  [Operator],
40       [Server], and [Channel].
41
42       The main configuration of the server is stored in the [Global] section,
43       like the server name, administrative information and the ports on which
44       the  server  should  be  listening.  IRC  operators  of this server are
45       defined in [Operator] blocks.  [Server] is  the  section  where  server
46       links  are  configured. And [Channel] blocks are used to configure pre-
47       defined ("persistent") IRC channels.
48
49       There can be more than one [Operator], [Server] and [Channel]  sections
50       per configuration file, but only one [Global] section.
51

[GLOBAL]

53       The  [Global]  section is used to define the server main configuration,
54       like the server name and the ports on which the server should  be  lis‐
55       tening.
56
57       Name   Server  name  in  the IRC network. This is an individual name of
58              the IRC server, it is not related to the DNS host name. It  must
59              be  unique  in the IRC network and must contain at least one dot
60              (".") character.
61
62       Info   Info text of the server. This will be shown by WHOIS  and  LINKS
63              requests for example.
64
65       Password
66              Global  password  for all users needed to connect to the server.
67              The default is empty, so no password is required.
68
69       WebircPassword
70              Password required for using the WEBIRC command used by some Web-
71              to-IRC  gateways.  If not set or empty, the WEBIRC command can't
72              be used.  Default: not set.
73
74       AdminInfo1, AdminInfo2, AdminEMail
75              Information about the server and the administrator, used by  the
76              ADMIN command.
77
78       Ports  Ports  on which the server should listen. There may be more than
79              one port, separated with commas  (",").  Default:  6667,  unless
80              SSL_Ports are also specified.
81
82       SSLPorts
83              Same  as Ports , except that ngIRCd will expect incoming connec‐
84              tions to be SSL/TLS encrypted.  Common  port  numbers  for  SSL-
85              encrypted IRC are 6669 and 6697. Default: none.
86
87       SSLKeyFile
88              Filename  of SSL Server Key to be used for SSL connections. This
89              is required for SSL/TLS support.
90
91       SSLKeyFilePassword
92              (OpenSSL only:) Password to decrypt private key.
93
94       SSLCertFile
95              Certificate file of the private key.
96
97       SSLDHFile
98              Name of the Diffie-Hellman Parameter file. Can be  created  with
99              gnutls "certtool --generate-dh-params" or "openssl dhparam".  If
100              this file is not present, it will be generated on  startup  when
101              ngIRCd  was  compiled  with  gnutls  support (this may take some
102              time).   If   ngIRCd   was   compiled   with    OpenSSL,    then
103              (Ephemeral)-Diffie-Hellman  Key  Exchanges  and  several  Cipher
104              Suites will not be available.
105
106       Listen A comma separated list of IP address on which the server  should
107              listen.  If unset, the defaults value is "0.0.0.0" or, if ngIRCd
108              was compiled with IPv6 support, "::,0.0.0.0". So the server lis‐
109              tens on all configured IP addresses and interfaces by default.
110
111       MotdFile
112              Text  file  with  the  "message of the day" (MOTD). This message
113              will be shown to all users connecting to the server.
114
115       MotdPhrase
116              A simple Phrase (<256 chars) if you don't want  to  use  a  MOTD
117              file.   If this variable is set, no MotdFile will be read at all
118              which can be handy if the daemon  should  run  inside  a  chroot
119              directory.
120
121       ServerUID
122              User  ID under which the server should run; you can use the name
123              of the user or the numerical ID.
124
125              Attention:
126              For this to work the server must have  been  started  with  root
127              privileges!  In  addition, the configuration and MOTD files must
128              be readable by this user, otherwise  RESTART  and  REHASH  won't
129              work!
130
131       ServerGID
132              Group ID under which the ngIRCd should run; you can use the name
133              of the group or the numerical ID.
134
135              Attention:
136              For this to work the server must have  been  started  with  root
137              privileges!
138
139       ChrootDir
140              A  directory  to  chroot  in  when everything is initialized. It
141              doesn't need to be populated if ngIRCd is compiled as  a  static
142              binary. By default ngIRCd won't use the chroot() feature.
143
144              Attention:
145              For  this  to  work  the server must have been started with root
146              privileges!
147
148       PidFile
149              This tells ngIRCd to write its current process  ID  to  a  file.
150              Note  that the pidfile is written AFTER chroot and switching the
151              user ID, i. e. the directory the  pidfile  resides  in  must  be
152              writeable  by  the ngIRCd user and exist in the chroot directory
153              (if configured, see above).
154
155       PingTimeout
156              After <PingTimeout> seconds of inactivity the server will send a
157              PING  to  the  peer to test whether it is alive or not. Default:
158              120.
159
160       PongTimeout
161              If a client fails to answer a PING with a PONG within <PongTime‐
162              out>  seconds,  it  will be disconnected by the server. Default:
163              20.
164
165       ConnectRetry
166              The server tries every <ConnectRetry>  seconds  to  establish  a
167              link to not yet (or no longer) connected servers. Default: 60.
168
169       OperCanUseMode
170              Should  IRC Operators be allowed to use the MODE command even if
171              they are not(!) channel-operators? Default: no.
172
173       OperServerMode
174              If OperCanUseMode is enabled, this may  lead  the  compatibility
175              problems  with  Servers  that  run  the ircd-irc2 Software. This
176              Option "masks" mode requests by non-chanops as if they were com‐
177              ing from the server. Default: no.
178
179       AllowRemoteOper
180              Are IRC operators connected to remote servers allowed to control
181              this server, e. g. are they allowed to use  administrative  com‐
182              mands  like  CONNECT,  DIE,  SQUIT, ... that affect this server?
183              Default: no.
184
185       PredefChannelsOnly
186              If enabled, no new channels can be created. Useful if you do not
187              want to have channels other than those defined in [Channel] sec‐
188              tions in the configuration file.  Default: no.
189
190       NoDNS  If set to true, ngIRCd will not make DNS  lookups  when  clients
191              connect.   If  you  configure  the  daemon  to  connect to other
192              servers, ngIRCd may still perform  a  DNS  lookup  if  required.
193              Default: no.
194
195       NoIdent
196              If  ngIRCd  is  compiled  with IDENT support this can be used to
197              disable IDENT lookups at run time.  Default: no.
198
199       ConnectIPv4
200              Set this to no if you do not want ngIRCd to connect to other IRC
201              servers  using  IPv4.  This  allows usage of ngIRCd in IPv6-only
202              setups.  Default: yes.
203
204       ConnectIPv6
205              Set this to no if you do not want ngIRCd to connect to other irc
206              servers using IPv6.  Default: yes.
207
208       MaxConnections
209              Maximum  number of simultaneous in- and outbound connections the
210              server is allowed to accept (0: unlimited). Default: 0.
211
212       MaxConnectionsIP
213              Maximum number of simultaneous  connections  from  a  single  IP
214              address that the server will accept (0: unlimited). This config‐
215              uration options lowers the risk of  denial  of  service  attacks
216              (DoS). Default: 5.
217
218       MaxJoins
219              Maximum  number  of  channels  a  user  can  be member of (0: no
220              limit).  Default: 10.
221
222       MaxNickLength
223              Maximum length of an user nick  name  (Default:  9,  as  in  RFC
224              2812).  Please  note that all servers in an IRC network MUST use
225              the same maximum nick name length!
226

[OPERATOR]

228       [Operator] sections are used to define IRC Operators. There may be more
229       than one [Operator] block, one for each local operator.
230
231       Name   ID of the operator (may be different of the nick name).
232
233       Password
234              Password of the IRC operator.
235
236       Mask   Mask  that  is to be checked before an /OPER for this account is
237              accepted.  Example: nick!ident@*.example.com
238

[SERVER]

240       Other servers are configured in [Server] sections. If you  configure  a
241       port  for  the  connection, then this ngIRCd tries to connect to to the
242       other server on the given port (active); if not, it waits for the other
243       server to connect (passive).
244
245       ngIRCd supports "server groups": You can assign an "ID" to every server
246       with which you want this ngIRCd to link, and the daemon ensures that at
247       any given time only one direct link exists to servers with the same ID.
248       So if a server of a group won't answer, ngIRCd tries to connect to  the
249       next  server  in the given group (="with the same ID"), but never tries
250       to connect to more than one server of this group simultaneously.
251
252       There may be more than one [Server] block.
253
254       Name   IRC name of the remote server.
255
256       Host   Internet host name (or IP address) of the peer.
257
258       Bind   IP address to use as source  IP  for  the  outgoing  connection.
259              Default is to let the operating system decide.
260
261       Port   Port  of  the  remote  server  to  which  ngIRCd  should connect
262              (active).  If no port is assigned to a  configured  server,  the
263              daemon only waits for incoming connections (passive, default).
264
265       MyPassword
266              Own  password  for this connection. This password has to be con‐
267              figured as PeerPassword on the other server. Must not  have  ':'
268              as first character.
269
270       PeerPassword
271              Foreign  password  for  this connection. This password has to be
272              configured as MyPassword on the other server.
273
274       Group  Group of this server (optional).
275
276       Passive
277              Disable automatic connection even if port  value  is  specified.
278              Default:  false.   You  can use the IRC Operator command CONNECT
279              later on to create the link.
280
281       SSLConnect
282              Connect to the remote server using TLS/SSL. Default: false.
283
284       ServiceMask
285              Define a (case insensitive) mask matching nick names that should
286              be  treated  as  IRC  services  when  introduced via this remote
287              server. REGULAR SERVERS DON'T NEED this parameter, so  leave  it
288              empty (which is the default).
289
290              When  you are connecting IRC services which mask as a IRC server
291              and which use "virtual users" to communicate with,  for  example
292              "NickServ"  and  "ChanServ",  you  should  set this parameter to
293              something like "*Serv".
294

[CHANNEL]

296       Pre-defined channels can be  configured  in  [Channel]  sections.  Such
297       channels  are  created  by the server when starting up and even persist
298       when there are no more members left.
299
300       Persistent channels are marked with the mode 'P', which can be set  and
301       unset by IRC operators like other modes on the fly.
302
303       There may be more than one [Channel] block.
304
305       Name   Name of the channel, including channel prefix ("#" or "&").
306
307       Topic  Topic for this channel.
308
309       Modes  Initial channel modes.
310
311       Key    Sets  initial  channel key (only relevant if channel mode "k" is
312              set).
313
314       KeyFile
315              Path and file name of a "key file" containing individual channel
316              keys  for different users. The file consists of plain text lines
317              with the following syntax (without spaces!):
318
319                     user : nick : key
320
321              user and nick can contain the wildcard character "*".
322              key is an arbitrary password.
323
324              Valid examples are:
325
326                     *:*:KeY
327                     *:nick:123
328                     ~user:*:xyz
329
330              The key file is read on each JOIN command when this channel  has
331              a  key  (channel  mode +k). Access is granted, if a) the channel
332              key set using the MODE +k command or b) one of the lines in  the
333              key file match.
334
335              Please note:
336              The  file  is not reopened on each access, so you can modify and
337              overwrite it without problems, but moving or deleting  the  file
338              will  have  not  effect until the daemon re-reads its configura‐
339              tion!
340
341       MaxUsers
342              Set maximum user limit for this channel (only relevant if  chan‐
343              nel mode "l" is set).
344

HINTS

346       It's  wise  to  use "ngircd --configtest" to validate the configuration
347       file after changing it. See ngircd(8) for details.
348

AUTHOR

350       Alexander Barton, ⟨mailto:alex@barton.de⟩
351       Homepage: ⟨http://ngircd.barton.de/
352

SEE ALSO

354       ngircd(8)
355
356
357
358ngircd                             Dec 2008                     ngircd.conf(5)
Impressum