| 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 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 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 |
# 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 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 |
# protocol/hybrid Hybrid server, version 8 |
| 544 |
|
| 545 |
LoadModule protocol/hybrid |
| 546 |
|
| 547 |
########################################################################### |
| 548 |
|
| 549 |
# Encryption modules [OPTIONAL] |
| 550 |
# These modules enable encryption of passwords used in Services. |
| 551 |
# Encryption provides a measure of safety against having passwords |
| 552 |
# stolen even if someone gains access to the Services databases. |
| 553 |
# Encryption modules MUST be loaded before database modules (below). |
| 554 |
# |
| 555 |
# Loading encryption modules makes them available for use in decrypting |
| 556 |
# previously set passwords, but unless you set the EncryptionType |
| 557 |
# directive as well, new passwords will not be encrypted. |
| 558 |
# |
| 559 |
# WARNING: Depending on the encryption type used, you may not be able |
| 560 |
# to recover the original passwords once they are encrypted! Modules |
| 561 |
# with this behavior are marked "(ONE-WAY)" below. |
| 562 |
# |
| 563 |
# Encryption modules available: |
| 564 |
# encryption/md5 Encryption using the MD5 message-digest |
| 565 |
# algorithm (ONE-WAY) |
| 566 |
# encryption/unix-crypt Encryption using the DES-based Unix |
| 567 |
# crypt() function (ONE-WAY) |
| 568 |
|
| 569 |
LoadModule encryption/md5 |
| 570 |
LoadModule encryption/unix-crypt |
| 571 |
|
| 572 |
########################################################################### |
| 573 |
|
| 574 |
# Database access module [RECOMMENDED] |
| 575 |
# These modules provide access to permanent storage for data used by |
| 576 |
# various Services modules. You can run Services without a database |
| 577 |
# module loaded, but (except for testing and experimentation) you |
| 578 |
# probably won't find it very useful! Select the module corresponding |
| 579 |
# to the type of database you want to use: |
| 580 |
# database/standard Standard database module (file-based) |
| 581 |
# database/version4 Database files compatible with version |
| 582 |
# 4.5.x and 5.0.x of Services |
| 583 |
|
| 584 |
LoadModule database/standard |
| 585 |
#LoadModule database/version4 |
| 586 |
|
| 587 |
########################################################################### |
| 588 |
|
| 589 |
# Mail-sending modules [OPTIONAL] |
| 590 |
# This set of modules allows Services to send E-mail. This feature is |
| 591 |
# currently used to forward memos via E-mail and implement E-mail |
| 592 |
# address confirmation. Two modules must be loaded to use mail, the |
| 593 |
# main module (mail/main) and one of the following low-level modules: |
| 594 |
# mail/smtp [RECOMMENDED] |
| 595 |
# Sends mail via the SMTP protocol. |
| 596 |
# mail/sendmail [DISCOURAGED] |
| 597 |
# Sends mail via a "sendmail" program. This module should |
| 598 |
# not be used unless you cannot send mail via SMTP. |
| 599 |
|
| 600 |
LoadModule mail/main |
| 601 |
LoadModule mail/smtp |
| 602 |
#LoadModule mail/sendmail |
| 603 |
|
| 604 |
########################################################################### |
| 605 |
|
| 606 |
# OperServ modules [RECOMMENDED] |
| 607 |
# These modules provide functionality for IRC operators, and allow |
| 608 |
# overall management of Services and the IRC network. The base module, |
| 609 |
# "operserv/main", contains basic functions, such as channel mode |
| 610 |
# changing via Services, juping (banning from the network) of servers, |
| 611 |
# management of Services operator/administrator lists, and control of |
| 612 |
# Services itself (settings and shutdown/restart). Additionally, the |
| 613 |
# following add-on modules are available: |
| 614 |
# |
| 615 |
# operserv/akill [RECOMMENDED] |
| 616 |
# Allows the use of autokills, which prevent users matching |
| 617 |
# certain masks from connecting to the network. |
| 618 |
# |
| 619 |
# operserv/news [OPTIONAL] |
| 620 |
# Adds a "news" system, which can be used to send automated |
| 621 |
# messages to users when they log onto the network, or to IRC |
| 622 |
# operators when they gain operator privileges. |
| 623 |
# |
| 624 |
# operserv/sessions [OPTIONAL] |
| 625 |
# Monitors connections to the network, and sends a warning when |
| 626 |
# a large number of connections (often a sign of "cloning") are |
| 627 |
# initiated from the same host, optionally killing the users as |
| 628 |
# well. However, this module consumes a good deal of CPU time, |
| 629 |
# and may slow down Services too much to be usable on large |
| 630 |
# networks. |
| 631 |
# |
| 632 |
# operserv/sline [OPTIONAL] |
| 633 |
# Allows the use of S-lines, alternative types of autokills |
| 634 |
# which can be used to match against users' nicknames, "real |
| 635 |
# names" or IP addresses. (Note that matching against IP |
| 636 |
# addresses will not work unless your IRC server supports this |
| 637 |
# feature; currently, only the Bahamut server is known to |
| 638 |
# support this.) |
| 639 |
|
| 640 |
LoadModule operserv/main |
| 641 |
LoadModule operserv/akill |
| 642 |
LoadModule operserv/news |
| 643 |
LoadModule operserv/sessions |
| 644 |
LoadModule operserv/sline |
| 645 |
|
| 646 |
########################################################################### |
| 647 |
|
| 648 |
# NickServ modules [RECOMMENDED] |
| 649 |
# These modules provide for the registration of nicknames and |
| 650 |
# associated functions. The base module, "nickserv/main", provides the |
| 651 |
# core registration functionality, as well as commands to set nickname |
| 652 |
# options and maintain the nickname's access list. Additionally, the |
| 653 |
# following add-on modules are available: |
| 654 |
# |
| 655 |
# nickserv/access [OPTIONAL] |
| 656 |
# Allows users to be recognized for their nickname based on an |
| 657 |
# access list of user@host masks. Note that if the SECURE |
| 658 |
# option is set for the nick (which is the default), users will |
| 659 |
# still need to identify for their nicks, but if their address |
| 660 |
# is on the access list, Services will not issue nick kills or |
| 661 |
# change their nick. |
| 662 |
# |
| 663 |
# nickserv/autojoin [OPTIONAL] |
| 664 |
# Allows users to request that Services automatically make |
| 665 |
# them join certain channels upon identifying. This module |
| 666 |
# requires an IRC server which supports the SVSJOIN command; |
| 667 |
# currently, Unreal and trircd are known to support this. |
| 668 |
# |
| 669 |
# nickserv/link [OPTIONAL] |
| 670 |
# Allows users to create and remove links (aliases) to their |
| 671 |
# nickname using the LINK and UNLINK commands, and provides a |
| 672 |
# LISTLINKS command to list all links in a group of linked |
| 673 |
# nicks. |
| 674 |
# |
| 675 |
# nickserv/mail-auth [OPTIONAL; RECOMMENDED for large networks] |
| 676 |
# Allows verification of E-mail addresses for nicknames by |
| 677 |
# sending an authentication code to the address given in the |
| 678 |
# REGISTER or SET EMAIL command and disallowing identification |
| 679 |
# for the nick until the user sends the authentication code to |
| 680 |
# NickServ with the AUTH command. |
| 681 |
# |
| 682 |
# The "operserv/main" module is REQUIRED for all NickServ modules. |
| 683 |
|
| 684 |
LoadModule nickserv/main |
| 685 |
LoadModule nickserv/access |
| 686 |
#LoadModule nickserv/autojoin |
| 687 |
LoadModule nickserv/link |
| 688 |
LoadModule nickserv/mail-auth |
| 689 |
|
| 690 |
########################################################################### |
| 691 |
|
| 692 |
# ChanServ modules [RECOMMENDED] |
| 693 |
# These modules provide for the registration of channels and associated |
| 694 |
# functions. The base module, "chanserv/main", provides the core |
| 695 |
# registration functionality, as well as commands to set channel |
| 696 |
# options and maintain access and autokick lists for the channel. |
| 697 |
# Additionally, the following add-on modules are also available: |
| 698 |
# |
| 699 |
# chanserv/access-levels [OPTIONAL] |
| 700 |
# Allows modification of channels' access lists using the |
| 701 |
# ACCESS command, as well as modification of channel feature |
| 702 |
# access levels (such as auto-op or auto-voice) with the LEVELS |
| 703 |
# command. |
| 704 |
# |
| 705 |
# chanserv/access-xop [OPTIONAL] |
| 706 |
# Allows modification of channels' access lists using the SOP, |
| 707 |
# AOP, and VOP (as well as HOP on servers supporting halfops) |
| 708 |
# commands. This module may be used along with the |
| 709 |
# "chanserv/access-levels" module, but use of the LEVELS |
| 710 |
# command may cause unexpected behavior with respect to these |
| 711 |
# commands. |
| 712 |
# |
| 713 |
# The "operserv/main" and "nickserv/main" modules are REQUIRED for all |
| 714 |
# ChanServ modules. |
| 715 |
|
| 716 |
LoadModule chanserv/main |
| 717 |
LoadModule chanserv/access-levels |
| 718 |
#LoadModule chanserv/access-xop |
| 719 |
|
| 720 |
########################################################################### |
| 721 |
|
| 722 |
# MemoServ modules [RECOMMENDED] |
| 723 |
# These modules provide the ability to send "memos" (short messages) to |
| 724 |
# users who are offline, which the user can then read at a later time. |
| 725 |
# Memos may be sent to channels as well, and will be readable by anyone |
| 726 |
# who has the proper access in the channel. The base module, |
| 727 |
# "memoserv/main", provides this functionality. The following add-on |
| 728 |
# modules are also available: |
| 729 |
# |
| 730 |
# memoserv/forward [OPTIONAL] |
| 731 |
# Allows users to have their memos mailed to them instead of |
| 732 |
# storing them in Services' databases. |
| 733 |
# NOTE: This module requires the "nickserv/mail-auth" module. |
| 734 |
# |
| 735 |
# memoserv/ignore [RECOMMENDED] |
| 736 |
# Allows users to create a list of other users (by nickname or |
| 737 |
# user@host mask) who are not permitted to send them memos. |
| 738 |
# |
| 739 |
# The "operserv/main" and "nickserv/main" modules are REQUIRED for all |
| 740 |
# MemoServ modules. |
| 741 |
|
| 742 |
LoadModule memoserv/main |
| 743 |
LoadModule memoserv/forward |
| 744 |
LoadModule memoserv/ignore |
| 745 |
|
| 746 |
########################################################################### |
| 747 |
|
| 748 |
# StatServ modules [OPTIONAL] |
| 749 |
# These modules provide a system to keep track of detailed network |
| 750 |
# statistics. Services normally tracks the highest number of users |
| 751 |
# seen on the network, but StatServ can report on number of servers |
| 752 |
# online, number of users per server, and other information. The base |
| 753 |
# module is "statserv/main"; no add-on modules are currently available. |
| 754 |
|
| 755 |
LoadModule statserv/main |
| 756 |
|
| 757 |
########################################################################### |
| 758 |
|
| 759 |
# HelpServ module [OPTIONAL] |
| 760 |
# This module provides an online help system that can serve user- |
| 761 |
# configurable data. This is separate from the help messages used by |
| 762 |
# NickServ, ChanServ, and so on, and simply displays text files from a |
| 763 |
# directory (specified in modules.conf). This can be used, for example, |
| 764 |
# to provide network policy information, contact addresses and the like |
| 765 |
# in a central location. |
| 766 |
|
| 767 |
LoadModule misc/helpserv |
| 768 |
|
| 769 |
########################################################################### |
| 770 |
|
| 771 |
# DevNull module [OPTIONAL] |
| 772 |
# This module creates a pseudoclient which, like its Unix namesake |
| 773 |
# /dev/null, simply discards all messages sent to it. This module |
| 774 |
# serves little purpose other than being a toy of sorts, but the author |
| 775 |
# has found it occasionally useful as a /query target in ircII to avoid |
| 776 |
# sending /msg's to the wrong person. |
| 777 |
|
| 778 |
#LoadModule misc/devnull |
| 779 |
|
| 780 |
########################################################################### |
| 781 |
|
| 782 |
# HTTP server modules [OPTIONAL] |
| 783 |
# These modules add an HTTP server to Services, which can be used to |
| 784 |
# report on Services status, perform nickname and channel queries and |
| 785 |
# maintenance, and so on. The main module ("httpd/main") provides the |
| 786 |
# core server functionality; queries and such are handled by |
| 787 |
# sub-modules, as listed below: |
| 788 |
# |
| 789 |
# httpd/dbaccess [OPTIONAL] |
| 790 |
# Allows access to the Services database (nickname and channel |
| 791 |
# information, autokill list, ec.) via a web browser. |
| 792 |
# |
| 793 |
# httpd/debug [OPTIONAL] |
| 794 |
# Displays a "debug page" showing the data for the request |
| 795 |
# received by the server. Enabling this module does not allow |
| 796 |
# access to any internal Services data or otherwise cause |
| 797 |
# security problems, but as it does take up memory and have a |
| 798 |
# minor impact on performance, it should generally not be |
| 799 |
# enabled on production systems. |
| 800 |
# |
| 801 |
# httpd/redirect [OPTIONAL] |
| 802 |
# Redirects browsers to URLs associated with nicknames and |
| 803 |
# channels. For example, if a nick "SomeNick" had the URL |
| 804 |
# "http://somenick.org/" registered with NickServ, then |
| 805 |
# "http://services.example.net/~SomeNick/" would be redirected |
| 806 |
# to "http://somenick.org/". |
| 807 |
# |
| 808 |
# http/top-page [OPTIONAL] |
| 809 |
# Allows a file or redirect to be served for access to the top |
| 810 |
# page of the server (http://servername/). |
| 811 |
# |
| 812 |
# In addition, "authorization modules" are available to limit access |
| 813 |
# to certain resources. The following authorization modules are |
| 814 |
# available: |
| 815 |
# |
| 816 |
# httpd/auth-ip [OPTIONAL] |
| 817 |
# Restricts access to resources based on the client's IP |
| 818 |
# address. |
| 819 |
# |
| 820 |
# httpd/auth-password [OPTIONAL] |
| 821 |
# Restricts access to resources based on a username and |
| 822 |
# password. |
| 823 |
# |
| 824 |
# NOTE: Authorization modules are checked in the order in which they |
| 825 |
# are loaded, as are ordinary (request handler) modules. |
| 826 |
|
| 827 |
LoadModule httpd/main |
| 828 |
LoadModule httpd/auth-ip |
| 829 |
LoadModule httpd/auth-password |
| 830 |
#LoadModule httpd/dbaccess |
| 831 |
#LoadModule httpd/debug |
| 832 |
#LoadModule httpd/redirect |
| 833 |
#LoadModule httpd/top-page |
| 834 |
|
| 835 |
########################################################################### |
| 836 |
|
| 837 |
# Miscellaneous modules [OPTIONAL] |
| 838 |
# These are modules which do not fit easily into any other category: |
| 839 |
# |
| 840 |
# misc/xml-export |
| 841 |
# Provides the ability to export the Services database in XML |
| 842 |
# format. If this module is loaded, the httpd/dbaccess module |
| 843 |
# will use it to provide an XML download link. |
| 844 |
# |
| 845 |
# misc/xml-import |
| 846 |
# Provides the ability to import data in XML format (such as |
| 847 |
# another Services database). If this module is loaded, the |
| 848 |
# httpd/dbaccess module will use it to provide an XML |
| 849 |
# download link; note that XML importing via this link may |
| 850 |
# require the httpd/main RequestBufferSize setting in |
| 851 |
# modules.conf to be increased. This module requires the |
| 852 |
# chanserv/main module to be loaded. |
| 853 |
|
| 854 |
LoadModule misc/xml-export |
| 855 |
LoadModule misc/xml-import |
| 856 |
|
| 857 |
########################################################################### |
| 858 |
|
| 859 |
# End of example-ircservices.conf |