1 |
# Example configuration file for Services. After making the appropriate |
2 |
# changes to this file, place it in the Services data directory (as |
3 |
# specified in the "configure" script, default /usr/local/lib/ircservices) |
4 |
# with the name "ircservices.conf". |
5 |
# |
6 |
# The format of this file is fairly simple: a line beginning with a # is a |
7 |
# comment, and any other non-blank line is expected to be a directive and |
8 |
# parameters, separated by spaces or tabs. For example: |
9 |
# |
10 |
# Directive Parameter-1 Parameter-2 ... |
11 |
# |
12 |
# Directives are case-insensitive. Note that some directives do not take |
13 |
# any parameters; these are typically "on-off" directives, for which simply |
14 |
# including the directive in this file (or removing it) has an effect on |
15 |
# Services' functionality. |
16 |
# |
17 |
# If a parameter's value is a string which includes spaces, enclose the |
18 |
# string in double quotation marks, like the example below. Quotes may be |
19 |
# used around any string at all for clarity. |
20 |
# |
21 |
# "This is a parameter string with spaces in it" |
22 |
# |
23 |
# If you need to include a double quote inside a quoted string, precede it |
24 |
# by a backslash: |
25 |
# |
26 |
# "This string has \"double quotes\" in it" |
27 |
# |
28 |
# A backslash can likewise be included by preceding it with another |
29 |
# backslash. |
30 |
# |
31 |
# Time parameters can be specified either as an integer representing a |
32 |
# number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit |
33 |
# specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days. |
34 |
# Combinations (such as "1h30m") are also permitted. Examples (all of which |
35 |
# represent the same length of time, one day): |
36 |
# |
37 |
# "86400", "86400s", "1440m", "24h", "1d", "23h60m", "23h59m60s" |
38 |
# |
39 |
# In the documentation for each directive, one of the following will be |
40 |
# included to indicate whether an option is required: |
41 |
# |
42 |
# [REQUIRED] |
43 |
# Indicates a directive which must be given. Without it, Services will |
44 |
# not start. |
45 |
# |
46 |
# [RECOMMENDED] |
47 |
# Indicates a directive which may be omitted, but omitting it may cause |
48 |
# undesirable side effects. |
49 |
# |
50 |
# [OPTIONAL] |
51 |
# Indicates a directive which is optional. If not given, the feature |
52 |
# will typically be disabled. If this is not the case, more |
53 |
# information will be given in the documentation. |
54 |
# |
55 |
# [DISCOURAGED] |
56 |
# Indicates a directive which may cause undesirable side effects if |
57 |
# specified. |
58 |
# |
59 |
|
60 |
########################################################################### |
61 |
# |
62 |
# Configuration file control |
63 |
# |
64 |
########################################################################### |
65 |
|
66 |
# IncludeFile <filename> [OPTIONAL] |
67 |
# Specifies another file from which to read configuration directives. |
68 |
# The file is processed as if its contents were included in place of |
69 |
# the IncludeFile directive. If a relative pathname is given, it is |
70 |
# relative to the Services data directory. This directive may be used |
71 |
# in both ircservices.conf and modules.conf. |
72 |
# |
73 |
# Note that IncludeFile directives may only be nested to a depth of |
74 |
# 100 levels, in order to prevent infinite loops. |
75 |
|
76 |
#IncludeFile "local.conf" |
77 |
|
78 |
########################################################################### |
79 |
# |
80 |
# Remote server configuration |
81 |
# |
82 |
########################################################################### |
83 |
|
84 |
# RemoteServer <hostname> <port> <password> [REQUIRED] |
85 |
# Specifies the remote server hostname and port. The hostname may be |
86 |
# either a standard Internet hostname or dotted-quad numeric address; |
87 |
# the port number must be an integer between 1 and 65535 inclusive. |
88 |
# The password is a string which should be enclosed in double quotes |
89 |
# if it contains any spaces (or just for clarity). Make sure to |
90 |
# uncomment the directive (remove the leading "#") before running |
91 |
# Services. |
92 |
# |
93 |
# The remote server and port may be overridden at runtime with the |
94 |
# -remote command-line option. The password may not be set at runtime. |
95 |
|
96 |
#RemoteServer 127.0.0.1 6667 "password" |
97 |
|
98 |
# LocalAddress <hostname> [<port>] [OPTIONAL] |
99 |
# Specifies the local address to bind to before connecting to the |
100 |
# remote server. This may be useful on multihomed hosts. The hostname |
101 |
# and port number are specified the same way as with the RemoteServer |
102 |
# directive. If this is not specified, Services will let the operating |
103 |
# system choose the local address. If only a hostname is specified, |
104 |
# Services will bind to that address but let the operating system |
105 |
# choose the local port number. |
106 |
# |
107 |
# If you don't know what this means or don't need to use it, just leave |
108 |
# the directive commented out. |
109 |
|
110 |
#LocalAddress host.name.here |
111 |
#LocalAddress host.name.here 6677 |
112 |
|
113 |
########################################################################### |
114 |
# |
115 |
# Services identification |
116 |
# |
117 |
########################################################################### |
118 |
|
119 |
# ServerName <name> [REQUIRED] |
120 |
# Specifies the IRC server name which Services should use when it |
121 |
# connects to the network. |
122 |
|
123 |
ServerName "services.example.net" |
124 |
|
125 |
# ServerDesc <text> [REQUIRED] |
126 |
# Specifies the text which should appear as the server's information in |
127 |
# /whois and similar queries. |
128 |
|
129 |
ServerDesc "Services for IRC Networks" |
130 |
|
131 |
# ServiceUser <usermask> [REQUIRED] |
132 |
# Specifies the user@host mask which should be used by the Services |
133 |
# pseudoclients. |
134 |
|
135 |
ServiceUser "services@example.net" |
136 |
|
137 |
########################################################################### |
138 |
# |
139 |
# Unix group and umask to use |
140 |
# |
141 |
########################################################################### |
142 |
|
143 |
# RunGroup <group> [OPTIONAL] |
144 |
# Specify the group which Services should run as. <group> can be |
145 |
# either a group name or an equals sign ("=") followed by a group ID. |
146 |
# If not specified, Services will use the group ID it is started with. |
147 |
# Note that Unix setgid permission on the executable file will do the |
148 |
# same thing, but the setgid permission bit is cleared whenever the |
149 |
# file is modified, while this setting will always be used (if the |
150 |
# system permits it) when Services is started. |
151 |
|
152 |
#RunGroup services |
153 |
#RunGroup =65534 # A common value for the "nogroup" group |
154 |
|
155 |
# Umask <umask> [RECOMMENDED] |
156 |
# Sets the umask (file creation mask) for Services. This mask is |
157 |
# applied to all data files created by Services, including database |
158 |
# files (which are recreated on every database update) and the process |
159 |
# ID file (PIDFilename, below), and indicates which file permission |
160 |
# bits are NOT to be set on those files as an octal value. Common |
161 |
# values are given in the examples below. If not specified, the umask |
162 |
# in place when Services is started will be used. |
163 |
|
164 |
Umask 077 # Disallows access to all but file owner |
165 |
# (recommended when RunGroup is not set) |
166 |
#Umask 007 # Allows access to members of file group as well |
167 |
# (recommended when RunGroup is set) |
168 |
|
169 |
########################################################################### |
170 |
# |
171 |
# Services data filenames |
172 |
# |
173 |
########################################################################### |
174 |
|
175 |
# NOTE: All filenames are relative to the Services data directory. |
176 |
|
177 |
# LogFilename <filename> [REQUIRED] |
178 |
# Specifies the name of the file into which Services will log data. |
179 |
# May be overridden by the -log command-line option. If this name |
180 |
# contains "%y", "%m", or "%d", they will be replaced by the current |
181 |
# year, month, or day, respectively, and the logfile will be |
182 |
# automatically rotated as needed when the date changes. |
183 |
|
184 |
LogFilename ircservices.log |
185 |
|
186 |
# PIDFilename <filename> [REQUIRED] |
187 |
# Specifies the name of the file containing Services' process ID. |
188 |
# Note that if you change this filename, and you are using the |
189 |
# "ircservices-chk" crontab script provided with Services, you will |
190 |
# need to change the filename in that file as well. |
191 |
|
192 |
PIDFilename ircservices.pid |
193 |
|
194 |
# MOTDFilename <filename> [REQUIRED] |
195 |
# Specifies the name of the Message of the Day file. |
196 |
|
197 |
MOTDFilename ircservices.motd |
198 |
|
199 |
# LockFilename <filename> [REQUIRED] |
200 |
# Specifies the name of the data directory lock file. This file is |
201 |
# created in the data directory when Services begins updating |
202 |
# databases, and is removed after the databases are updated. If the |
203 |
# file already exists when Services tries to update the databases, |
204 |
# Services sends a warning (via wallops) and does not write any data. |
205 |
|
206 |
LockFilename .lock |
207 |
|
208 |
########################################################################### |
209 |
# |
210 |
# Basic functionality |
211 |
# |
212 |
########################################################################### |
213 |
|
214 |
# NoBouncyModes [OPTIONAL] |
215 |
# Normally, Services will check for the remote IRC server reversing its |
216 |
# mode changes, and issue a warning (and stop changing modes) if it |
217 |
# detects such a problem. However, the detection will sometimes |
218 |
# trigger even when there is no problem, thus preventing channel |
219 |
# mode-locks and other features from working. If you specify this |
220 |
# directive, Services will not check for mode bouncing, which can avoid |
221 |
# this problem if you know your servers are set up correctly. |
222 |
# |
223 |
# WARNING: setting this option when your servers are incorrectly |
224 |
# configured can result in flooding! |
225 |
|
226 |
#NoBouncyModes |
227 |
|
228 |
# NoSplitRecovery [OPTIONAL] |
229 |
# Disables Services' recognition of users returning from netsplits. |
230 |
# Normally (on networks with some sort of timestamp support in the IRC |
231 |
# server), Services will check via the timestamp field whether a user |
232 |
# is the same as the last user who identified for the nick, and allow |
233 |
# the user access to that nick without requiring identification again |
234 |
# if the timestamps match. Enabling this directive will force all |
235 |
# users to re-identify after a netsplit. |
236 |
# |
237 |
# It's generally easier on users to leave this disabled, but if you |
238 |
# suspect one of your servers has been hacked to send false timestamps |
239 |
# (or you suspect a bug in Services itself) enabling this directive |
240 |
# will eliminate the possibility of one user "stealing" another's nick |
241 |
# by pretending to have the same timestamp. |
242 |
# |
243 |
# You may also want to uncomment this directive if your servers' clocks |
244 |
# are very far apart; the less synchronized the servers' clocks are, |
245 |
# the greater the possibility of someone "taking over" another person's |
246 |
# nick when a server with a fast clock splits. |
247 |
# |
248 |
# NOTE: On DALnet 4.4.15+, Dreamforge, Bahamut, Unreal, and compatible |
249 |
# networks, Services takes advantage of an IRC server feature to assign |
250 |
# each user a permanent ID number, which significantly enhances the |
251 |
# security of this check. On such networks, you should almost always |
252 |
# leave this directive commented out. See section 3-1-2 of the manual |
253 |
# for details. |
254 |
|
255 |
#NoSplitRecovery |
256 |
|
257 |
# StrictPasswords [RECOMMENDED] |
258 |
# When enabled, causes Services to perform more stringent checks on |
259 |
# passwords. If this is disabled, Services will only disallow a |
260 |
# password if it is the same as the entity (nickname or channel name) |
261 |
# with which it is associated. When enabled, however, Services will |
262 |
# also check that the password is at least five characters long, and |
263 |
# disallow it if not. |
264 |
|
265 |
StrictPasswords |
266 |
|
267 |
# NoAdminPasswordCheck [OPTIONAL] |
268 |
# When enabled, allows Services administrators to set any password |
269 |
# for a nickname or channel (including their own), bypassing all of |
270 |
# the password checks. When disabled, Services administrators are |
271 |
# subject to the same password checks as ordinary users. |
272 |
|
273 |
#NoAdminPasswordCheck |
274 |
|
275 |
# BadPassLimit <count> [RECOMMENDED] |
276 |
# Sets the number of invalid password tries before Services removes a |
277 |
# user from the network. If a user enters <count> invalid passwords |
278 |
# for any Services function or combination of functions during a |
279 |
# single IRC session (subject to BadPassTimeout, below), Services will |
280 |
# issue a /KILL for the user. If not given, Services will ignore |
281 |
# failed password attempts (though they will be logged in any case). |
282 |
# Note that entering a correct password will _not_ reset this count. |
283 |
|
284 |
BadPassLimit 5 |
285 |
|
286 |
# BadPassTimeout <time> [OPTIONAL] |
287 |
# Sets the time after which invalid passwords are forgotten about. If |
288 |
# a user does not enter any incorrect passwords in this amount of time, |
289 |
# the incorrect password count will reset to zero. If not given, the |
290 |
# timeout will be disabled, and the incorrect password count will never |
291 |
# be reset until the user disconnects. |
292 |
|
293 |
BadPassTimeout 1h |
294 |
|
295 |
# BadPassWarning <count> [RECOMMENDED] |
296 |
# Sets the number of bad passwords _for a single nick or channel_ that |
297 |
# will be accepted before a warning is sent using WALLOPS/GLOBOPS. If |
298 |
# not given, no warnings will be sent. |
299 |
|
300 |
BadPassWarning 5 |
301 |
|
302 |
# IgnoreDecay <rate> [RECOMMENDED] |
303 |
# Services keeps track of an "ignore level" for each user, based on how |
304 |
# often the user sends commands to Services and how long those commands |
305 |
# take to execute; this directive specifies how quickly that level |
306 |
# returns to zero when the user idles. The parameter is the number of |
307 |
# seconds (possibly including a fractional part, like "0.5") it takes |
308 |
# for the ignore level to drop by half. |
309 |
# |
310 |
# If either this directive or IgnoreThreshold is not given, the ignore |
311 |
# code is disabled. |
312 |
|
313 |
IgnoreDecay 5 |
314 |
|
315 |
# IgnoreThreshold <level> [RECOMMENDED] |
316 |
# This directive specifies the ignore level at which Services decides |
317 |
# that a user is flooding Services and ignores that user. |
318 |
# |
319 |
# If either this directive or IgnoreDecay is not given, the ignore code |
320 |
# is disabled. |
321 |
|
322 |
IgnoreThreshold 0.1 |
323 |
|
324 |
# UpdateTimeout <time> [REQUIRED] |
325 |
# Sets the delay between automatic database updates. This timer is |
326 |
# reset by the OperServ UPDATE command. |
327 |
|
328 |
UpdateTimeout 5m |
329 |
|
330 |
# WarningTimeout <time> [REQUIRED] |
331 |
# Sets the interval between sending warning messages for program |
332 |
# errors via WALLOPS/GLOBOPS. |
333 |
|
334 |
WarningTimeout 4h |
335 |
|
336 |
# ReadTimeout <seconds> [REQUIRED] |
337 |
# Sets the timeout period for reading from the network; this is the |
338 |
# length of time Services will wait to receive data from an external |
339 |
# source if none is available before proceeding with other actions, |
340 |
# such as timeout checking. Note that the parameter is a number of |
341 |
# seconds, not a "time"; it may also include a fractional part, such as |
342 |
# "0.5". |
343 |
# |
344 |
# This value also influences the period between timeout checks; see the |
345 |
# TimeoutCheck directive below. |
346 |
|
347 |
ReadTimeout 3 |
348 |
|
349 |
# TimeoutCheck <seconds> [REQUIRED] |
350 |
# Sets the (maximum) frequency at which the timeout list is checked. |
351 |
# This, combined with ReadTimeout above, determine how accurately timed |
352 |
# events, such as nick kills, occur; it also determines how much CPU |
353 |
# time Services will use doing this. Higher values will cause less |
354 |
# accurate timing but less CPU usage. Note that the parameter is a |
355 |
# number of seconds, not a "time", and may include a fractional part. |
356 |
# |
357 |
# This shouldn't be set any higher than 10 seconds, and 1 second or |
358 |
# less is best if your system is powerful enough (or your network small |
359 |
# enough) to handle it. 0 will cause the timeout list to be checked |
360 |
# every time through the main loop, which provides the most accurate |
361 |
# timeout response but may require too much processing on large |
362 |
# networks. |
363 |
# |
364 |
# Note that if this value is smaller than ReadTimeout (above), then the |
365 |
# delay between checks of the timeout list may exceed the value given |
366 |
# here during periods of little or no network activity. |
367 |
|
368 |
TimeoutCheck 1.0 |
369 |
|
370 |
# PingFrequency <time> [OPTIONAL] |
371 |
# Sets the time after which Services sends a PING message to its uplink |
372 |
# if no other network activity has occurred. This can be useful if you |
373 |
# have a low-activity network and your server keeps dropping Services' |
374 |
# connection with "Ping timeout". If not set, Services will not send |
375 |
# PING messages. |
376 |
|
377 |
#PingFrequency 30s |
378 |
|
379 |
# MergeChannelModes <seconds> [OPTIONAL] |
380 |
# WARNING: This directive can have security implications; read |
381 |
# carefully before enabling. |
382 |
# |
383 |
# If this directive is given, it causes Services to not send out |
384 |
# channel mode changes immediately, but to wait for the given number of |
385 |
# seconds (which may be fractional) and collect all channel modes to |
386 |
# send in a single command. For example, if two users enter a channel |
387 |
# at nearly the same time and both of them are to be opped, instead of |
388 |
# sending two MODE +o commands, Services will send a single MODE +oo |
389 |
# command. This option can help with large channels in reducing mode |
390 |
# floods, particularly when Services first connects or a server |
391 |
# reconnects after a split; however, the sending of the mode command |
392 |
# will be slightly delayed, so that the users will have to wait a short |
393 |
# time before getting chanop privileges. Furthermore, since this |
394 |
# increases the time before deops, etc. occur, users can take advantage |
395 |
# of netsplits to "steal ops" for a short time before Services responds. |
396 |
# |
397 |
# Services will never send out more than six parameters with each MODE |
398 |
# command (this limit is part of the IRC protocol specification). If |
399 |
# more than six +o, +v, etc. modes are to be sent, Services will send |
400 |
# them out six at a time without waiting for the timeout given with |
401 |
# this directive. Also, if more than MERGE_CHANMODE_SLOTS (defined in |
402 |
# defs.h; default 3) channels receive modes before the timeout expires, |
403 |
# those modes will similarly be sent out at that time. |
404 |
# |
405 |
# Note that the actual sending of the MODE command may be delayed by as |
406 |
# much as the TimeoutCheck value; if you use this option, then in |
407 |
# general you should set TimeoutCheck to the same (or a smaller) value. |
408 |
# Also, on networks with little traffic there may be an additional |
409 |
# delay up to the value of ReadTimeout before the modes are sent. |
410 |
# |
411 |
# If this option is not set, Services will still collect all mode changes |
412 |
# resulting from a single event (such as a user joining a channel) and |
413 |
# send them in a single message as soon as the event processing finishes. |
414 |
|
415 |
#MergeChannelModes 0.5 |
416 |
|
417 |
# NetBufferSize <total-size> [<per-connection-size>] [RECOMMENDED] |
418 |
# Sets the maximum amount of memory used by network connection buffers. |
419 |
# If a second parameter is given, it sets the maximum amount of memory |
420 |
# used by a single connection; if not given, this defaults to the same |
421 |
# as the total limit. |
422 |
|
423 |
NetBufferSize 4194304 1048576 # 4MB and 1MB |
424 |
|
425 |
# NetBufferLimit <inactive-limit> [<ignore-limit>] [RECOMMENDED] |
426 |
# Sets the threshold at which Services sends a "busy" reply to PRIVMSGs |
427 |
# (<inactive-limit>) and at which Services ignores PRIVMSGs entirely |
428 |
# (<ignore-limit>). Both thresholds apply to non-operator users only; |
429 |
# PRIVMSGs from IRC operators will always be processed normally. A |
430 |
# WALLOPS/GLOBOPS message will be sent when Services exceeds or drops |
431 |
# below either of the thresholds. If the thresholds are set to the |
432 |
# same value, "busy" messages will never be sent. |
433 |
# |
434 |
# The thresholds are expressed as percentages of the value(s) given for |
435 |
# NetBufferSize above. If both a total size limit and a per-connection |
436 |
# size limit are specified, the higher of the two percentages is |
437 |
# checked against these thresholds. |
438 |
# |
439 |
# If NetBufferSize is not specified, NetBufferLimit has no effect. |
440 |
|
441 |
NetBufferLimit 80 95 |
442 |
|
443 |
########################################################################### |
444 |
# |
445 |
# Miscellaneous settings |
446 |
# |
447 |
########################################################################### |
448 |
|
449 |
# These are settings which don't belong anywhere else, or which would |
450 |
# be module settings but apply to multiple modules. |
451 |
|
452 |
# EncryptionType <type> [OPTIONAL] |
453 |
# Specifies the type of encryption to be used when storing new |
454 |
# passwords. Changing this has no effect on passwords previously set. |
455 |
# If not specified, new passwords will not be encrypted. |
456 |
|
457 |
#EncryptionType md5 |
458 |
|
459 |
# GuestNickPrefix <value> [REQUIRED] |
460 |
# Sets the nickname prefix used when Services changes a user's |
461 |
# nickname (for example, from the "NSForceNickChange" NickServ option). |
462 |
# A unique series of digits will be appended to this string to form the |
463 |
# new nickname. This option is ignored for IRC servers which do not |
464 |
# allow remote clients' nicknames to be forcibly changed, but it must |
465 |
# be set to something anyway. |
466 |
|
467 |
GuestNickPrefix "Guest" |
468 |
|
469 |
# RejectEmail [OPTIONAL] |
470 |
# Specifies E-mail addresses (which may include wildcards) which are |
471 |
# not allowed to be used in nickname or channel registration. This |
472 |
# directive can be given multiple times to disallow multiple addresses |
473 |
# or address masks. |
474 |
|
475 |
#RejectEmail *@example.com |
476 |
|
477 |
# DefTimeZone <time-zone> [OPTIONAL] |
478 |
# Sets the time zone to be used for displaying the time of day with |
479 |
# certain commands, such as NickServ INFO. If not given, the system's |
480 |
# default time zone (the value of the TZ environment variable) is used. |
481 |
# <time-zone> is the name of the time zone to be used; consult your |
482 |
# system manual for how time zone names are specified on your system. |
483 |
# Note that users can set time zones for their own nicknames |
484 |
# independently; this setting is only used as a default. The |
485 |
# following example will cause Services to use United States Pacific |
486 |
# time on most systems: |
487 |
|
488 |
#DefTimeZone PST8PDT |
489 |
|
490 |
# ListMax <count> [REQUIRED] |
491 |
# Specifies the maximum number of nicks to be returned for commands |
492 |
# that return a list of items, such as NickServ LIST and LISTEMAIL |
493 |
# or OperServ AKILL LIST. |
494 |
|
495 |
ListMax 50 |
496 |
|
497 |
# LogMaxUsers [OPTIONAL] |
498 |
# Causes Services to write a message to the log every time a new |
499 |
# user maximum is reached. |
500 |
|
501 |
LogMaxUsers |
502 |
|
503 |
# EnableGetpass [OPTIONAL] |
504 |
# Allows use of the NickServ and ChanServ GETPASS commands. |
505 |
|
506 |
EnableGetpass |
507 |
|
508 |
# WallAdminPrivs [OPTIONAL] |
509 |
# Causes Services to send a WALLOPS/GLOBOPS whenever a Services |
510 |
# administrator uses those privileges to perform a NickServ or |
511 |
# ChanServ operation (such as setting a nickname or channel |
512 |
# password). |
513 |
|
514 |
#WallAdminPrivs |
515 |
|
516 |
# LoadLanguageText [OPTIONAL] |
517 |
# Loads replacement text for language-specific strings from the given |
518 |
# file. Relative pathnames are relative to the Services data |
519 |
# directory. See section 3-9 of the manual for the file format. |
520 |
|
521 |
#LoadLanguageText mytext.l |
522 |
|
523 |
########################################################################### |
524 |
# |
525 |
# Modules to load |
526 |
# |
527 |
########################################################################### |
528 |
|
529 |
# The remainder of this file lists which modules should be loaded by |
530 |
# Services at startup. Note that modules are loaded in the order they are |
531 |
# listed in this file; some modules depend on others, and if they are given |
532 |
# in the wrong order, Services may not be able to start! |
533 |
# |
534 |
# Modules are loaded using the LoadModule directive, which has the format: |
535 |
# LoadModule <module name> |
536 |
# Available module names are listed below. |
537 |
|
538 |
########################################################################### |
539 |
|
540 |
# Base IRC protocol module [REQUIRED] |
541 |
# These modules provide the base functionality for communicating with |
542 |
# the remote IRC server, and MUST be loaded before any other module. |
543 |
# Select the module which matches the IRC server you are using: |
544 |
# protocol/bahamut DALnet Bahamut server, versions 1.4.25+ |
545 |
# protocol/dalnet DALnet server, version 4.4.13 and earlier |
546 |
# protocol/dreamforge DALnet Dreamforge server, versions 4.4.15+ |
547 |
# protocol/hybrid Hybrid server, version 7.0 |
548 |
# protocol/inspircd InspIRCd server, version 1.1 and later |
549 |
# protocol/monkey Chunky Monkey IRCD, version 1.0 and later |
550 |
# protocol/ptlink PTlink IRC server, version 6.0 and later |
551 |
# protocol/ratbox ircd-ratbox server, all versions |
552 |
# protocol/rfc1459 RFC1459-compliant servers |
553 |
# protocol/solidircd solid-ircd server, all versions |
554 |
# protocol/trircd Trircd server, version 5.5 and later |
555 |
# protocol/ts8 RFC1459 with TS8 extensions |
556 |
# protocol/undernet-p9 Undernet server, version 2.9.x only |
557 |
# protocol/unreal Unreal server, version 3.1.1 and later |
558 |
|
559 |
#LoadModule protocol/(insert protocol name here) |
560 |
|
561 |
########################################################################### |
562 |
|
563 |
# Encryption modules [OPTIONAL] |
564 |
# These modules enable encryption of passwords used in Services. |
565 |
# Encryption provides a measure of safety against having passwords |
566 |
# stolen even if someone gains access to the Services databases. |
567 |
# Encryption modules MUST be loaded before database modules (below). |
568 |
# |
569 |
# Loading encryption modules makes them available for use in decrypting |
570 |
# previously set passwords, but unless you set the EncryptionType |
571 |
# directive as well, new passwords will not be encrypted. |
572 |
# |
573 |
# WARNING: Depending on the encryption type used, you may not be able |
574 |
# to recover the original passwords once they are encrypted! Modules |
575 |
# with this behavior are marked "(ONE-WAY)" below. |
576 |
# |
577 |
# Encryption modules available: |
578 |
# encryption/md5 Encryption using the MD5 message-digest |
579 |
# algorithm (ONE-WAY) |
580 |
# encryption/unix-crypt Encryption using the DES-based Unix |
581 |
# crypt() function (ONE-WAY) |
582 |
|
583 |
LoadModule encryption/md5 |
584 |
LoadModule encryption/unix-crypt |
585 |
|
586 |
########################################################################### |
587 |
|
588 |
# Database access module [RECOMMENDED] |
589 |
# These modules provide access to permanent storage for data used by |
590 |
# various Services modules. You can run Services without a database |
591 |
# module loaded, but (except for testing and experimentation) you |
592 |
# probably won't find it very useful! Select the module corresponding |
593 |
# to the type of database you want to use: |
594 |
# database/standard Standard database module (file-based) |
595 |
# database/version4 Database files compatible with version |
596 |
# 4.5.x and 5.0.x of Services |
597 |
|
598 |
LoadModule database/standard |
599 |
#LoadModule database/version4 |
600 |
|
601 |
########################################################################### |
602 |
|
603 |
# Mail-sending modules [OPTIONAL] |
604 |
# This set of modules allows Services to send E-mail. This feature is |
605 |
# currently used to forward memos via E-mail and implement E-mail |
606 |
# address confirmation. Two modules must be loaded to use mail, the |
607 |
# main module (mail/main) and one of the following low-level modules: |
608 |
# mail/smtp [RECOMMENDED] |
609 |
# Sends mail via the SMTP protocol. |
610 |
# mail/sendmail [DISCOURAGED] |
611 |
# Sends mail via a "sendmail" program. This module should |
612 |
# not be used unless you cannot send mail via SMTP. |
613 |
|
614 |
LoadModule mail/main |
615 |
LoadModule mail/smtp |
616 |
#LoadModule mail/sendmail |
617 |
|
618 |
########################################################################### |
619 |
|
620 |
# OperServ modules [RECOMMENDED] |
621 |
# These modules provide functionality for IRC operators, and allow |
622 |
# overall management of Services and the IRC network. The base module, |
623 |
# "operserv/main", contains basic functions, such as channel mode |
624 |
# changing via Services, juping (banning from the network) of servers, |
625 |
# management of Services operator/administrator lists, and control of |
626 |
# Services itself (settings and shutdown/restart). Additionally, the |
627 |
# following add-on modules are available: |
628 |
# |
629 |
# operserv/akill [RECOMMENDED] |
630 |
# Allows the use of autokills, which prevent users matching |
631 |
# certain masks from connecting to the network. |
632 |
# |
633 |
# operserv/news [OPTIONAL] |
634 |
# Adds a "news" system, which can be used to send automated |
635 |
# messages to users when they log onto the network, or to IRC |
636 |
# operators when they gain operator privileges. |
637 |
# |
638 |
# operserv/sessions [OPTIONAL] |
639 |
# Monitors connections to the network, and sends a warning when |
640 |
# a large number of connections (often a sign of "cloning") are |
641 |
# initiated from the same host, optionally killing the users as |
642 |
# well. However, this module consumes a good deal of CPU time, |
643 |
# and may slow down Services too much to be usable on large |
644 |
# networks. |
645 |
# |
646 |
# operserv/sline [OPTIONAL] |
647 |
# Allows the use of S-lines, alternative types of autokills |
648 |
# which can be used to match against users' nicknames, "real |
649 |
# names" or IP addresses. (Note that matching against IP |
650 |
# addresses will not work unless your IRC server supports this |
651 |
# feature; currently, only the Bahamut server is known to |
652 |
# support this.) |
653 |
|
654 |
LoadModule operserv/main |
655 |
LoadModule operserv/akill |
656 |
LoadModule operserv/news |
657 |
LoadModule operserv/sessions |
658 |
LoadModule operserv/sline |
659 |
|
660 |
########################################################################### |
661 |
|
662 |
# NickServ modules [RECOMMENDED] |
663 |
# These modules provide for the registration of nicknames and |
664 |
# associated functions. The base module, "nickserv/main", provides the |
665 |
# core registration functionality, as well as commands to set nickname |
666 |
# options and maintain the nickname's access list. Additionally, the |
667 |
# following add-on modules are available: |
668 |
# |
669 |
# nickserv/access [OPTIONAL] |
670 |
# Allows users to be recognized for their nickname based on an |
671 |
# access list of user@host masks. Note that if the SECURE |
672 |
# option is set for the nick (which is the default), users will |
673 |
# still need to identify for their nicks, but if their address |
674 |
# is on the access list, Services will not issue nick kills or |
675 |
# change their nick. |
676 |
# |
677 |
# nickserv/autojoin [OPTIONAL] |
678 |
# Allows users to request that Services automatically make |
679 |
# them join certain channels upon identifying. This module |
680 |
# requires an IRC server which supports the SVSJOIN command; |
681 |
# currently, Unreal and trircd are known to support this. |
682 |
# |
683 |
# nickserv/link [OPTIONAL] |
684 |
# Allows users to create and remove links (aliases) to their |
685 |
# nickname using the LINK and UNLINK commands, and provides a |
686 |
# LISTLINKS command to list all links in a group of linked |
687 |
# nicks. |
688 |
# |
689 |
# nickserv/mail-auth [OPTIONAL; RECOMMENDED for large networks] |
690 |
# Allows verification of E-mail addresses for nicknames by |
691 |
# sending an authentication code to the address given in the |
692 |
# REGISTER or SET EMAIL command and disallowing identification |
693 |
# for the nick until the user sends the authentication code to |
694 |
# NickServ with the AUTH command. |
695 |
# |
696 |
# The "operserv/main" module is REQUIRED for all NickServ modules. |
697 |
|
698 |
LoadModule nickserv/main |
699 |
LoadModule nickserv/access |
700 |
#LoadModule nickserv/autojoin |
701 |
LoadModule nickserv/link |
702 |
LoadModule nickserv/mail-auth |
703 |
|
704 |
########################################################################### |
705 |
|
706 |
# ChanServ modules [RECOMMENDED] |
707 |
# These modules provide for the registration of channels and associated |
708 |
# functions. The base module, "chanserv/main", provides the core |
709 |
# registration functionality, as well as commands to set channel |
710 |
# options and maintain access and autokick lists for the channel. |
711 |
# Additionally, the following add-on modules are also available: |
712 |
# |
713 |
# chanserv/access-levels [OPTIONAL] |
714 |
# Allows modification of channels' access lists using the |
715 |
# ACCESS command, as well as modification of channel feature |
716 |
# access levels (such as auto-op or auto-voice) with the LEVELS |
717 |
# command. |
718 |
# |
719 |
# chanserv/access-xop [OPTIONAL] |
720 |
# Allows modification of channels' access lists using the SOP, |
721 |
# AOP, and VOP (as well as HOP on servers supporting halfops) |
722 |
# commands. This module may be used along with the |
723 |
# "chanserv/access-levels" module, but use of the LEVELS |
724 |
# command may cause unexpected behavior with respect to these |
725 |
# commands. |
726 |
# |
727 |
# The "operserv/main" and "nickserv/main" modules are REQUIRED for all |
728 |
# ChanServ modules. |
729 |
|
730 |
LoadModule chanserv/main |
731 |
LoadModule chanserv/access-levels |
732 |
#LoadModule chanserv/access-xop |
733 |
|
734 |
########################################################################### |
735 |
|
736 |
# MemoServ modules [RECOMMENDED] |
737 |
# These modules provide the ability to send "memos" (short messages) to |
738 |
# users who are offline, which the user can then read at a later time. |
739 |
# Memos may be sent to channels as well, and will be readable by anyone |
740 |
# who has the proper access in the channel. The base module, |
741 |
# "memoserv/main", provides this functionality. The following add-on |
742 |
# modules are also available: |
743 |
# |
744 |
# memoserv/forward [OPTIONAL] |
745 |
# Allows users to have their memos mailed to them instead of |
746 |
# storing them in Services' databases. |
747 |
# NOTE: This module requires the "nickserv/mail-auth" module. |
748 |
# |
749 |
# memoserv/ignore [RECOMMENDED] |
750 |
# Allows users to create a list of other users (by nickname or |
751 |
# user@host mask) who are not permitted to send them memos. |
752 |
# |
753 |
# The "operserv/main" and "nickserv/main" modules are REQUIRED for all |
754 |
# MemoServ modules. |
755 |
|
756 |
LoadModule memoserv/main |
757 |
LoadModule memoserv/forward |
758 |
LoadModule memoserv/ignore |
759 |
|
760 |
########################################################################### |
761 |
|
762 |
# StatServ modules [OPTIONAL] |
763 |
# These modules provide a system to keep track of detailed network |
764 |
# statistics. Services normally tracks the highest number of users |
765 |
# seen on the network, but StatServ can report on number of servers |
766 |
# online, number of users per server, and other information. The base |
767 |
# module is "statserv/main"; no add-on modules are currently available. |
768 |
|
769 |
LoadModule statserv/main |
770 |
|
771 |
########################################################################### |
772 |
|
773 |
# HelpServ module [OPTIONAL] |
774 |
# This module provides an online help system that can serve user- |
775 |
# configurable data. This is separate from the help messages used by |
776 |
# NickServ, ChanServ, and so on, and simply displays text files from a |
777 |
# directory (specified in modules.conf). This can be used, for example, |
778 |
# to provide network policy information, contact addresses and the like |
779 |
# in a central location. |
780 |
|
781 |
LoadModule misc/helpserv |
782 |
|
783 |
########################################################################### |
784 |
|
785 |
# DevNull module [OPTIONAL] |
786 |
# This module creates a pseudoclient which, like its Unix namesake |
787 |
# /dev/null, simply discards all messages sent to it. This module |
788 |
# serves little purpose other than being a toy of sorts, but the author |
789 |
# has found it occasionally useful as a /query target in ircII to avoid |
790 |
# sending /msg's to the wrong person. |
791 |
|
792 |
#LoadModule misc/devnull |
793 |
|
794 |
########################################################################### |
795 |
|
796 |
# HTTP server modules [OPTIONAL] |
797 |
# These modules add an HTTP server to Services, which can be used to |
798 |
# report on Services status, perform nickname and channel queries and |
799 |
# maintenance, and so on. The main module ("httpd/main") provides the |
800 |
# core server functionality; queries and such are handled by |
801 |
# sub-modules, as listed below: |
802 |
# |
803 |
# httpd/dbaccess [OPTIONAL] |
804 |
# Allows access to the Services database (nickname and channel |
805 |
# information, autokill list, ec.) via a web browser. |
806 |
# |
807 |
# httpd/debug [OPTIONAL] |
808 |
# Displays a "debug page" showing the data for the request |
809 |
# received by the server. Enabling this module does not allow |
810 |
# access to any internal Services data or otherwise cause |
811 |
# security problems, but as it does take up memory and have a |
812 |
# minor impact on performance, it should generally not be |
813 |
# enabled on production systems. |
814 |
# |
815 |
# httpd/redirect [OPTIONAL] |
816 |
# Redirects browsers to URLs associated with nicknames and |
817 |
# channels. For example, if a nick "SomeNick" had the URL |
818 |
# "http://somenick.org/" registered with NickServ, then |
819 |
# "http://services.example.net/~SomeNick/" would be redirected |
820 |
# to "http://somenick.org/". |
821 |
# |
822 |
# http/top-page [OPTIONAL] |
823 |
# Allows a file or redirect to be served for access to the top |
824 |
# page of the server (http://servername/). |
825 |
# |
826 |
# In addition, "authorization modules" are available to limit access |
827 |
# to certain resources. The following authorization modules are |
828 |
# available: |
829 |
# |
830 |
# httpd/auth-ip [OPTIONAL] |
831 |
# Restricts access to resources based on the client's IP |
832 |
# address. |
833 |
# |
834 |
# httpd/auth-password [OPTIONAL] |
835 |
# Restricts access to resources based on a username and |
836 |
# password. |
837 |
# |
838 |
# NOTE: Authorization modules are checked in the order in which they |
839 |
# are loaded, as are ordinary (request handler) modules. |
840 |
|
841 |
LoadModule httpd/main |
842 |
LoadModule httpd/auth-ip |
843 |
LoadModule httpd/auth-password |
844 |
#LoadModule httpd/dbaccess |
845 |
#LoadModule httpd/debug |
846 |
#LoadModule httpd/redirect |
847 |
#LoadModule httpd/top-page |
848 |
|
849 |
########################################################################### |
850 |
|
851 |
# Miscellaneous modules [OPTIONAL] |
852 |
# These are modules which do not fit easily into any other category: |
853 |
# |
854 |
# misc/xml-export |
855 |
# Provides the ability to export the Services database in XML |
856 |
# format. If this module is loaded, the httpd/dbaccess module |
857 |
# will use it to provide an XML download link. |
858 |
# |
859 |
# misc/xml-import |
860 |
# Provides the ability to import data in XML format (such as |
861 |
# another Services database). If this module is loaded, the |
862 |
# httpd/dbaccess module will use it to provide an XML |
863 |
# download link; note that XML importing via this link may |
864 |
# require the httpd/main RequestBufferSize setting in |
865 |
# modules.conf to be increased. This module requires the |
866 |
# chanserv/main module to be loaded. |
867 |
|
868 |
LoadModule misc/xml-export |
869 |
LoadModule misc/xml-import |
870 |
|
871 |
########################################################################### |
872 |
|
873 |
# End of example-ircservices.conf |