ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/vendor/ircservices-5.1.24/docs/a.html
Revision: 3389
Committed: Fri Apr 25 14:12:15 2014 UTC (9 years, 10 months ago) by michael
Content type: text/html
File size: 95689 byte(s)
Log Message:
- Imported ircservices-5.1.24

File Contents

# Content
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
5 <title>IRC Services Manual - Appendix A. List of all configuration directives</title>
6 </head>
7
8 <body>
9 <a name=top></a>
10 <h1 align=center>IRC Services Manual</h1>
11
12 <h2 align=center>Appendix A. List of all configuration directives</h2>
13
14 <p>A-1. <a href="#1">Core configuration directives
15 (<tt>ircservices.conf</tt>)</a>
16 <br>A-2. <a href="#2">Module configuration directives
17 (<tt>modules.conf</tt>)</a>
18 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#protocol/(insert_protocol_name_here)">protocol/*</a>
19 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#encryption/md5">encryption/md5</a>
20 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mail/main">mail/main</a>
21 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mail/sendmail">mail/sendmail</a>
22 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mail/smtp">mail/smtp</a>
23 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#operserv/main">operserv/main</a>
24 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#operserv/akill">operserv/akill</a>
25 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#operserv/news">operserv/news</a>
26 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#operserv/sessions">operserv/sessions</a>
27 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#operserv/sline">operserv/sline</a>
28 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#nickserv/main">nickserv/main</a>
29 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#nickserv/access">nickserv/access</a>
30 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#nickserv/autojoin">nickserv/autojoin</a>
31 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#nickserv/link">nickserv/link</a>
32 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#nickserv/mail-auth">nickserv/mail-auth</a>
33 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#chanserv/main">chanserv/main</a>
34 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#memoserv/main">memoserv/main</a>
35 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#memoserv/forward">memoserv/forward</a>
36 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#memoserv/ignore">memoserv/ignore</a>
37 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#statserv/main">statserv/main</a>
38 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/main">httpd/main</a>
39 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/auth-ip">httpd/auth-ip</a>
40 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/auth-password">httpd/auth-password</a>
41 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/dbaccess">httpd/dbaccess</a>
42 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/debug">httpd/debug</a>
43 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/redirect">httpd/redirect</a>
44 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#httpd/top-page">httpd/top-page</a>
45 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#misc/devnull">misc/devnull</a>
46 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#misc/helpserv">misc/helpserv</a>
47 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#misc/xml-export">misc/xml-export</a>
48 <br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#misc/xml-import">misc/xml-import</a>
49 <p align=right><font size=-1><a href=index.html>Table of Contents</a></font>
50
51
52 <p><hr>
53
54 <a name=1></a>
55 <h2 align=center>Core configuration directives
56 (<tt>ircservices.conf</tt>)</h2>
57
58
59 <p><hr width="60%">
60
61 <h3 align=center>Configuration file control</h3>
62
63 <p><hr width="60%">
64
65 <a name="IncludeFile"></a>
66 <p><ul><li>
67 <tt><b>IncludeFile</b> <i>filename</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
68 <p>Specifies another file from which to read configuration directives.
69 The file is processed as if its contents were included in place of
70 the IncludeFile directive. If a relative pathname is given, it is
71 relative to the Services data directory. This directive may be used
72 in both ircservices.conf and modules.conf.
73
74 <p>Note that IncludeFile directives may only be nested to a depth of
75 100 levels, in order to prevent infinite loops.
76
77 <p>Example: <tt>IncludeFile "local.conf"</tt>
78 </ul>
79
80 <p><hr width="60%">
81
82 <h3 align=center>Remote server configuration</h3>
83
84 <p><hr width="60%">
85
86 <a name="RemoteServer"></a>
87 <p><ul><li>
88 <tt><b>RemoteServer</b> <i>hostname</i> <i>port</i> <i>password</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
89 <p>Specifies the remote server hostname and port. The hostname may be
90 either a standard Internet hostname or dotted-quad numeric address;
91 the port number must be an integer between 1 and 65535 inclusive.
92 The password is a string which should be enclosed in double quotes
93 if it contains any spaces (or just for clarity). Make sure to
94 uncomment the directive (remove the leading "#") before running
95 Services.
96
97 <p>The remote server and port may be overridden at runtime with the
98 -remote command-line option. The password may not be set at runtime.
99
100 <p>Example: <tt>RemoteServer 127.0.0.1 6667 "password"</tt>
101 </ul>
102
103 <a name="LocalAddress"></a>
104 <p><ul><li>
105 <tt><b>LocalAddress</b> <i>hostname</i> [<i>port</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
106 <p>Specifies the local address to bind to before connecting to the
107 remote server. This may be useful on multihomed hosts. The hostname
108 and port number are specified the same way as with the RemoteServer
109 directive. If this is not specified, Services will let the operating
110 system choose the local address. If only a hostname is specified,
111 Services will bind to that address but let the operating system
112 choose the local port number.
113
114 <p>If you don't know what this means or don't need to use it, just leave
115 the directive commented out.
116
117 <p>Example: <tt>LocalAddress host.name.here</tt>
118 <br>Example: <tt>LocalAddress host.name.here 6677</tt>
119 </ul>
120
121 <p><hr width="60%">
122
123 <h3 align=center>Services identification</h3>
124
125 <p><hr width="60%">
126
127 <a name="ServerName"></a>
128 <p><ul><li>
129 <tt><b>ServerName</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
130 <p>Specifies the IRC server name which Services should use when it
131 connects to the network.
132
133 <p>Example: <tt>ServerName "services.example.net"</tt>
134 </ul>
135
136 <a name="ServerDesc"></a>
137 <p><ul><li>
138 <tt><b>ServerDesc</b> <i>text</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
139 <p>Specifies the text which should appear as the server's information in
140 /whois and similar queries.
141
142 <p>Example: <tt>ServerDesc "Services for IRC Networks"</tt>
143 </ul>
144
145 <a name="ServiceUser"></a>
146 <p><ul><li>
147 <tt><b>ServiceUser</b> <i>usermask</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
148 <p>Specifies the user@host mask which should be used by the Services
149 pseudoclients.
150
151 <p>Example: <tt>ServiceUser "services@example.net"</tt>
152 </ul>
153
154 <p><hr width="60%">
155
156 <h3 align=center>Unix group and umask to use</h3>
157
158 <p><hr width="60%">
159
160 <a name="RunGroup"></a>
161 <p><ul><li>
162 <tt><b>RunGroup</b> <i>group</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
163 <p>Specify the group which Services should run as. <tt><i>group</i></tt> can be
164 either a group name or an equals sign ("=") followed by a group ID.
165 If not specified, Services will use the group ID it is started with.
166 Note that Unix setgid permission on the executable file will do the
167 same thing, but the setgid permission bit is cleared whenever the
168 file is modified, while this setting will always be used (if the
169 system permits it) when Services is started.
170
171 <p>Example: <tt>RunGroup services</tt>
172 <br>Example: <tt>RunGroup =65534 # A common value for the "nogroup" group</tt>
173 </ul>
174
175 <a name="Umask"></a>
176 <p><ul><li>
177 <tt><b>Umask</b> <i>umask</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
178 <p>Sets the umask (file creation mask) for Services. This mask is
179 applied to all data files created by Services, including database
180 files (which are recreated on every database update) and the process
181 ID file (PIDFilename, below), and indicates which file permission
182 bits are NOT to be set on those files as an octal value. Common
183 values are given in the examples below. If not specified, the umask
184 in place when Services is started will be used.
185
186 <p>Example: <tt>Umask 077 # Disallows access to all but file owner
187 # (recommended when RunGroup is not set)</tt>
188 <br>Example: <tt>Umask 007 # Allows access to members of file group as well
189 # (recommended when RunGroup is set)</tt>
190 </ul>
191
192 <p><hr width="60%">
193
194 <h3 align=center>Services data filenames</h3>
195
196 <p><hr width="60%">
197
198 <p>NOTE: All filenames are relative to the Services data directory.
199
200 <a name="LogFilename"></a>
201 <p><ul><li>
202 <tt><b>LogFilename</b> <i>filename</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
203 <p>Specifies the name of the file into which Services will log data.
204 May be overridden by the -log command-line option. If this name
205 contains "%y", "%m", or "%d", they will be replaced by the current
206 year, month, or day, respectively, and the logfile will be
207 automatically rotated as needed when the date changes.
208
209 <p>Example: <tt>LogFilename ircservices.log</tt>
210 </ul>
211
212 <a name="PIDFilename"></a>
213 <p><ul><li>
214 <tt><b>PIDFilename</b> <i>filename</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
215 <p>Specifies the name of the file containing Services' process ID.
216 Note that if you change this filename, and you are using the
217 "ircservices-chk" crontab script provided with Services, you will
218 need to change the filename in that file as well.
219
220 <p>Example: <tt>PIDFilename ircservices.pid</tt>
221 </ul>
222
223 <a name="MOTDFilename"></a>
224 <p><ul><li>
225 <tt><b>MOTDFilename</b> <i>filename</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
226 <p>Specifies the name of the Message of the Day file.
227
228 <p>Example: <tt>MOTDFilename ircservices.motd</tt>
229 </ul>
230
231 <a name="LockFilename"></a>
232 <p><ul><li>
233 <tt><b>LockFilename</b> <i>filename</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
234 <p>Specifies the name of the data directory lock file. This file is
235 created in the data directory when Services begins updating
236 databases, and is removed after the databases are updated. If the
237 file already exists when Services tries to update the databases,
238 Services sends a warning (via wallops) and does not write any data.
239
240 <p>Example: <tt>LockFilename .lock</tt>
241 </ul>
242
243 <p><hr width="60%">
244
245 <h3 align=center>Basic functionality</h3>
246
247 <p><hr width="60%">
248
249 <a name="NoBouncyModes"></a>
250 <p><ul><li>
251 <tt><b>NoBouncyModes</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
252 <p>Normally, Services will check for the remote IRC server reversing its
253 mode changes, and issue a warning (and stop changing modes) if it
254 detects such a problem. However, the detection will sometimes
255 trigger even when there is no problem, thus preventing channel
256 mode-locks and other features from working. If you specify this
257 directive, Services will not check for mode bouncing, which can avoid
258 this problem if you know your servers are set up correctly.
259
260 <p>WARNING: setting this option when your servers are incorrectly
261 configured can result in flooding!
262
263 <p>Example: <tt>NoBouncyModes</tt>
264 </ul>
265
266 <a name="NoSplitRecovery"></a>
267 <p><ul><li>
268 <tt><b>NoSplitRecovery</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
269 <p>Disables Services' recognition of users returning from netsplits.
270 Normally (on networks with some sort of timestamp support in the IRC
271 server), Services will check via the timestamp field whether a user
272 is the same as the last user who identified for the nick, and allow
273 the user access to that nick without requiring identification again
274 if the timestamps match. Enabling this directive will force all
275 users to re-identify after a netsplit.
276
277 <p>It's generally easier on users to leave this disabled, but if you
278 suspect one of your servers has been hacked to send false timestamps
279 (or you suspect a bug in Services itself) enabling this directive
280 will eliminate the possibility of one user "stealing" another's nick
281 by pretending to have the same timestamp.
282
283 <p>You may also want to uncomment this directive if your servers' clocks
284 are very far apart; the less synchronized the servers' clocks are,
285 the greater the possibility of someone "taking over" another person's
286 nick when a server with a fast clock splits.
287
288 <p>NOTE: On DALnet 4.4.15+, Dreamforge, Bahamut, Unreal, and compatible
289 networks, Services takes advantage of an IRC server feature to assign
290 each user a permanent ID number, which significantly enhances the
291 security of this check. On such networks, you should almost always
292 leave this directive commented out. See section 3-1-2 of the manual
293 for details.
294
295 <p>Example: <tt>NoSplitRecovery</tt>
296 </ul>
297
298 <a name="StrictPasswords"></a>
299 <p><ul><li>
300 <tt><b>StrictPasswords</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
301 <p>When enabled, causes Services to perform more stringent checks on
302 passwords. If this is disabled, Services will only disallow a
303 password if it is the same as the entity (nickname or channel name)
304 with which it is associated. When enabled, however, Services will
305 also check that the password is at least five characters long, and
306 disallow it if not.
307
308 <p>Example: <tt>StrictPasswords</tt>
309 </ul>
310
311 <a name="NoAdminPasswordCheck"></a>
312 <p><ul><li>
313 <tt><b>NoAdminPasswordCheck</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
314 <p>When enabled, allows Services administrators to set any password
315 for a nickname or channel (including their own), bypassing all of
316 the password checks. When disabled, Services administrators are
317 subject to the same password checks as ordinary users.
318
319 <p>Example: <tt>NoAdminPasswordCheck</tt>
320 </ul>
321
322 <a name="BadPassLimit"></a>
323 <p><ul><li>
324 <tt><b>BadPassLimit</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
325 <p>Sets the number of invalid password tries before Services removes a
326 user from the network. If a user enters <tt><i>count</i></tt> invalid passwords
327 for any Services function or combination of functions during a
328 single IRC session (subject to BadPassTimeout, below), Services will
329 issue a /KILL for the user. If not given, Services will ignore
330 failed password attempts (though they will be logged in any case).
331 Note that entering a correct password will <i>not</i> reset this count.
332
333 <p>Example: <tt>BadPassLimit 5</tt>
334 </ul>
335
336 <a name="BadPassTimeout"></a>
337 <p><ul><li>
338 <tt><b>BadPassTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
339 <p>Sets the time after which invalid passwords are forgotten about. If
340 a user does not enter any incorrect passwords in this amount of time,
341 the incorrect password count will reset to zero. If not given, the
342 timeout will be disabled, and the incorrect password count will never
343 be reset until the user disconnects.
344
345 <p>Example: <tt>BadPassTimeout 1h</tt>
346 </ul>
347
348 <a name="BadPassWarning"></a>
349 <p><ul><li>
350 <tt><b>BadPassWarning</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
351 <p>Sets the number of bad passwords <i>for a single nick or channel</i> that
352 will be accepted before a warning is sent using WALLOPS/GLOBOPS. If
353 not given, no warnings will be sent.
354
355 <p>Example: <tt>BadPassWarning 5</tt>
356 </ul>
357
358 <a name="IgnoreDecay"></a>
359 <p><ul><li>
360 <tt><b>IgnoreDecay</b> <i>rate</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
361 <p>Services keeps track of an "ignore level" for each user, based on how
362 often the user sends commands to Services and how long those commands
363 take to execute; this directive specifies how quickly that level
364 returns to zero when the user idles. The parameter is the number of
365 seconds (possibly including a fractional part, like "0.5") it takes
366 for the ignore level to drop by half.
367
368 <p>If either this directive or IgnoreThreshold is not given, the ignore
369 code is disabled.
370
371 <p>Example: <tt>IgnoreDecay 5</tt>
372 </ul>
373
374 <a name="IgnoreThreshold"></a>
375 <p><ul><li>
376 <tt><b>IgnoreThreshold</b> <i>level</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
377 <p>This directive specifies the ignore level at which Services decides
378 that a user is flooding Services and ignores that user.
379
380 <p>If either this directive or IgnoreDecay is not given, the ignore code
381 is disabled.
382
383 <p>Example: <tt>IgnoreThreshold 0.1</tt>
384 </ul>
385
386 <a name="UpdateTimeout"></a>
387 <p><ul><li>
388 <tt><b>UpdateTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
389 <p>Sets the delay between automatic database updates. This timer is
390 reset by the OperServ UPDATE command.
391
392 <p>Example: <tt>UpdateTimeout 5m</tt>
393 </ul>
394
395 <a name="WarningTimeout"></a>
396 <p><ul><li>
397 <tt><b>WarningTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
398 <p>Sets the interval between sending warning messages for program
399 errors via WALLOPS/GLOBOPS.
400
401 <p>Example: <tt>WarningTimeout 4h</tt>
402 </ul>
403
404 <a name="ReadTimeout"></a>
405 <p><ul><li>
406 <tt><b>ReadTimeout</b> <i>seconds</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
407 <p>Sets the timeout period for reading from the network; this is the
408 length of time Services will wait to receive data from an external
409 source if none is available before proceeding with other actions,
410 such as timeout checking. Note that the parameter is a number of
411 seconds, not a "time"; it may also include a fractional part, such as
412 "0.5".
413
414 <p>This value also influences the period between timeout checks; see the
415 TimeoutCheck directive below.
416
417 <p>Example: <tt>ReadTimeout 3</tt>
418 </ul>
419
420 <a name="TimeoutCheck"></a>
421 <p><ul><li>
422 <tt><b>TimeoutCheck</b> <i>seconds</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
423 <p>Sets the (maximum) frequency at which the timeout list is checked.
424 This, combined with ReadTimeout above, determine how accurately timed
425 events, such as nick kills, occur; it also determines how much CPU
426 time Services will use doing this. Higher values will cause less
427 accurate timing but less CPU usage. Note that the parameter is a
428 number of seconds, not a "time", and may include a fractional part.
429
430 <p>This shouldn't be set any higher than 10 seconds, and 1 second or
431 less is best if your system is powerful enough (or your network small
432 enough) to handle it. 0 will cause the timeout list to be checked
433 every time through the main loop, which provides the most accurate
434 timeout response but may require too much processing on large
435 networks.
436
437 <p>Note that if this value is smaller than ReadTimeout (above), then the
438 delay between checks of the timeout list may exceed the value given
439 here during periods of little or no network activity.
440
441 <p>Example: <tt>TimeoutCheck 1.0</tt>
442 </ul>
443
444 <a name="PingFrequency"></a>
445 <p><ul><li>
446 <tt><b>PingFrequency</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
447 <p>Sets the time after which Services sends a PING message to its uplink
448 if no other network activity has occurred. This can be useful if you
449 have a low-activity network and your server keeps dropping Services'
450 connection with "Ping timeout". If not set, Services will not send
451 PING messages.
452
453 <p>Example: <tt>PingFrequency 30s</tt>
454 </ul>
455
456 <a name="MergeChannelModes"></a>
457 <p><ul><li>
458 <tt><b>MergeChannelModes</b> <i>seconds</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
459 <p>WARNING: This directive can have security implications; read
460 carefully before enabling.
461
462 <p>If this directive is given, it causes Services to not send out
463 channel mode changes immediately, but to wait for the given number of
464 seconds (which may be fractional) and collect all channel modes to
465 send in a single command. For example, if two users enter a channel
466 at nearly the same time and both of them are to be opped, instead of
467 sending two MODE +o commands, Services will send a single MODE +oo
468 command. This option can help with large channels in reducing mode
469 floods, particularly when Services first connects or a server
470 reconnects after a split; however, the sending of the mode command
471 will be slightly delayed, so that the users will have to wait a short
472 time before getting chanop privileges. Furthermore, since this
473 increases the time before deops, etc. occur, users can take advantage
474 of netsplits to "steal ops" for a short time before Services responds.
475
476 <p>Services will never send out more than six parameters with each MODE
477 command (this limit is part of the IRC protocol specification). If
478 more than six +o, +v, etc. modes are to be sent, Services will send
479 them out six at a time without waiting for the timeout given with
480 this directive. Also, if more than MERGE_CHANMODE_SLOTS (defined in
481 defs.h; default 3) channels receive modes before the timeout expires,
482 those modes will similarly be sent out at that time.
483
484 <p>Note that the actual sending of the MODE command may be delayed by as
485 much as the TimeoutCheck value; if you use this option, then in
486 general you should set TimeoutCheck to the same (or a smaller) value.
487 Also, on networks with little traffic there may be an additional
488 delay up to the value of ReadTimeout before the modes are sent.
489
490 <p>If this option is not set, Services will still collect all mode changes
491 resulting from a single event (such as a user joining a channel) and
492 send them in a single message as soon as the event processing finishes.
493
494 <p>Example: <tt>MergeChannelModes 0.5</tt>
495 </ul>
496
497 <a name="NetBufferSize"></a>
498 <p><ul><li>
499 <tt><b>NetBufferSize</b> <i>total-size</i> [<i>per-connection-size</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
500 <p>Sets the maximum amount of memory used by network connection buffers.
501 If a second parameter is given, it sets the maximum amount of memory
502 used by a single connection; if not given, this defaults to the same
503 as the total limit.
504
505 <p>Example: <tt>NetBufferSize 4194304 1048576 # 4MB and 1MB</tt>
506 </ul>
507
508 <a name="NetBufferLimit"></a>
509 <p><ul><li>
510 <tt><b>NetBufferLimit</b> <i>inactive-limit</i> [<i>ignore-limit</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
511 <p>Sets the threshold at which Services sends a "busy" reply to PRIVMSGs
512 (<tt><i>inactive-limit</i></tt>) and at which Services ignores PRIVMSGs entirely
513 (<tt><i>ignore-limit</i></tt>). Both thresholds apply to non-operator users only;
514 PRIVMSGs from IRC operators will always be processed normally. A
515 WALLOPS/GLOBOPS message will be sent when Services exceeds or drops
516 below either of the thresholds. If the thresholds are set to the
517 same value, "busy" messages will never be sent.
518
519 <p>The thresholds are expressed as percentages of the value(s) given for
520 NetBufferSize above. If both a total size limit and a per-connection
521 size limit are specified, the higher of the two percentages is
522 checked against these thresholds.
523
524 <p>If NetBufferSize is not specified, NetBufferLimit has no effect.
525
526 <p>Example: <tt>NetBufferLimit 80 95</tt>
527 </ul>
528
529 <p><hr width="60%">
530
531 <h3 align=center>Miscellaneous settings</h3>
532
533 <p><hr width="60%">
534
535 <p>These are settings which don't belong anywhere else, or which would
536 be module settings but apply to multiple modules.
537
538 <a name="EncryptionType"></a>
539 <p><ul><li>
540 <tt><b>EncryptionType</b> <i>type</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
541 <p>Specifies the type of encryption to be used when storing new
542 passwords. Changing this has no effect on passwords previously set.
543 If not specified, new passwords will not be encrypted.
544
545 <p>Example: <tt>EncryptionType md5</tt>
546 </ul>
547
548 <a name="GuestNickPrefix"></a>
549 <p><ul><li>
550 <tt><b>GuestNickPrefix</b> <i>value</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
551 <p>Sets the nickname prefix used when Services changes a user's
552 nickname (for example, from the "NSForceNickChange" NickServ option).
553 A unique series of digits will be appended to this string to form the
554 new nickname. This option is ignored for IRC servers which do not
555 allow remote clients' nicknames to be forcibly changed, but it must
556 be set to something anyway.
557
558 <p>Example: <tt>GuestNickPrefix "Guest"</tt>
559 </ul>
560
561 <a name="RejectEmail"></a>
562 <p><ul><li>
563 <tt><b>RejectEmail</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
564 <p>Specifies E-mail addresses (which may include wildcards) which are
565 not allowed to be used in nickname or channel registration. This
566 directive can be given multiple times to disallow multiple addresses
567 or address masks.
568
569 <p>Example: <tt>RejectEmail *@example.com</tt>
570 </ul>
571
572 <a name="DefTimeZone"></a>
573 <p><ul><li>
574 <tt><b>DefTimeZone</b> <i>time-zone</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
575 <p>Sets the time zone to be used for displaying the time of day with
576 certain commands, such as NickServ INFO. If not given, the system's
577 default time zone (the value of the TZ environment variable) is used.
578 <tt><i>time-zone</i></tt> is the name of the time zone to be used; consult your
579 system manual for how time zone names are specified on your system.
580 Note that users can set time zones for their own nicknames
581 independently; this setting is only used as a default. The
582 following example will cause Services to use United States Pacific
583 time on most systems:
584
585 <p>Example: <tt>DefTimeZone PST8PDT</tt>
586 </ul>
587
588 <a name="ListMax"></a>
589 <p><ul><li>
590 <tt><b>ListMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
591 <p>Specifies the maximum number of nicks to be returned for commands
592 that return a list of items, such as NickServ LIST and LISTEMAIL
593 or OperServ AKILL LIST.
594
595 <p>Example: <tt>ListMax 50</tt>
596 </ul>
597
598 <a name="LogMaxUsers"></a>
599 <p><ul><li>
600 <tt><b>LogMaxUsers</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
601 <p>Causes Services to write a message to the log every time a new
602 user maximum is reached.
603
604 <p>Example: <tt>LogMaxUsers</tt>
605 </ul>
606
607 <a name="EnableGetpass"></a>
608 <p><ul><li>
609 <tt><b>EnableGetpass</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
610 <p>Allows use of the NickServ and ChanServ GETPASS commands.
611
612 <p>Example: <tt>EnableGetpass</tt>
613 </ul>
614
615 <a name="WallAdminPrivs"></a>
616 <p><ul><li>
617 <tt><b>WallAdminPrivs</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
618 <p>Causes Services to send a WALLOPS/GLOBOPS whenever a Services
619 administrator uses those privileges to perform a NickServ or
620 ChanServ operation (such as setting a nickname or channel
621 password).
622
623 <p>Example: <tt>WallAdminPrivs</tt>
624 </ul>
625
626 <a name="LoadLanguageText"></a>
627 <p><ul><li>
628 <tt><b>LoadLanguageText</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
629 <p>Loads replacement text for language-specific strings from the given
630 file. Relative pathnames are relative to the Services data
631 directory. See <a href="3.html#9">section 3-9</a> of the manual for
632 the file format.
633
634 <p>Example: <tt>LoadLanguageText mytext.l</tt>
635 </ul>
636
637 <p><hr width="60%">
638
639 <h3 align=center>Modules to load</h3>
640
641 <p><hr width="60%">
642
643 <a name="LoadModule"></a>
644 <p><ul><li>
645 <tt><b>LoadModule</b> module-name</tt>
646
647 <p>Causes Services to load the specified module.
648
649 <p>Example: <tt>LoadModule nickserv/main</tt>
650 </ul>
651
652 <p align=right><font size="-1"><a href="#top">Back to top</a></font>
653
654 <p><hr>
655
656 <a name=2></a>
657 <h2 align=center>Module configuration directives
658 (<tt>modules.conf</tt>)</h2>
659
660 <p><hr width="60%">
661
662 <h3 align=center>Protocol module settings</h3>
663
664 <p><hr width="60%">
665
666 <p>Enter the protocol name here, then uncomment the appropriate directives.
667 <a name="protocol/(insert_protocol_name_here)"></a>
668 <p><font size="+1"><b>protocol/(insert protocol name here)</b></font>
669
670 <a name="protocol/(insert_protocol_name_here).NetworkDomain"></a>
671 <p><ul><li>
672 <tt><b>NetworkDomain</b> domain</tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
673 <p>Protocols: bahamut, dalnet, dreamforge, monkey, ptlink, rfc1459,
674 trircd, ts8, undernet-p9
675
676 <p>Specifies the common domain, if any, shared by all servers on
677 your IRC network; this is required for global notices to function
678 properly. Make sure you do not include a "." before the domain
679 name. If you do not specify this, some or all users may not
680 receive global notices.
681
682 <p>Example: <tt>NetworkDomain "example.net"</tt>
683 </ul>
684
685 <a name="protocol/(insert_protocol_name_here).ServerNumeric"></a>
686 <p><ul><li>
687 <tt><b>ServerNumeric</b> <i>numeric</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
688 <p>Protocols: unreal
689
690 <p>Makes Services send a numeric to the remote server on connect.
691 This must be a value between 1 and 254, and must not be in use by
692 any other IRC server on the network. If you do not want to use a
693 numeric for Services, comment the directive out.
694
695 <p>Example: <tt>ServerNumeric 1</tt>
696 </ul>
697
698 <a name="protocol/(insert_protocol_name_here).SetServerTimes"></a>
699 <p><ul><li>
700 <tt><b>SetServerTimes</b> [<i>time</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
701 <p>Protocols: unreal
702
703 <p>Causes Services to synchronize all servers' internal clocks with
704 its own; this can help avoid potential problems with users
705 improperly gaining chanops, particularly during netsplits. If a
706 time parameter is given, Services will repeatedly synchronize the
707 servers clocks at that interval, otherwise synchronization will
708 only be performed at startup.
709
710 <p>Example: <tt>SetServerTimes</tt>
711 <br>Example: <tt>SetServerTimes 12h</tt>
712 </ul>
713
714 <a name="protocol/(insert_protocol_name_here).CSSetChannelTime"></a>
715 <p><ul><li>
716 <tt><b>CSSetChannelTime</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
717 <p>Protocols: bahamut, monkey, trircd, unreal
718
719 <p>When enabled, causes Services to set the "creation time" (the
720 time at which the first user joined the channel) of a registered
721 channel to the time at which the channel was registered. This
722 can help prevent spurious mode changes and "op hacking" when a
723 split server reconnects to the network. When using Unreal,
724 however, the first user to join the channel when it is empty gets
725 set -o and +o in quick succession due to limitations of the IRC
726 server; if this bothers you, do not enable this option. Also, some
727 servers (such as Bahamut) generate server notices each time a
728 channel's timestamp is changed, which can be safely ignored.
729
730 <p>Example: <tt>CSSetChannelTime</tt>
731 </ul>
732
733 <p><hr width="60%">
734
735 <h3 align=center>Database module configuration</h3>
736
737 <p><hr width="60%">
738 <a name="database/standard"></a>
739 <p><font size="+1"><b>database/standard</b></font>
740
741 <p>This module has no configurable settings.
742 <a name="database/version4"></a>
743 <p><font size="+1"><b>database/version4</b></font>
744
745 <a name="database/version4.NickServDB"></a>
746 <p><ul><li>
747 <tt><b>NickServDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
748 <p>Specifies the filename used for the registered nickname databases.
749
750 <p>Example: <tt>NickServDB "nick.db"</tt>
751 </ul>
752
753 <a name="database/version4.ChanServDB"></a>
754 <p><ul><li>
755 <tt><b>ChanServDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
756 <p>Specifies the filename used for the registered channel databases.
757
758 <p>Example: <tt>ChanServDB "chan.db"</tt>
759 </ul>
760
761 <a name="database/version4.OperServDB"></a>
762 <p><ul><li>
763 <tt><b>OperServDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
764 <p>Specifies the filename used for the OperServ database.
765
766 <p>Example: <tt>OperServDB "oper.db"</tt>
767 </ul>
768
769 <a name="database/version4.NewsDB"></a>
770 <p><ul><li>
771 <tt><b>NewsDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
772 <p>Specifies the filename used for the news database.
773
774 <p>Example: <tt>NewsDB "news.db"</tt>
775 </ul>
776
777 <a name="database/version4.AutokillDB"></a>
778 <p><ul><li>
779 <tt><b>AutokillDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
780 <p>Specifies the filename used for the autokill and autokill
781 exclusion databases.
782
783 <p>Example: <tt>AutokillDB "akill.db"</tt>
784 </ul>
785
786 <a name="database/version4.ExceptionDB"></a>
787 <p><ul><li>
788 <tt><b>ExceptionDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
789 <p>Specifies the filename used for the session exception database.
790
791 <p>Example: <tt>ExceptionDB "exception.db"</tt>
792 </ul>
793
794 <a name="database/version4.SlineDB"></a>
795 <p><ul><li>
796 <tt><b>SlineDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
797 <p>Specifies the filename used for the SGline, SQline, and SZline
798 databases.
799
800 <p>Example: <tt>SlineDB "sline.db"</tt>
801 </ul>
802
803 <a name="database/version4.StatServDB"></a>
804 <p><ul><li>
805 <tt><b>StatServDB</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
806 <p>Specifies the filename used for the StatServ server statistics
807 database.
808
809 <p>Example: <tt>StatServDB "stats.db"</tt>
810 </ul>
811
812 <p><hr width="60%">
813
814 <h3 align=center>Encryption module configuration</h3>
815
816 <p><hr width="60%">
817
818 <p>No encryption modules have any configurable settings.
819
820 <p><hr width="60%">
821
822 <h3 align=center>Encryption module configuration</h3>
823
824 <p><hr width="60%">
825 <a name="encryption/md5"></a>
826 <p><font size="+1"><b>encryption/md5</b></font>
827
828 <a name="encryption/md5.EnableAnopeWorkaround"></a>
829 <p><ul><li>
830 <tt><b>EnableAnopeWorkaround</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
831 <p>Enables a workaround for encrypted passwords imported from the
832 Anope or Epona programs, which have a bug (inherited from an old
833 version of Services) causing passwords to be incorrectly
834 encrypted.
835
836 <p>WARNING: Enabling this option may reduce the security of
837 encrypted passwords! If you need this option for importing an
838 Anope or Epona database, it is recommended that you enable this
839 only long enough to ensure that all users have used SET PASSWORD
840 to reset their passwords (possibly to the same password).
841
842 <p>Example: <tt>EnableAnopeWorkaround</tt>
843 </ul>
844
845 <p><hr width="60%">
846
847 <h3 align=center>Mail module configuration</h3>
848
849 <p><hr width="60%">
850 <a name="mail/main"></a>
851 <p><font size="+1"><b>mail/main</b></font>
852
853 <a name="mail/main.FromAddress"></a>
854 <p><ul><li>
855 <tt><b>FromAddress</b> <i>email</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
856 <p>Specifies the E-mail address to be used on outgoing mail. Make
857 sure you enter the correct address here before uncommenting the
858 directive.
859
860 <p>Example: <tt>FromAddress services@example.net</tt>
861 </ul>
862
863 <a name="mail/main.FromName"></a>
864 <p><ul><li>
865 <tt><b>FromName</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
866 <p>Specifies the "real name" to be used on outgoing mail. Make sure
867 to include quotes if this is a multi-word string.
868
869 <p>Example: <tt>FromName "ExampleNet Services"</tt>
870 </ul>
871
872 <a name="mail/main.MaxMessages"></a>
873 <p><ul><li>
874 <tt><b>MaxMessages</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
875 <p>Specifies the maximum number of messages that are permitted to be
876 in transit simultaneously. Attempts to send messages above this
877 limit will be rejected with a "no resources" error. If not
878 given, no limit is enforced.
879
880 <p>Example: <tt>MaxMessages 100</tt>
881 </ul>
882
883 <a name="mail/main.SendTimeout"></a>
884 <p><ul><li>
885 <tt><b>SendTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
886 <p>Specifies the amount of time Services will wait before aborting a
887 mail message in the process of being sent. If not specified,
888 message sends will not time out.
889
890 <p>Example: <tt>SendTimeout 1m</tt>
891 </ul>
892 <a name="mail/sendmail"></a>
893 <p><font size="+1"><b>mail/sendmail</b> (Sendmail-based low-level module)</font>
894
895 <a name="mail/sendmail.SendmailPath"></a>
896 <p><ul><li>
897 <tt><b>SendmailPath</b> <i>path</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
898 <p>Specifies the full path to the "sendmail" program to be used to
899 send mail. This program must accept a command-line option "-t"
900 to extract recipient addresses from a mail message given on
901 standard input (the standard "sendmail" program does this).
902 The program will be executed with the same environment as
903 Services itself is run with.
904
905 <p>Example: <tt>SendmailPath /usr/lib/sendmail</tt>
906 </ul>
907 <a name="mail/smtp"></a>
908 <p><font size="+1"><b>mail/smtp</b> (SMTP-based low-level module)</font>
909
910 <a name="mail/smtp.RelayHost"></a>
911 <p><ul><li>
912 <tt><b>RelayHost</b> <i>hostname</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
913 <p>Specifies the host to which all mail will be sent, e.g. your
914 local mail server. This directive may be given multiple times to
915 specify backup servers; the servers will be tried in the order
916 listed.
917
918 <p>Example: <tt>RelayHost mail.example.net</tt>
919 </ul>
920
921 <a name="mail/smtp.SMTPName"></a>
922 <p><ul><li>
923 <tt><b>SMTPName</b> <i>hostname</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
924 <p>Specifies the hostname Services will use in the HELO command to
925 the remote server. Normally, this should be set to the same as
926 the hostname of the machine Services runs on.
927
928 <p>Example: <tt>SMTPName services.example.net</tt>
929 </ul>
930
931 <p><hr width="60%">
932
933 <h3 align=center>OperServ configuration</h3>
934
935 <p><hr width="60%">
936 <a name="operserv/main"></a>
937 <p><font size="+1"><b>operserv/main</b></font>
938
939 <a name="operserv/main.OperServName"></a>
940 <p><ul><li>
941 <tt><b>OperServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
942 <p>Specifies the nickname (first parameter) and "real" name (second
943 parameter) used by the OperServ pseudoclient.
944
945 <p>Example: <tt>OperServName "OperServ" "Operator Server"</tt>
946 </ul>
947
948 <a name="operserv/main.GlobalName"></a>
949 <p><ul><li>
950 <tt><b>GlobalName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
951 <p>Specifies the nickname (first parameter) and "real" name (second
952 parameter) used by the global-noticer pseudoclient. This client
953 is used to send messages from the OperServ GLOBAL command and
954 news messages.
955
956 <p>Example: <tt>GlobalName "Global" "Global Noticer"</tt>
957 </ul>
958
959 <a name="operserv/main.ServicesRoot"></a>
960 <p><ul><li>
961 <tt><b>ServicesRoot</b> <i>nick</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
962 <p>Specifies the Services "super-user". The super-user, or "root" as
963 in Unix terminology, is the only user who can add or delete
964 Services admins.
965
966 <p>This is commented out by default; make sure you insert the correct
967 nick before uncommenting it.
968
969 <p>Example: <tt>ServicesRoot SuperUser</tt>
970 </ul>
971
972 <a name="operserv/main.KillClonesAutokill"></a>
973 <p><ul><li>
974 <tt><b>KillClonesAutokill</b> <i>expiry-time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
975 <p>Causes Services to add an autokill for hosts killed using the
976 KILLCLONES command, to prevent the clients from immediately
977 reconnecting. The expiry-time parameter sets the expiry time for
978 the autokill.
979
980 <p>If the autokill module (operserv/akill) is not loaded, this
981 directive has no effect.
982
983 <p>Example: <tt>KillClonesAutokill 30m</tt>
984 </ul>
985
986 <a name="operserv/main.AllowRaw"></a>
987 <p><ul><li>
988 <tt><b>AllowRaw</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[DISCOURAGED]
989 <p>Enables use of the OperServ RAW command. This command can be
990 used for testing IRC server features and other limited uses, but
991 can also wreak havoc on a network if used improperly; use with
992 extreme caution.
993
994 <p>Example: <tt>AllowRaw</tt>
995 </ul>
996
997 <a name="operserv/main.WallOper"></a>
998 <p><ul><li>
999 <tt><b>WallOper</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1000 <p>Causes Services to send a WALLOPS/GLOBOPS when a user becomes an
1001 IRC operator. Note that this can cause WALLOPS floods when
1002 Services first connects to the network.
1003
1004 <p>Example: <tt>WallOper</tt>
1005 </ul>
1006
1007 <a name="operserv/main.WallBadOS"></a>
1008 <p><ul><li>
1009 <tt><b>WallBadOS</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1010 <p>Causes Services to send a WALLOPS/GLOBOPS if a non-IRC-operator
1011 tries to use OperServ.
1012
1013 <p>Example: <tt>WallBadOS</tt>
1014 </ul>
1015
1016 <a name="operserv/main.WallOSChannel"></a>
1017 <p><ul><li>
1018 <tt><b>WallOSChannel</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1019 <p>Cause Services to send a WALLOPS/GLOBOPS on use of any of the
1020 MODE, KICK, CLEARMODES, and CLEARCHAN commands.
1021
1022 <p>Example: <tt>WallOSChannel</tt>
1023 </ul>
1024
1025 <a name="operserv/main.WallSU"></a>
1026 <p><ul><li>
1027 <tt><b>WallSU</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1028 <p>Causes Services to send a WALLOPS/GLOBOPS whenever a Services
1029 admin successfully obtains Services super-user privileges with
1030 the SU command. Note that Services will always send a
1031 WALLOPS/GLOBOPS when an incorrect password is given to the SU
1032 command or a user without Services admin privileges attempts to
1033 use the SU command.
1034
1035 <p>Example: <tt>WallSU</tt>
1036 </ul>
1037 <a name="operserv/akill"></a>
1038 <p><font size="+1"><b>operserv/akill</b> (Autokill module settings)</font>
1039
1040 <a name="operserv/akill.AutokillReason"></a>
1041 <p><ul><li>
1042 <tt><b>AutokillReason</b> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1043 <p>The reason to use when sending out KILLs for autokills and with
1044 the actual AKILL/GLINE commands. Some servers show this reason
1045 to users if their connection is rejected because they match an
1046 autokill. If you include a "%s" in the reason, it will be
1047 replaced by the reason given with the autokill itself.
1048
1049 <p>Example: <tt>AutokillReason "You are banned from this network"</tt>
1050 <br>Example: <tt>AutokillReason "Autokilled: %s"</tt>
1051 </ul>
1052
1053 <a name="operserv/akill.AutokillExpiry"></a>
1054 <p><ul><li>
1055 <tt><b>AutokillExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1056 <p>Sets the default expiry time for autokills. If not defined,
1057 autokills will not expire by default.
1058
1059 <p>Example: <tt>AutokillExpiry 30d</tt>
1060 </ul>
1061
1062 <a name="operserv/akill.AkillChanExpiry"></a>
1063 <p><ul><li>
1064 <tt><b>AkillChanExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1065 <p>Sets the default expiry time for autokills added by an AKILLCHAN
1066 command.
1067
1068 <p>Example: <tt>AkillChanExpiry 7d</tt>
1069 </ul>
1070
1071 <a name="operserv/akill.OperMaxExpiry"></a>
1072 <p><ul><li>
1073 <tt><b>OperMaxExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1074 <p>Sets the maximum expiry time usable by Services operators. If
1075 not defined, Services operators can set any expiry time, just as
1076 Services administrators can. If this is set to a value lower
1077 than AutokillExpiry or AkillChanExpiry, autokills entered without
1078 an expiry time will use this setting instead of the relevant
1079 default.
1080
1081 <p>Example: <tt>OperMaxExpiry 7d</tt>
1082 </ul>
1083
1084 <a name="operserv/akill.EnableExclude"></a>
1085 <p><ul><li>
1086 <tt><b>EnableExclude</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1087 <p>Causes autokill exclusions to be usable. If not given, the
1088 EXCLUDE command will be unavailable, and any autokill
1089 exclusions previously added will be ignored.
1090
1091 <p>NOTICE: On IRC servers without autokill exclusion functionality
1092 (such as that in trircd version 5), this will cause autokills to
1093 not be sent to the server; instead, Services will issue a KILL
1094 for each user that matches an autokill and does not match any
1095 autokill exclusions. This is necessary to allow Services to
1096 apply exclusions to users before they are disconnected.
1097
1098 <p>Example: <tt>EnableExclude</tt>
1099 </ul>
1100
1101 <a name="operserv/akill.ExcludeReason"></a>
1102 <p><ul><li>
1103 <tt><b>ExcludeReason</b> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED if EnableExclude set]
1104 <p>The reason to use when sending out EXCLUDE commands on servers
1105 which support them. If you include a "%s" in the reason, it will
1106 be replaced by the reason given with the exclusion itself.
1107
1108 <p>Example: <tt>ExcludeReason "IRC operator host"</tt>
1109 <br>Example: <tt>ExcludeReason "Excluded from autokills: %s"</tt>
1110 </ul>
1111
1112 <a name="operserv/akill.ExcludeExpiry"></a>
1113 <p><ul><li>
1114 <tt><b>ExcludeExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1115 <p>Sets the default expiry time for autokill exclusions. If not
1116 defined, autokill exclusions will not expire by default.
1117
1118 <p>Example: <tt>ExcludeExpiry 30d</tt>
1119 </ul>
1120
1121 <a name="operserv/akill.ImmediatelySendAutokill"></a>
1122 <p><ul><li>
1123 <tt><b>ImmediatelySendAutokill</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1124 <p>Causes OperServ to inform all servers of a new autokill the
1125 moment it is added, rather than waiting for someone to match it
1126 first. (Note that autokill exclusions are always sent to the
1127 server immediately; this is to avoid an autokill being triggered
1128 by a non-excluded match before the exclusion has been sent,
1129 resulting in the excluded users being autokilled as well.)
1130
1131 <p>Example: <tt>ImmediatelySendAutokill</tt>
1132 </ul>
1133
1134 <a name="operserv/akill.WallOSAkill"></a>
1135 <p><ul><li>
1136 <tt><b>WallOSAkill</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1137 <p>Cause Services to send a WALLOPS/GLOBOPS on use of the AKILL or
1138 EXCLUDE command to add or delete autokills or exclusions.
1139
1140 <p>Example: <tt>WallOSAkill</tt>
1141 </ul>
1142
1143 <a name="operserv/akill.WallAutokillExpire"></a>
1144 <p><ul><li>
1145 <tt><b>WallAutokillExpire</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1146 <p>Causes Services to send a WALLOPS/GLOBOPS whenever an autokill
1147 or autokill exclusion expires.
1148
1149 <p>Example: <tt>WallAutokillExpire</tt>
1150 </ul>
1151 <a name="operserv/news"></a>
1152 <p><font size="+1"><b>operserv/news</b> (News module settings)</font>
1153
1154 <p>This module has no configurable settings.
1155 <a name="operserv/sessions"></a>
1156 <p><font size="+1"><b>operserv/sessions</b> (Sessions module settings)</font>
1157
1158 <a name="operserv/sessions.DefSessionLimit"></a>
1159 <p><ul><li>
1160 <tt><b>DefSessionLimit</b> <i>limit</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1161 <p>Default session limit per host. Once a host reaches its session
1162 limit, all clients attempting to connect from that host will be
1163 killed. A value of zero (or omitting the option entirely) means
1164 an unlimited session limit.
1165
1166 <p>Example: <tt>DefSessionLimit 3</tt>
1167 </ul>
1168
1169 <a name="operserv/sessions.MaxSessionLimit"></a>
1170 <p><ul><li>
1171 <tt><b>MaxSessionLimit</b> <i>limit</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1172 <p>The maximum session limit that may be set for a host in an
1173 exception.
1174
1175 <p>Example: <tt>MaxSessionLimit 100</tt>
1176 </ul>
1177
1178 <a name="operserv/sessions.ExceptionExpiry"></a>
1179 <p><ul><li>
1180 <tt><b>ExceptionExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1181 <p>Sets the default expiry time for exceptions. If not set,
1182 exceptions will not expire by default.
1183
1184 <p>Example: <tt>ExceptionExpiry 1d</tt>
1185 </ul>
1186
1187 <a name="operserv/sessions.SessionLimitExceeded"></a>
1188 <p><ul><li>
1189 <tt><b>SessionLimitExceeded</b> <i>message</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1190 <p>The message that will be NOTICE'd to a user just before they are
1191 removed from the network because their host's session limit has
1192 been exceeded. It may be used to give a slightly more
1193 descriptive reason for the impending kill as opposed to simply
1194 "Session limit exceeded". If this is commented out, nothing will
1195 be sent.
1196
1197 <p>Example: <tt>SessionLimitExceeded "The session limit for your host <b>%s</b> has been exceeded."</tt>
1198 </ul>
1199
1200 <a name="operserv/sessions.SessionLimitDetailsLoc"></a>
1201 <p><ul><li>
1202 <tt><b>SessionLimitDetailsLoc</b> <i>message</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1203 <p>Same as above, but should be used to provide a website address
1204 where users can find out more about session limits and how to go
1205 about applying for an exception. If this is commented out,
1206 nothing will be sent.
1207
1208 <p>This option has been intentionally commented out in an effort to
1209 remind you to change the URL it contains. It is recommended that
1210 you supply an address/URL where people can get help regarding
1211 session limits.
1212
1213 <p>Example: <tt>SessionLimitDetailsLoc "Please visit <b>http://your.website.url/</b> for more information about session limits."</tt>
1214 </ul>
1215
1216 <a name="operserv/sessions.SessionLimitAutokill"></a>
1217 <p><ul><li>
1218 <tt><b>SessionLimitAutokill</b> <i>max-kill-interval</i> <i>num-kills</i> <i>expiry</i> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1219 <p>With this option, Services will add an automatic autokill when
1220 the same host's session limit is exceeded repeatedly in a short
1221 period of time. If not given, autokills will not be
1222 automatically added (Services will just keep killing users from
1223 the host as they come on). Note that the autokill module
1224 (operserv/akill) must be loaded for this to work.
1225
1226 <p><tt><i>max-kill-interval</i></tt> sets the maximum interval which can elapse
1227 between kills before the kill counter is reset.
1228
1229 <p><tt><i>num-kills</i></tt> sets the number of kills before an autokill is added.
1230
1231 <p><tt><i>expiry</i></tt> sets the expiration time for the autokill.
1232
1233 <p><tt><i>reason</i></tt> sets the reason for the autokill.
1234
1235 <p>Example: <tt>SessionLimitAutokill 10s 5 30m "Exceeding session limit"</tt>
1236 </ul>
1237
1238 <a name="operserv/sessions.WallOSException"></a>
1239 <p><ul><li>
1240 <tt><b>WallOSException</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1241 <p>Cause Services to send a WALLOPS/GLOBOPS on use of the EXCEPTION
1242 command to add or delete a session exception.
1243
1244 <p>Example: <tt>WallOSException</tt>
1245 </ul>
1246
1247 <a name="operserv/sessions.WallExceptionExpire"></a>
1248 <p><ul><li>
1249 <tt><b>WallExceptionExpire</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1250 <p>Causes Services to send a WALLOPS/GLOBOPS whenever a session
1251 limit exception expires.
1252
1253 <p>Example: <tt>WallExceptionExpire</tt>
1254 </ul>
1255 <a name="operserv/sline"></a>
1256 <p><font size="+1"><b>operserv/sline</b> (S-line module settings)</font>
1257
1258 <a name="operserv/sline.SGlineReason"></a>
1259 <p><ul><li>
1260 <tt><b>SGlineReason</b> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1261 <p>The reason to use when sending out KILLs and SGLINE commands.
1262 Some servers show this reason to users if their connection is
1263 rejected because they match an SGline. If you include a "%s"
1264 in the reason, it will be replaced by the reason given with the
1265 SGline entry itself.
1266
1267 <p>Example: <tt>SGlineReason "Invalid real name"
1268 #SGlineReason "Invalid real name: %s"</tt>
1269 </ul>
1270
1271 <a name="operserv/sline.SQlineReason"></a>
1272 <p><ul><li>
1273 <tt><b>SQlineReason</b> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1274 <p>The reason to use when sending out KILLs and SQLINE commands.
1275 Some servers show this reason to users if their connection is
1276 rejected because they match an SQline. If you include a "%s"
1277 in the reason, it will be replaced by the reason given with the
1278 SQline entry itself.
1279
1280 <p>Example: <tt>SQlineReason "Reserved nickname"
1281 #SQlineReason "Reserved nickname: %s"</tt>
1282 </ul>
1283
1284 <a name="operserv/sline.SZlineReason"></a>
1285 <p><ul><li>
1286 <tt><b>SZlineReason</b> <i>reason</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1287 <p>The reason to use when sending out KILLs and SZLINE commands.
1288 Some servers show this reason to users if their connection is
1289 rejected because they match an SZline. If you include a "%s"
1290 in the reason, it will be replaced by the reason given with the
1291 SZline entry itself.
1292
1293 <p>Example: <tt>SZlineReason "You are banned from this network"</tt>
1294 <br>Example: <tt>SZlineReason "Z-lined: %s"</tt>
1295 </ul>
1296
1297 <a name="operserv/sline.ImmediatelySendSline"></a>
1298 <p><ul><li>
1299 <tt><b>ImmediatelySendSline</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1300 <p>Causes OperServ to inform all servers of a new S-line the moment
1301 it is added, rather than waiting for someone to match it first.
1302
1303 <p>Example: <tt>ImmediatelySendSline</tt>
1304 </ul>
1305
1306 <a name="operserv/sline.SGlineExpiry"></a>
1307 <p><ul><li>
1308 <tt><b>SGlineExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1309 <p>Sets the default expiry time for SGlines. If not defined,
1310 SGlines of that type will not expire by default.
1311
1312 <p>Example: <tt>SGlineExpiry 30d</tt>
1313 </ul>
1314
1315 <a name="operserv/sline.SQlineExpiry"></a>
1316 <p><ul><li>
1317 <tt><b>SQlineExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1318 <p>Sets the default expiry time for SQlines. If not defined,
1319 SQlines of that type will not expire by default.
1320
1321 <p>Example: <tt>SQlineExpiry 30d</tt>
1322 </ul>
1323
1324 <a name="operserv/sline.SZlineExpiry"></a>
1325 <p><ul><li>
1326 <tt><b>SZlineExpiry</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1327 <p>Sets the default expiry time for SZlines. If not defined,
1328 SZlines of that type will not expire by default.
1329
1330 <p>Example: <tt>SZlineExpiry 30d</tt>
1331 </ul>
1332
1333 <a name="operserv/sline.WallOSSline"></a>
1334 <p><ul><li>
1335 <tt><b>WallOSSline</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1336 <p>Cause Services to send a WALLOPS/GLOBOPS on use of the SGLINE,
1337 SQLINE, or SZLINE commands to add or delete S-lines.
1338
1339 <p>Example: <tt>WallOSSline</tt>
1340 </ul>
1341
1342 <a name="operserv/sline.WallSlineExpire"></a>
1343 <p><ul><li>
1344 <tt><b>WallSlineExpire</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1345 <p>Causes Services to send a WALLOPS/GLOBOPS whenever an autokill
1346 expires.
1347
1348 <p>Example: <tt>WallSlineExpire</tt>
1349 </ul>
1350
1351 <a name="operserv/sline.SQlineIgnoreOpers"></a>
1352 <p><ul><li>
1353 <tt><b>SQlineIgnoreOpers</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1354 <p>Allows IRC operators to use nicknames that match an SQline.
1355 (Note that this may not function properly if the IRC server does
1356 not allow IRC operators to use such nicknames.)
1357
1358 <p>Example: <tt>SQlineIgnoreOpers</tt>
1359 </ul>
1360
1361 <a name="operserv/sline.SQlineKill"></a>
1362 <p><ul><li>
1363 <tt><b>SQlineKill</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1364 <p>Normally, users whose nickname matches an SQline will have their
1365 nickname changed (on servers which support forced nickname
1366 changing) instead of being killed. Setting this option causes
1367 such users to be killed even on such servers, which may be
1368 helpful for dealing with clone attacks.
1369
1370 <p>Note that if this option is set, Services will not send SQlines
1371 to the IRC network; if it did, the IRC servers would step in and
1372 send the user an "invalid nickname" message before Services had a
1373 chance to kill the user.
1374
1375 <p>Example: <tt>SQlineKill</tt>
1376 </ul>
1377
1378 <p><hr width="60%">
1379
1380 <h3 align=center>NickServ configuration</h3>
1381
1382 <p><hr width="60%">
1383 <a name="nickserv/main"></a>
1384 <p><font size="+1"><b>nickserv/main</b></font>
1385
1386 <a name="nickserv/main.NickServName"></a>
1387 <p><ul><li>
1388 <tt><b>NickServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1389 <p>Specifies the nickname (first parameter) and "real" name (second
1390 parameter) used by the NickServ pseudoclient.
1391
1392 <p>Example: <tt>NickServName "NickServ" "Nickname Server"</tt>
1393 </ul>
1394
1395 <a name="nickserv/main.NSEnableRegister"></a>
1396 <p><ul><li>
1397 <tt><b>NSEnableRegister</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1398 <p>Allows the REGISTER command to be used. This is usually a good
1399 thing, but if you don't want your users to be able to register
1400 nicknames, remove (or comment out) this directive. Note that you
1401 will need to at least enable this to register the Services
1402 super-user nick (defined in the operserv/main ServicesRoot
1403 directive), or you will not be able to use any privileged
1404 OperServ functions!
1405
1406 <p>Example: <tt>NSEnableRegister</tt>
1407 </ul>
1408
1409 <a name="nickserv/main.NSRegEmailMax"></a>
1410 <p><ul><li>
1411 <tt><b>NSRegEmailMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1412 <p>Sets the maximum number of nicknames that can be registered to a
1413 single E-mail address; this affects both ordinary registration as
1414 well as changing the address using SET EMAIL, and also nickname
1415 linking (if the appropriate module is loaded). If not given,
1416 there is no limit.
1417
1418 <p>This option is most useful in combination with NSRequireEmail,
1419 below.
1420
1421 <p>Example: <tt>NSRegEmailMax 20</tt>
1422 </ul>
1423
1424 <a name="nickserv/main.NSRequireEmail"></a>
1425 <p><ul><li>
1426 <tt><b>NSRequireEmail</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1427 <p>Makes an E-mail address required at registration time. Users
1428 also will not be able to clear the address once registered,
1429 though they can change it. If not set, an E-mail address is not
1430 required (but may still be given), and the address may be cleared
1431 later on.
1432
1433 <p>Example: <tt>NSRequireEmail</tt>
1434 </ul>
1435
1436 <a name="nickserv/main.NSRegDenyIfSuspended"></a>
1437 <p><ul><li>
1438 <tt><b>NSRegDenyIfSuspended</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1439 <p>Disallows the use of REGISTER if the E-mail address given with
1440 the command is associated with a suspended nickname. This can
1441 help prevent users from getting around nickname suspensions by
1442 registering a new nickname.
1443
1444 <p>Example: <tt>NSRegDenyIfSuspended</tt>
1445 </ul>
1446
1447 <a name="nickserv/main.NSRegDelay"></a>
1448 <p><ul><li>
1449 <tt><b>NSRegDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1450 <p>Sets the minimum length of time between consecutive uses of the
1451 REGISTER command. If not given, this restriction is disabled.
1452
1453 <p>WARNING: Not setting NSRegDelay, or setting it too low, will not
1454 only allow "registration flooding" but, if the mail-auth
1455 module is also loaded, will also allow users to abuse
1456 this command to send large quantities of mail (mailbombs)
1457 to arbitrary users!
1458
1459 <p>Example: <tt>NSRegDelay 5m</tt>
1460 </ul>
1461
1462 <a name="nickserv/main.NSInitialRegDelay"></a>
1463 <p><ul><li>
1464 <tt><b>NSInitialRegDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1465 <p>Sets the minimum length of time the user must be connected before
1466 using the REGISTER command for the first time. If not given,
1467 this restriction is disabled. This option can be helpful in
1468 preventing malicious bots from flooding your network with
1469 registrations.
1470
1471 <p>Example: <tt>NSInitialRegDelay 30s</tt>
1472 </ul>
1473
1474 <a name="nickserv/main.NSSetEmailDelay"></a>
1475 <p><ul><li>
1476 <tt><b>NSSetEmailDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1477 <p>Sets the minimum length of time between consecutive uses of the
1478 SET EMAIL command. If not given, this restriction is disabled.
1479
1480 <p>WARNING: If you use the mail-auth module, then not setting
1481 NSSetEmailDelay, or setting it too low, will allow users
1482 to abuse this command to send large quantities of mail
1483 (mailbombs) to arbitrary users!
1484
1485 <p>Example: <tt>NSSetEmailDelay 5m</tt>
1486 </ul>
1487
1488 <a name="nickserv/main.NSDef..."></a>
1489 <p><ul><li>
1490 <tt><b>NSDef...</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1491 <p>Sets the default options for newly registered nicks. Note that
1492 changing these options will have no effect on nicks which are
1493 already registered. Options not listed here will be unset on new
1494 nicks.
1495
1496 <p>If both NSDefKill and NSDefKillQuick are given, NSDefKillQuick
1497 takes precedence. KILL IMMED cannot be specified as a default.
1498
1499 <p>Example: <tt>NSDefKill</tt>
1500 <br>Example: <tt>NSDefKillQuick</tt>
1501 <br>Example: <tt>NSDefSecure</tt>
1502 <br>Example: <tt>NSDefPrivate</tt>
1503 <br>Example: <tt>NSDefNoOp</tt>
1504 <br>Example: <tt>NSDefHideEmail</tt>
1505 <br>Example: <tt>NSDefHideUsermask</tt>
1506 <br>Example: <tt>NSDefHideQuit</tt>
1507 <br>Example: <tt>NSDefMemoSignon</tt>
1508 <br>Example: <tt>NSDefMemoReceive</tt>
1509 </ul>
1510
1511 <a name="nickserv/main.NSExpire"></a>
1512 <p><ul><li>
1513 <tt><b>NSExpire</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1514 <p>Sets the length of time before a nick registration expires. If
1515 not set, nicknames will not expire.
1516
1517 <p>Example: <tt>NSExpire 30d</tt>
1518 </ul>
1519
1520 <a name="nickserv/main.NSExpireWarning"></a>
1521 <p><ul><li>
1522 <tt><b>NSExpireWarning</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1523 <p>Sets the length of time before nick expiration during which
1524 warnings are sent to the user when the user is online (and not
1525 identified). If not set, no warnings will be sent; however, a
1526 message will still be sent when the nickname actually expires.
1527
1528 <p>Example: <tt>NSExpireWarning 3d</tt>
1529 </ul>
1530
1531 <a name="nickserv/main.NSSuspendExpire"></a>
1532 <p><ul><li>
1533 <tt><b>NSSuspendExpire</b> <i>time</i> <i>grace-period</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1534 <p>Sets the default expiry time and recovery grace period for
1535 nickname suspensions. (The expiry time can be set individually
1536 for each suspension; the grace period cannot.)
1537
1538 <p>The recovery grace period is the length of time a nick must exist
1539 for, after being unsuspended, before it is allowed to expire.
1540 This gives the owner a chance to reclaim the nick. It is
1541 enforced, if necessary, by adjusting the "last seen time" value,
1542 as well as the AUTH timeout when the mail-auth module is in use,
1543 when the nick is unsuspended. If set to zero, nicknames that are
1544 suspended for longer than "NSExpire" will be expired (dropped)
1545 during the next check for nickname expiration, giving the owners
1546 very little time to identify for their nicknames and prevent
1547 their expiry.
1548
1549 <p>If not specified, nickname suspensions will not expire by
1550 default, and there will be no grace period for recovering the nick.
1551
1552 <p>Example: <tt>NSSuspendExpire 25d 5d</tt>
1553 </ul>
1554
1555 <a name="nickserv/main.NSShowPassword"></a>
1556 <p><ul><li>
1557 <tt><b>NSShowPassword</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1558 <p>Causes the user's password to be sent back to them in a NOTICE at
1559 registration time, as a reminder.
1560
1561 <p>Example: <tt>NSShowPassword</tt>
1562 </ul>
1563
1564 <a name="nickserv/main.NSEnforcerUser"></a>
1565 <p><ul><li>
1566 <tt><b>NSEnforcerUser</b> <i>user</i>[@<i>host</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1567 <p>Sets the username (and possibly hostname) used for the fake user
1568 created when NickServ collides a user. Should be in user@host
1569 format. If the host is not given, the one from ServicesUser is
1570 used.
1571
1572 <p>Example: <tt>NSEnforcerUser enforcer</tt>
1573 <br>Example: <tt>NSEnforcerUser enforcer@localhost.net</tt>
1574 </ul>
1575
1576 <a name="nickserv/main.NSForceNickChange"></a>
1577 <p><ul><li>
1578 <tt><b>NSForceNickChange</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1579 <p>When enabled, makes NickServ change a user's nick to a
1580 "Guest######" nick instead of killing them when enforcing a
1581 "nick kill". (The actual nickname used is determined by the
1582 GuestNickPrefix setting in ircservices.conf.)
1583
1584 <p>This setting has no effect with IRC servers that do not support
1585 forcibly changing a client's nickname, and a warning will be
1586 written to the log file if this option is used in such a case.
1587
1588 <p>Example: <tt>NSForceNickChange</tt>
1589 </ul>
1590
1591 <a name="nickserv/main.NSReleaseTimeout"></a>
1592 <p><ul><li>
1593 <tt><b>NSReleaseTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1594 <p>Sets the delay before a NickServ-collided nick is released.
1595
1596 <p>Example: <tt>NSReleaseTimeout 1m</tt>
1597 </ul>
1598
1599 <a name="nickserv/main.NSAllowKillImmed"></a>
1600 <p><ul><li>
1601 <tt><b>NSAllowKillImmed</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1602 <p>When given, allows the use of the IMMED option with the NickServ
1603 SET KILL command.
1604
1605 <p>Example: <tt>NSAllowKillImmed</tt>
1606 </ul>
1607
1608 <a name="nickserv/main.NSListOpersOnly"></a>
1609 <p><ul><li>
1610 <tt><b>NSListOpersOnly</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1611 <p>When enabled, limits use of the NickServ LIST and LISTEMAIL
1612 commands to IRC operators.
1613
1614 <p>Example: <tt>NSListOpersOnly</tt>
1615 </ul>
1616
1617 <a name="nickserv/main.NSSecureAdmins"></a>
1618 <p><ul><li>
1619 <tt><b>NSSecureAdmins</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1620 <p>When enabled, prevents the use of the DROPNICK, GETPASS, FORBID,
1621 SUSPEND, and SET PASSWORD commands by Services admins on other
1622 Services admins or the Services root. (These restrictions do not
1623 apply to the Services root.)
1624
1625 <p>Example: <tt>NSSecureAdmins</tt>
1626 </ul>
1627
1628 <a name="nickserv/main.NSEnableDropEmail"></a>
1629 <p><ul><li>
1630 <tt><b>NSEnableDropEmail</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1631 <p>Allows the DROPEMAIL command to be used. This command can help
1632 recover from mass-registration attacks, but can also destroy your
1633 database if used improperly.
1634
1635 <p>Example: <tt>NSEnableDropEmail</tt>
1636 </ul>
1637
1638 <a name="nickserv/main.NSDropEmailExpire"></a>
1639 <p><ul><li>
1640 <tt><b>NSDropEmailExpire</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1641 <p>Sets the maximum length of time allowed between a DROPEMAIL
1642 command and the corresponding DROPEMAIL-CONFIRM command.
1643
1644 <p>Example: <tt>NSDropEmailExpire 10m</tt>
1645 </ul>
1646
1647 <a name="nickserv/main.NSHelpWarning"></a>
1648 <p><ul><li>
1649 <tt><b>NSHelpWarning</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1650 <p>When enabled, displays a "do not abuse NickServ" warning at the
1651 end of the NickServ HELP output similar to previous versions of
1652 Services. Otherwise, the warning is not displayed.
1653
1654 <p>Example: <tt>NSHelpWarning</tt>
1655 </ul>
1656
1657 <a name="nickserv/main.NSAlias"></a>
1658 <p><ul><li>
1659 <tt><b>NSAlias</b> <i>alias</i>=<i>command</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1660 <p>Creates an alias for a command. "alias" is the name of the
1661 alias, and "command" is the command which should be executed for
1662 that alias; the two are joined by an equals sign ("=") with no
1663 intervening whitespace. The alias and command names are
1664 case-insensitive.
1665
1666 <p>Any number of aliases can be created by adding more NSAlias
1667 directives, but recursive aliases are not allowed; "command" must
1668 be a valid (unaliased) command name.
1669
1670 <p>Example: <tt>NSAlias ID=IDENTIFY</tt>
1671 </ul>
1672 <a name="nickserv/access"></a>
1673 <p><font size="+1"><b>nickserv/access</b> (Access list module)</font>
1674
1675 <a name="nickserv/access.NSAccessMax"></a>
1676 <p><ul><li>
1677 <tt><b>NSAccessMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1678 <p>Sets the maximum number of entries allowed on a nickname access
1679 list.
1680
1681 <p>Example: <tt>NSAccessMax 32</tt>
1682 </ul>
1683
1684 <a name="nickserv/access.NSFirstAccessEnable"></a>
1685 <p><ul><li>
1686 <tt><b>NSFirstAccessEnable</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1687 <p>When enabled, causes an access entry based on the registering
1688 user's username and hostname to be automatically added to the
1689 access list of a newly-registered nickname. When disabled,
1690 newly-registered nicknames will have an empty access list.
1691
1692 <p>Example: <tt>NSFirstAccessEnable</tt>
1693 </ul>
1694
1695 <a name="nickserv/access.NSFirstAccessWild"></a>
1696 <p><ul><li>
1697 <tt><b>NSFirstAccessWild</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1698 <p>When enabled, causes the first access list entry added to a newly
1699 registered nickname to use a wildcard in the hostname when
1700 appropriate. When disabled, the first access list entry consists
1701 of the registering user's username and hostname as-is, without
1702 wildcards. This directive has no effect if NSFirstAccessEnable
1703 is disabled.
1704
1705 <p>Example: <tt>NSFirstAccessWild</tt>
1706 </ul>
1707 <a name="nickserv/autojoin"></a>
1708 <p><font size="+1"><b>nickserv/autojoin</b> (Autojoin module)</font>
1709
1710 <a name="nickserv/autojoin.NSAutojoinMax"></a>
1711 <p><ul><li>
1712 <tt><b>NSAutojoinMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1713 <p>Sets the maximum number of entries allowed on an autojoin list.
1714 There is little point in setting this higher than the maximum
1715 number of channels a client is allowed to join by the server
1716 (usually 10).
1717
1718 <p>Example: <tt>NSAutojoinMax 10</tt>
1719 </ul>
1720 <a name="nickserv/link"></a>
1721 <p><font size="+1"><b>nickserv/link</b> (Link module)</font>
1722
1723 <a name="nickserv/link.NSLinkMax"></a>
1724 <p><ul><li>
1725 <tt><b>NSLinkMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1726 <p>Sets the maximum number of links allowed for a single nickname
1727 group.
1728
1729 <p>Example: <tt>NSLinkMax 20</tt>
1730 </ul>
1731 <a name="nickserv/mail-auth"></a>
1732 <p><font size="+1"><b>nickserv/mail-auth</b> (Authentication module)</font>
1733
1734 <a name="nickserv/mail-auth.NSNoAuthExpire"></a>
1735 <p><ul><li>
1736 <tt><b>NSNoAuthExpire</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1737 <p>Sets the period of time after which a newly registered nickname
1738 will expire if it is not authenticated. If not specified, the
1739 standard nickname expiration time (NSExpire) is used.
1740
1741 <p>Example: <tt>NSNoAuthExpire 12h</tt>
1742 </ul>
1743
1744 <a name="nickserv/mail-auth.NSSendauthDelay"></a>
1745 <p><ul><li>
1746 <tt><b>NSSendauthDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1747 <p>Sets the minimum length of time between consecutive uses of the
1748 SENDAUTH command for the same nick group. If not specified, this
1749 restriction is disabled.
1750
1751 <p>WARNING: Not setting NSSendauthDelay, or setting it too low, will
1752 allow users to abuse this command to send large
1753 quantities of mail (mailbombs) to arbitrary users!
1754
1755 <p>Example: <tt>NSSendauthDelay 1d</tt>
1756 </ul>
1757
1758 <p><hr width="60%">
1759
1760 <h3 align=center>ChanServ configuration</h3>
1761
1762 <p><hr width="60%">
1763 <a name="chanserv/main"></a>
1764 <p><font size="+1"><b>chanserv/main</b></font>
1765
1766 <a name="chanserv/main.ChanServName"></a>
1767 <p><ul><li>
1768 <tt><b>ChanServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1769 <p>Specifies the nickname (first parameter) and "real" name (second
1770 parameter) used by the ChanServ pseudoclient.
1771
1772 <p>Example: <tt>ChanServName "ChanServ" "Channel Server"</tt>
1773 </ul>
1774
1775 <a name="chanserv/main.CSEnableRegister"></a>
1776 <p><ul><li>
1777 <tt><b>CSEnableRegister</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1778 <p>Allows the REGISTER command to be used. This is usually a good
1779 thing, but if you don't want your users to be able to register
1780 channels, remove (or comment out) this directive. Note, however,
1781 that Services administrators and the Services super-user will
1782 still be able to use the REGISTER command regardless of whether
1783 this directive is given or not.
1784
1785 <p>Example: <tt>CSEnableRegister</tt>
1786 </ul>
1787
1788 <a name="chanserv/main.CSRegisteredOnly"></a>
1789 <p><ul><li>
1790 <tt><b>CSRegisteredOnly</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1791 <p>Treats unregistered channels as if they were forbidden,
1792 disallowing access by ordinary users to any channels not
1793 explicitly registered with ChanServ. IRC operators will be
1794 allowed to enter such channels, as they are for ordinary
1795 forbidden channels. Note that this directive operates
1796 independently from the CSEnableRegister directive; if
1797 CSEnableRegister is commented out, non-Services-admin IRC
1798 operators will be able to join unregistered channels but will
1799 not be permitted to register them.
1800
1801 <p>Example: <tt>CSRegisteredOnly</tt>
1802 </ul>
1803
1804 <a name="chanserv/main.CSMaxReg"></a>
1805 <p><ul><li>
1806 <tt><b>CSMaxReg</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1807 <p>Limits the number of channels which may be registered to a single
1808 nickname. In the case of linked nicks, this limit applies to the
1809 entire set of linked nicks.
1810
1811 <p>Example: <tt>CSMaxReg 20</tt>
1812 </ul>
1813
1814 <a name="chanserv/main.CSDef..."></a>
1815 <p><ul><li>
1816 <tt><b>CSDef...</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1817 <p>Sets the default options for newly registered channels. Note
1818 that changing these options will have no effect on channels which
1819 are already registered. Options not listed here will be unset on
1820 new channels.
1821
1822 <p>Example: <tt>CSDefKeepTopic</tt>
1823 <br>Example: <tt>CSDefSecureOps</tt>
1824 <br>Example: <tt>CSDefPrivate</tt>
1825 <br>Example: <tt>CSDefTopicLock</tt>
1826 <br>Example: <tt>CSDefLeaveOps</tt>
1827 <br>Example: <tt>CSDefSecure</tt>
1828 <br>Example: <tt>CSDefOpNotice</tt>
1829 <br>Example: <tt>CSDefEnforce</tt>
1830 <br>Example: <tt>CSDefMemoRestricted</tt>
1831 <br>Example: <tt>CSDefHideEmail</tt>
1832 <br>Example: <tt>CSDefHideTopic</tt>
1833 <br>Example: <tt>CSDefHideMlock</tt>
1834 </ul>
1835
1836 <a name="chanserv/main.CSDefModeLock"></a>
1837 <p><ul><li>
1838 <tt><b>CSDefModeLock</b> <i>mode-string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1839 <p>Sets the default mode lock for newly registered channels, in the
1840 same format as the SET MLOCK command. If not set, the default is
1841 "+nt". Note that only binary modes (modes which take no
1842 parameters) can be used with this directive.
1843
1844 <p>Example: <tt>CSDefModeLock +nt</tt>
1845 </ul>
1846
1847 <a name="chanserv/main.CSExpire"></a>
1848 <p><ul><li>
1849 <tt><b>CSExpire</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1850 <p>Sets the length of time before a channel expires. If not set,
1851 channels will not expire.
1852
1853 <p>Example: <tt>CSExpire 14d</tt>
1854 </ul>
1855
1856 <a name="chanserv/main.CSSuspendExpire"></a>
1857 <p><ul><li>
1858 <tt><b>CSSuspendExpire</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1859 <p>Sets the default expiry time and recovery grace period for channel
1860 suspensions. If not set, channel suspensions will not expire by
1861 default and there will be no recovery grace period.
1862
1863 <p>Example: <tt>CSSuspendExpire 12d 2d</tt>
1864 </ul>
1865
1866 <a name="chanserv/main.CSShowPassword"></a>
1867 <p><ul><li>
1868 <tt><b>CSShowPassword</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1869 <p>If specified, causes the user's password to be sent back to them
1870 in a NOTICE at registration time, as a reminder.
1871
1872 <p>Example: <tt>CSShowPassword</tt>
1873 </ul>
1874
1875 <a name="chanserv/main.CSAccessMax"></a>
1876 <p><ul><li>
1877 <tt><b>CSAccessMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1878 <p>Sets the maximum number of entries on a channel's access list.
1879 Channel access lists may contain only registered nicknames;
1880 therefore, checking each entry on the list requires only a single
1881 scalar comparison instead of a wildcard match, and this limit may
1882 be safely set much higher than (for example) the autokick list
1883 size limit without impacting performance significantly.
1884
1885 <p>Example: <tt>CSAccessMax 1024</tt>
1886 </ul>
1887
1888 <a name="chanserv/main.CSAutokickMax"></a>
1889 <p><ul><li>
1890 <tt><b>CSAutokickMax</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1891 <p>Sets the maximum number of entries on a channel's autokick list.
1892
1893 <p>Example: <tt>CSAutokickMax 32</tt>
1894 </ul>
1895
1896 <a name="chanserv/main.CSInhabit"></a>
1897 <p><ul><li>
1898 <tt><b>CSInhabit</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1899 <p>Sets the length of time ChanServ stays in a channel after kicking
1900 a user from a channel s/he is not permitted to be in. This only
1901 occurs when the user is the only one in the channel.
1902
1903 <p>Example: <tt>CSInhabit 15s</tt>
1904 </ul>
1905
1906 <a name="chanserv/main.CSRestrictDelay"></a>
1907 <p><ul><li>
1908 <tt><b>CSRestrictDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1909 <p>When enabled, causes ChanServ to permit users to join channels
1910 with the RESTRICTED option set if they would be permitted to join
1911 after identifying for their nick, and to not remove mode +o (ops)
1912 from users who would be auto-opped if identified for their nick,
1913 for the given period of time after Services starts up. This gives
1914 such users time to identify to NickServ before being kicked out of
1915 restricted channels or getting deopped.
1916
1917 <p>Example: <tt>CSRestrictDelay 15s</tt>
1918 </ul>
1919
1920 <a name="chanserv/main.CSListOpersOnly"></a>
1921 <p><ul><li>
1922 <tt><b>CSListOpersOnly</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1923 <p>When enabled, limits use of the ChanServ LIST command to IRC
1924 operators.
1925
1926 <p>Example: <tt>CSListOpersOnly</tt>
1927 </ul>
1928
1929 <a name="chanserv/main.CSForbidShortChannel"></a>
1930 <p><ul><li>
1931 <tt><b>CSForbidShortChannel</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1932 <p>When enabled, treats the channel "#" as a forbidden channel, not
1933 allowing any users to join it. When not enabled, the channel "#"
1934 can be used normally, although ChanServ functions cannot be used
1935 with it. If CSRegisteredOnly is enabled, this directive has no
1936 effect (the "#" channel will be treated as forbidden along with
1937 all other unregistered channel).
1938
1939 <p>Example: <tt>CSForbidShortChannel</tt>
1940 </ul>
1941
1942 <a name="chanserv/main.CSSkipModeRCheck"></a>
1943 <p><ul><li>
1944 <tt><b>CSSkipModeRCheck</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1945 <p>When enabled, causes ChanServ to not kick users with unregistered
1946 nicknames who try to join <tt><i>tt</i></tt>+R<tt><i>/tt</i></tt> channels (on networks
1947 supporting <tt><i>tt</i></tt>+R<tt><i>/tt</i></tt> or another mode restricting channels to
1948 registered nicknames only).
1949
1950 <p>Example: <tt>CSSkipModeRCheck</tt>
1951 </ul>
1952
1953 <a name="chanserv/main.CSAlias"></a>
1954 <p><ul><li>
1955 <tt><b>CSAlias</b> <i>alias</i>=<i>command</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1956 <p>Creates an alias for a command. The parameter format is the same
1957 as for the NSAlias directive.
1958
1959 <p>Example: <tt>CSAlias ID=IDENTIFY</tt>
1960 </ul>
1961
1962 <p><hr width="60%">
1963
1964 <h3 align=center>MemoServ configuration</h3>
1965
1966 <p><hr width="60%">
1967 <a name="memoserv/main"></a>
1968 <p><font size="+1"><b>memoserv/main</b></font>
1969
1970 <a name="memoserv/main.MemoServName"></a>
1971 <p><ul><li>
1972 <tt><b>MemoServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
1973 <p>Specifies the nickname (first parameter) and "real" name (second
1974 parameter) used by the MemoServ pseudoclient.
1975
1976 <p>Example: <tt>MemoServName "MemoServ" "Memo Server"</tt>
1977 </ul>
1978
1979 <a name="memoserv/main.MSMaxMemos"></a>
1980 <p><ul><li>
1981 <tt><b>MSMaxMemos</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
1982 <p>Sets the maximum number of memos a user is allowed to keep by
1983 default. Normal users may set the limit anywhere between zero
1984 and this value; Services admins can change it to any value or
1985 disable it. If not given, the limit is disabled by default, and
1986 normal users can set any limit they want.
1987
1988 <p>Example: <tt>MSMaxMemos 20</tt>
1989 </ul>
1990
1991 <a name="memoserv/main.MSExpire"></a>
1992 <p><ul><li>
1993 <tt><b>MSExpire</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
1994 <p>Sets the length of time after a memo is sent until it expires and
1995 is automatically deleted. If not set, memos will not expire.
1996 Note that memos sent while MSExpire is disabled will not expire
1997 even if MSExpire is later enabled.
1998
1999 <p>Example: <tt>MSExpire 3d</tt>
2000 </ul>
2001
2002 <a name="memoserv/main.MSExpireDelay"></a>
2003 <p><ul><li>
2004 <tt><b>MSExpireDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2005 <p>Sets the length of time after first being read a memo's
2006 expiration will be delayed. Even if a memo reaches the age given
2007 in the MSExpire directive, it will not be deleted until at least
2008 the length of time given in this directive has passed since the
2009 memo was first read. If not set, memo expiration will not be
2010 delayed, and unread memos which have expired will be deleted
2011 immediately upon being read.
2012
2013 <p>If MSExpire is not set, this directive is ignored.
2014
2015 <p>Example: <tt>MSExpireDelay 1d</tt>
2016 </ul>
2017
2018 <a name="memoserv/main.MSSendDelay"></a>
2019 <p><ul><li>
2020 <tt><b>MSSendDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
2021 <p>Sets the delay between consecutive uses of the MemoServ SEND
2022 command. This can help prevent spam as well as denial-of-service
2023 attacks from sending large numbers of memos and filling up disk
2024 space (and memory). A 3-second wait means a maximum average of
2025 150 bytes of memo per second per user under the current IRC
2026 protocol.
2027
2028 <p>Example: <tt>MSSendDelay 3s</tt>
2029 </ul>
2030
2031 <a name="memoserv/main.MSAlias"></a>
2032 <p><ul><li>
2033 <tt><b>MSAlias</b> <i>alias</i>=<i>command</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2034 <p>Creates an alias for a command. The parameter format is the same
2035 as for the NSAlias directive.
2036
2037 <p>Example: <tt>MSAlias R=READ</tt>
2038 </ul>
2039 <a name="memoserv/forward"></a>
2040 <p><font size="+1"><b>memoserv/forward</b> (FORWARD module)</font>
2041
2042 <a name="memoserv/forward.MSAllowForward"></a>
2043 <p><ul><li>
2044 <tt><b>MSAllowForward</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2045 <p>If given, allows the FORWARD command to be used (the SET FORWARD
2046 command is always available). While the FORWARD command can be
2047 useful particularly for users first setting the FORWARD option
2048 on, a large number of users using the FORWARD ALL command can
2049 place a significant load on Services.
2050
2051 <p>Example: <tt>MSAllowForward</tt>
2052 </ul>
2053
2054 <a name="memoserv/forward.MSForwardDelay"></a>
2055 <p><ul><li>
2056 <tt><b>MSForwardDelay</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED if MSAllowForward is set]
2057 <p>Sets the minimum length of time between consecutive uses of the
2058 FORWARD command. If not given, this restriction is disabled.
2059 (Note that this can allow users to place a significant load on
2060 Services and/or your mail server!)
2061
2062 <p>If MSAllowForward is not set, this directive is ignored.
2063
2064 <p>Example: <tt>MSForwardDelay 10s</tt>
2065 </ul>
2066 <a name="memoserv/ignore"></a>
2067 <p><font size="+1"><b>memoserv/ignore</b> (IGNORE module)</font>
2068
2069 <a name="memoserv/ignore.MSIgnoreMax"></a>
2070 <p><ul><li>
2071 <tt><b>MSIgnoreMax</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2072 <p>Sets the maximum number of entries a user can have for their
2073 nickname group's memo ignore list.
2074
2075 <p>Example: <tt>MSIgnoreMax 32</tt>
2076 </ul>
2077
2078 <p><hr width="60%">
2079
2080 <h3 align=center>StatServ configuration</h3>
2081
2082 <p><hr width="60%">
2083 <a name="statserv/main"></a>
2084 <p><font size="+1"><b>statserv/main</b></font>
2085
2086 <a name="statserv/main.StatServName"></a>
2087 <p><ul><li>
2088 <tt><b>StatServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2089 <p>Specifies the nickname (first parameter) and "real" name (second
2090 parameter) used by the StatServ pseudoclient.
2091
2092 <p>Example: <tt>StatServName "StatServ" "Statistics Server"</tt>
2093 </ul>
2094
2095 <a name="statserv/main.SSOpersOnly"></a>
2096 <p><ul><li>
2097 <tt><b>SSOpersOnly</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2098 <p>Limits the use of StatServ to IRC operators only.
2099
2100 <p>Example: <tt>SSOpersOnly</tt>
2101 </ul>
2102
2103 <p><hr width="60%">
2104
2105 <h3 align=center>HTTP server modules</h3>
2106
2107 <p><hr width="60%">
2108 <a name="httpd/main"></a>
2109 <p><font size="+1"><b>httpd/main</b></font>
2110
2111 <a name="httpd/main.ListenTo"></a>
2112 <p><ul><li>
2113 <tt><b>ListenTo</b> <i>address</i>:<i>port</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2114 <p>Specifies the address and port number on which the HTTP server
2115 will listen for incoming requests. <tt><i>address</i></tt> may be specified as
2116 an IP address (first example below), a hostname (second example),
2117 or the special string "*", which means "any IP address" (third
2118 example).
2119
2120 <p>When a hostname is given, as in the second example below,
2121 Services will look up the address(es) associated with the
2122 hostname at startup time, and bind to every IP address found.
2123 This can be useful, for example, with dynamic DNS, in which
2124 the server's IP address changes periodically; however, the
2125 hostname lookup can take time&mdash;especially if there is no DNS
2126 server on the local network&mdash;and is susceptible to network or
2127 DNS server outages, so IP addresses or "*" should be used
2128 whenever possible.
2129
2130 <p>Note that many systems restrict low port numbers to the system
2131 administrator; in particular, Unix-like systems allow only the
2132 root user (UID 0) to use ports less than 1024.
2133
2134 <p>Example: <tt>ListenTo 127.0.0.1:12701</tt>
2135 <br>Example: <tt>ListenTo services.example.net:8080</tt>
2136 <br>Example: <tt>ListenTo *:80</tt>
2137 </ul>
2138
2139 <a name="httpd/main.ListenBacklog"></a>
2140 <p><ul><li>
2141 <tt><b>ListenBacklog</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2142 <p>Specifies the maximum number of connections that can be received
2143 by the operating system without being accepted by Services (the
2144 second parameter, `backlog', to the listen() system call). If
2145 you start seeing refused or delayed connections on a busy server,
2146 try increasing this value.
2147
2148 <p>If you don't understand the above, leave this setting alone.
2149
2150 <p>Example: <tt>ListenBacklog 5</tt>
2151 </ul>
2152
2153 <a name="httpd/main.RequestBufferSize"></a>
2154 <p><ul><li>
2155 <tt><b>RequestBufferSize</b> <i>bytes</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2156 <p>Specifies the size of the buffer allocated for each HTTP request.
2157 Note that this buffer is allocated for every connection, and an
2158 additional amount of memory will be allocated for header pointers
2159 (in the pathological case this extra amount could reach 4/3 of
2160 the value given for this directive). If a client sends a request
2161 (including POST data) exceeding this value, an error will be
2162 returned and the connection terminated.
2163
2164 <p>If you don't understand the above, leave this setting alone.
2165
2166 <p>Example: <tt>RequestBufferSize 4096</tt>
2167 </ul>
2168
2169 <a name="httpd/main.MaxConnections"></a>
2170 <p><ul><li>
2171 <tt><b>MaxConnections</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
2172 <p>Specifies the maximum number of simultaneous connections allowed.
2173 If not given, no limit is placed on the number of connections;
2174 however, the operating system may impose its own limits, which
2175 are not under the control of Services.
2176
2177 <p>Example: <tt>MaxConnections 10</tt>
2178 </ul>
2179
2180 <a name="httpd/main.MaxRequests"></a>
2181 <p><ul><li>
2182 <tt><b>MaxRequests</b> <i>count</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
2183 <p>Specifies the maximum number of requests that can be made over a
2184 single connection before the server disconnects it. If not
2185 given, no limit is placed on the number of requests per
2186 connection; note that this may allow malicious users to interfere
2187 with Services' normal operations by sending large numbers of
2188 requests over a single connection.
2189
2190 <p>Example: <tt>MaxRequests 20</tt>
2191 </ul>
2192
2193 <a name="httpd/main.IdleTimeout"></a>
2194 <p><ul><li>
2195 <tt><b>IdleTimeout</b> <i>time</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[RECOMMENDED]
2196 <p>Specifies the length of time a connection can be idle (not
2197 sending data) before it will be automatically closed. If not
2198 given, connections will never be closed automatically.
2199
2200 <p>Example: <tt>IdleTimeout 30s</tt>
2201 </ul>
2202
2203 <a name="httpd/main.LogConnections"></a>
2204 <p><ul><li>
2205 <tt><b>LogConnections</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2206 <p>If given, a log message will be written for each connection to
2207 the server.
2208
2209 <p>Example: <tt>LogConnections</tt>
2210 </ul>
2211 <a name="httpd/auth-ip"></a>
2212 <p><font size="+1"><b>httpd/auth-ip</b> (IP address authorization module)</font>
2213
2214 <a name="httpd/auth-ip.AllowHost"></a>
2215 <p><ul><li>
2216 <tt><b>AllowHost</b> <i>path</i> <i>address</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2217 <br><tt><b>DenyHost</b> <i>path</i> <i>address</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2218 <p>Specifies which hosts will be allowed (or not allowed) to access
2219 resources provided by the HTTP server. The <tt><i>path</i></tt> parameter is a
2220 URL path (not including the "<tt>http://host.name</tt>"), and matches any
2221 URL which begins with the same string; for example, "<tt>/dir</tt>"
2222 matches both "<tt>/dir/file</tt>" and "<tt>/dirty</tt>". The <tt><i>address</i></tt> can be an
2223 IP address, a hostname (as with <a href="#httpd/main.ListenTo"><tt>ListenTo</tt></a> in the main server
2224 module, all addresses associated with the hostname will be
2225 allowed or denied), the string "<tt>*</tt>" (which means all addresses),
2226 or the special format "<tt><i>IP-address</i>/<i>mask</i></tt>", where <tt><i>mask</i></tt> is an
2227 integer from 1 to 31 giving the number of bits in the subnet
2228 address, which indicates that the entire subnet of addressess
2229 specified should be allowed or denied; for example,
2230 "<tt>192.168.1.64/26</tt>" represents the range of addresses from
2231 192.168.1.64 to 192.168.1.127.
2232 <p>
2233 Examples:
2234 <div align=center><p><table border=1 cellpadding=1 cellspacing=1>
2235 <tr><th>Directive<th>Meaning
2236 <tr><td><tt>AllowHost /debug 127.0.0.1</tt>
2237 <td>Allow all requests from <tt>localhost</tt> to the debug page
2238 <tr><td><tt>AllowHost / 192.168.0.0/24</tt>
2239 <td>Allow any host in the <tt>192.168.0.*</tt> network access to the entire server
2240 <tr><td><tt>DenyHost / shell.example.org</tt>
2241 <td>Deny connections from any address associated with <tt>shell.example.org</tt>
2242 </table></div>
2243 <p>
2244 Multiple <tt>AllowHost</tt> or <tt>DenyHost</tt> directives for the same path may
2245 be used to specify multiple addresses to allow or deny. Each
2246 condition will be checked in the order they are listed here, and
2247 the first matching one will be used. For example, these lines:
2248 <blockquote>
2249 <tt>AllowHost / 192.168.0.1</tt>
2250 <br><tt>DenyHost&nbsp;&nbsp;/ 192.168.0.0/24</tt>
2251 </blockquote>
2252 deny access to all hosts in the <tt>192.168.0.*</tt> network <i>except</i>
2253 <tt>192.168.0.1</tt>. However, the reverse:
2254 <blockquote>
2255 <tt>DenyHost&nbsp;&nbsp;/ 192.168.0.0/24</tt>
2256 <br><tt>AllowHost / 192.168.0.1</tt>
2257 </blockquote>
2258 simply blocks all hosts in the <tt>192.168.0.*</tt> network, since the
2259 first rule matches <tt>192.168.0.1</tt> and the second is never checked.
2260 <p>
2261 Access to the entire server can be allowed or denied by using the
2262 path "<tt>/</tt>", which matches every URL (since all URLs begin with a
2263 slash). Such a rule should always be included at the end of the
2264 rule list to explicitly indicate what should be done with
2265 requests that do not match any other rule; the behavior of the
2266 module for requests without a matching rule is undefined. For
2267 example:
2268 <blockquote>
2269 <tt>AllowHost / *</tt>
2270 </blockquote>
2271 or:
2272 <blockquote>
2273 <tt>DenyHost / *</tt>
2274 </blockquote>
2275 <p>
2276 <b>WARNING: Hostnames are resolved only once at startup; any changes
2277 in a host's IP address will not be seen by Services.</b>
2278 <p>
2279 Note: These directives are listed as "optional" only because the
2280 module will still load even if no directives are listed;
2281 however, unless <tt>AllowHost</tt>/<tt>DenyHost</tt> directives are given,
2282 the module will not have any effect.
2283
2284 <p>Example: <tt>AllowHost / *</tt>
2285 </ul>
2286 <a name="httpd/auth-password"></a>
2287 <p><font size="+1"><b>httpd/auth-password</b> (Password authorization module)</font>
2288
2289 <a name="httpd/auth-password.AuthName"></a>
2290 <p><ul><li>
2291 <tt><b>AuthName</b> <i>name</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2292 <p>Specifies the name to be used by the user's browser when asking
2293 for a password (as in "Enter username and password for <tt><i>name</i></tt>:").
2294
2295 <p>Example: <tt>AuthName "IRC Services"</tt>
2296 </ul>
2297
2298 <a name="httpd/auth-password.Protect"></a>
2299 <p><ul><li>
2300 <tt><b>Protect</b> <i>path</i> <i>user</i>:<i>pass</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2301 <p>Sets the URLs (paths) which will be protected by password
2302 authorization, and the username and password for each path. The
2303 username and password can be different for each path. The path
2304 given will match any URL beginning with that string, as with the
2305 <tt>auth-ip</tt> module.
2306 <p>
2307 Examples:
2308 <blockquote>
2309 <tt>Protect /debug "debug:debug"</tt>
2310 <br><tt>Protect /~&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"nickuser:nickpass"</tt>
2311 </blockquote>
2312 <p>
2313 Note: This directive is listed as "optional" only because the
2314 module will still load even if no directives are listed;
2315 however, unless <tt>Protect</tt> directives are given, the module
2316 will not have any effect. Use a path of "<tt>/</tt>" to apply
2317 password protection to the entire server.
2318 </ul>
2319 <a name="httpd/dbaccess"></a>
2320 <p><font size="+1"><b>httpd/dbaccess</b> (Database access module)</font>
2321
2322 <p>NOTICE: This module allows complete access to all Services data;
2323 be certain to protect it from unauthorized access using
2324 authorization modules or other means.
2325
2326 <a name="httpd/dbaccess.Prefix"></a>
2327 <p><ul><li>
2328 <tt><b>Prefix</b> <i>path</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2329 <p>Sets the URL (path) at which database access will be accessible.
2330 If this does not end with a slash, one will be appended
2331 automatically. Access is provided using the following directory
2332 tree:
2333 <div align=center><p><table border=0 cellspacing=2>
2334 <tr><td><tt><i>path</i>/</tt>
2335 <td>Main menu
2336 <tr><td><tt><i>path</i>/operserv/</tt>
2337 <td>OperServ data and menu
2338 <tr><td><tt><i>path</i>/operserv/akill/</tt>
2339 <td>Autokill list
2340 <tr><td><tt><i>path</i>/operserv/news/</tt>
2341 <td>News item list
2342 <tr><td><tt><i>path</i>/operserv/sessions/&nbsp;&nbsp;</tt>
2343 <td>Session and exception lists
2344 <tr><td><tt><i>path</i>/operserv/sline/</tt>
2345 <td>S-line lists
2346 <tr><td><tt><i>path</i>/nickserv/</tt>
2347 <td>Nickname list and information
2348 <tr><td><tt><i>path</i>/chanserv/</tt>
2349 <td>Channel list and information
2350 <tr><td><tt><i>path</i>/statserv/</tt>
2351 <td>Network statistics
2352 <tr><td><tt><i>path</i>/xml-export/</tt>
2353 <td>XML-format database download
2354 </table></div>
2355 Categories for which the relevant module is not loaded will not
2356 be accessible.
2357 <p>
2358 <b>WARNING: These functions, particularly the XML export function,
2359 can cause Services to stop for a significant period of
2360 time while they are processed!</b>
2361 <p>
2362 This is commented out by default; make sure you implement proper
2363 access protection (see above) before uncommenting it.
2364
2365 <p>Example: <tt>Prefix "/dbaccess"</tt>
2366 </ul>
2367 <a name="httpd/debug"></a>
2368 <p><font size="+1"><b>httpd/debug</b> (Debug page module)</font>
2369
2370 <a name="httpd/debug.DebugURL"></a>
2371 <p><ul><li>
2372 <tt><b>DebugURL</b> <i>path</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2373 <p>Sets the URL (path) at which the debug page will be accessible.
2374 This must begin with a slash.
2375
2376 <p>Example: <tt>DebugURL "/debug"</tt>
2377 </ul>
2378 <a name="httpd/redirect"></a>
2379 <p><font size="+1"><b>httpd/redirect</b> (Nick/channel redirect module)</font>
2380
2381 <a name="httpd/redirect.NicknamePrefix"></a>
2382 <p><ul><li>
2383 <tt><b>NicknamePrefix</b> <i>path</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2384 <p>Sets the URL (path) at which nickname redirects will be
2385 accessible; all characters after this prefix, up to the next
2386 slash, will be taken as the nickname. This must begin with a
2387 slash. The default value, "/~", emulates the traditional home
2388 page URL of "http://www.example.net/~username/". If you use a
2389 directory name instead, it must end with a slash, for example:
2390 "/nickname/". See also ChannelPrefix, below.
2391
2392 <p>If not set, nickname redirects will not be done.
2393
2394 <p>Example: <tt>NicknamePrefix "/~"</tt>
2395 </ul>
2396
2397 <a name="httpd/redirect.ChannelPrefix"></a>
2398 <p><ul><li>
2399 <tt><b>ChannelPrefix</b> <i>path</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2400 <p>Sets the URL (path) at which channel redirects will be
2401 accessible; all characters after this prefix, up to the next
2402 slash, will be taken as the channel name (without the leading
2403 "#", which cannot be used in URLs). The path must begin with
2404 a slash. The default value, "/channel/", gives URLs like
2405 "http://services.example.net/channels/channelname/" for channel
2406 "#channelname".
2407
2408 <p>If not set, channel redirects will not be done.
2409
2410 <p>Note: If a URL could be interpreted as both a nickname URL and a
2411 channel URL, the nickname will take precedence, even if it
2412 is not registered or does not have a URL associated with it.
2413
2414 <p>Example: <tt>ChannelPrefix "/channel/"</tt>
2415 </ul>
2416 <a name="httpd/top-page"></a>
2417 <p><font size="+1"><b>httpd/top-page</b> (Top page module)</font>
2418
2419 <a name="httpd/top-page.Filename"></a>
2420 <p><ul><li>
2421 <tt><b>Filename</b> <i>path</i> [<i>content-type</i>]</tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2422 <p>Sets the name of a file to be delivered as the server's top page.
2423 If this does not begin with a slash, then it is taken as relative
2424 to the Services data directory. The second parameter specifies
2425 the MIME content type of the file; if not given, it defaults to
2426 text/html.
2427
2428 <p>Example: <tt>Filename "Top Page.txt" text/plain</tt>
2429 <br>Example: <tt>Filename /var/www/html/ircservices/top-page.html</tt>
2430 </ul>
2431
2432 <a name="httpd/top-page.Redirect"></a>
2433 <p><ul><li>
2434 <tt><b>Redirect</b> <i>URL</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2435 <p>Sets a URL to be provided as a redirect to a client accessing the
2436 top page. This must be a full URL, beginning with "http://" (or
2437 some other protocol specifier). If both Filename and Redirect
2438 are given, Redirect takes precedence.
2439
2440 <p>Example: <tt>Redirect http://www.example.net/ircservices/</tt>
2441 </ul>
2442
2443 <p><hr width="60%">
2444
2445 <h3 align=center>Miscellaneous modules</h3>
2446
2447 <p><hr width="60%">
2448 <a name="misc/devnull"></a>
2449 <p><font size="+1"><b>misc/devnull</b> (DevNull settings)</font>
2450
2451 <a name="misc/devnull.DevNullName"></a>
2452 <p><ul><li>
2453 <tt><b>DevNullName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2454 <p>Specifies the nickname (first parameter) and "real" name (second
2455 parameter) used by the DevNull pseudoclient.
2456
2457 <p>Example: <tt>DevNullName "DevNull" "/dev/null -- message sink"</tt>
2458 </ul>
2459 <a name="misc/helpserv"></a>
2460 <p><font size="+1"><b>misc/helpserv</b> (HelpServ settings)</font>
2461
2462 <a name="misc/helpserv.HelpServName"></a>
2463 <p><ul><li>
2464 <tt><b>HelpServName</b> <i>nick</i> <i>string</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2465 <p>Specifies the nickname (first parameter) and "real" name (second
2466 parameter) used by the HelpServ pseudoclient.
2467
2468 <p>Example: <tt>HelpServName "HelpServ" "Help Server"</tt>
2469 </ul>
2470
2471 <a name="misc/helpserv.HelpDir"></a>
2472 <p><ul><li>
2473 <tt><b>HelpDir</b> <i>dirname</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[REQUIRED]
2474 <p>Specifies the name of the subdirectory containing help files for
2475 HelpServ.
2476
2477 <p>Example: <tt>HelpDir helpfiles</tt>
2478 </ul>
2479 <a name="misc/xml-export"></a>
2480 <p><font size="+1"><b>misc/xml-export</b> (XML export settings)</font>
2481
2482 <p>This module has no configurable settings.
2483 <a name="misc/xml-import"></a>
2484 <p><font size="+1"><b>misc/xml-import</b> (XML import settings)</font>
2485
2486 <a name="misc/xml-import.OnNicknameCollision"></a>
2487 <p><ul><li>
2488 <tt><b>OnNicknameCollision</b> <i>action</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2489 <p>Specifies the action to be taken when a nickname in the data to
2490 import is already registered. The string must be one of either
2491 "skipgroup" (skip over the nickname group containing the nickname
2492 in the imported data), "skipnick" (skip only the colliding
2493 nickname), "overwrite" (drop the existing nickname), or "abort"
2494 (do not import any data). Note that when "abort" is selected,
2495 the entire XML input is still checked for errors, but Services
2496 will abort before actually merging any data.
2497
2498 <p>When using "overwrite", if a nickname group has only one nickname
2499 and that nickname is overwritten, the nickname group will be
2500 dropped as well. As a consequence, any channels owned by such a
2501 nickname will be dropped (or shifted to their successors) as
2502 well. All nicknames and channels overwritten or dropped in this
2503 manner will be displayed on standard error.
2504
2505 <p>If not specified, defaults to "skipgroup".
2506
2507 <p>Example: <tt>OnNicknameCollision skipgroup</tt>
2508 </ul>
2509
2510 <a name="misc/xml-import.OnChannelCollision"></a>
2511 <p><ul><li>
2512 <tt><b>OnChannelCollision</b> <i>action</i></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2513 <p>Specifies the action to be taken when a channel in the data to
2514 import is already registered. The string must be one of either
2515 "skip" (skip over the channel in the imported data), "overwrite"
2516 (drop the existing channel), or "abort" (do not import any data).
2517 Note that when "abort" is selected, the entire XML input is still
2518 checked for errors, but Services will abort before actually
2519 merging any data. If not specified, defaults to "skip".
2520
2521 <p>Example: <tt>OnChannelCollision skip</tt>
2522 </ul>
2523
2524 <a name="misc/xml-import.ImportNews"></a>
2525 <p><ul><li>
2526 <tt><b>ImportNews</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2527 <p>Causes news items in the XML data to be imported into the
2528 database (normally, news items are skipped).
2529
2530 <p>Example: <tt>ImportNews</tt>
2531 </ul>
2532
2533 <a name="misc/xml-import.VerboseImport"></a>
2534 <p><ul><li>
2535 <tt><b>VerboseImport</b></tt>&nbsp;&nbsp;&nbsp;&nbsp;[OPTIONAL]
2536 <p>Causes a detailed list of imported nicknames, channels, and other
2537 data to be printed to standard output.
2538
2539 <p>Example: <tt>VerboseImport</tt>
2540 </ul>
2541
2542 <p align=right><font size="-1"><a href="#top">Back to top</a></font>
2543
2544 <p><hr>
2545
2546 <p align=right><font size=-1><a href=index.html>Table of Contents</a></font>
2547
2548 </body>
2549 </html>