# Example configuration file for Services. After making the appropriate # changes to this file, place it in the Services data directory (as # specified in the "configure" script, default /usr/local/lib/ircservices) # under the name "ircservices.conf". # # The format of this file is fairly simple: a line beginning with a # is a # comment, and any other non-blank line is expected to be a directive and # parameters, separated by spaces or tabs. For example: # # Directive Parameter-1 Parameter-2 ... # # Directives are case-insensitive. Note that some directives do not take # any parameters; these are typically "on-off" directives, for which simply # including the directive in this file (or removing it) has an effect on # Services' functionality. # # If a parameter's value is a string which includes spaces, enclose the # string in double quotation marks, like the example below. Quotes may be # used around any string at all for clarity. # # "This is a parameter string with spaces in it" # # If you need to include a double quote inside a quoted string, precede it # by a backslash: # # "This string has \"double quotes\" in it" # # A backslash can likewise be included by preceding it with another # backslash. # # Time parameters can be specified either as an integer representing a # number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit # specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days. # Combinations (such as "1h30m") are also permitted. Examples (all of which # represent the same length of time, one day): # # "86400", "86400s", "1440m", "24h", "1d", "23h60m", "23h59m60s" # # In the documentation for each directive, one of the following will be # included to indicate whether an option is required: # # [REQUIRED] # Indicates a directive which must be given. Without it, Services will # not start. # # [RECOMMENDED] # Indicates a directive which may be omitted, but omitting it may cause # undesirable side effects. # # [OPTIONAL] # Indicates a directive which is optional. If not given, the feature # will typically be disabled. If this is not the case, more # information will be given in the documentation. # # [DISCOURAGED] # Indicates a directive which may cause undesirable side effects if # specified. # # [DEPRECATED] # Indicates a directive which will disappear in a future version of # Services, usually because its functionality has been either # superseded by that of other directives or incorporated into the main # program. ########################################################################### # # Remote server configuration # ########################################################################### # RemoteServer [REQUIRED] # Specifies the remote server hostname and port. The hostname may # either be a standard Internet hostname or dotted-quad numeric # address; the port number must be an integer between 1 and 65535 # inclusive. The password is a string which should be enclosed in # double quotes if it contains any spaces (or just for clarity). # Make sure to uncomment the directive (remove the leading "#") before # running Services. # # The remote server and port may be overridden at runtime with the # -remote command-line option. The password may not be set at runtime. RemoteServer 127.0.0.1 7000 "XXXXXX" # LocalAddress [] [OPTIONAL] # Specifies the local address to bind to before connecting to the # remote server. This may be useful on multihomed hosts. The hostname # and port number are specified the same way as with the RemoteServer # directive. If this is not specified, Services will let the operating # system choose the local address. If only a hostname is specified, # Services will bind to that address but let the operating system # choose the local port number. # # If you don't know what this means or don't need to use it, just leave # the directive commented out. #LocalAddress host.name.here #LocalAddress host.name.here 6677 ########################################################################### # # Services identification # ########################################################################### # ServerName [REQUIRED] # Specifies the IRC server name which Services should use when it # connects to the network. ServerName "noob.rc6.org" # ServerDesc [REQUIRED] # Specifies the text which should appear as the server's information in # /whois and similar queries. ServerDesc "Services for rc6.org" # ServiceUser [REQUIRED] # Specifies the user@host mask which should be used by the Services # pseudoclients. ServiceUser "services@rc6.org" ########################################################################### # # Unix group and umask to use # ########################################################################### # RunGroup [OPTIONAL] # Specify the group which Services should run as. can be # either a group name or an equals sign ("=") followed by a group ID. # If not specified, Services will use the group ID it is started with. # Note that Unix setgid permission on the executable file will do the # same thing, but the setgid permission bit is cleared whenever the # file is modified, while this setting will always be used (if the # system permits it) when Services is started. #RunGroup services #RunGroup =65534 # A common value for the "nogroup" group # Umask [RECOMMENDED] # Sets the umask (file creation mask) for Services. This mask is # applied to all data files created by Services, including database # files (which are recreated on every database update) and the process # ID file (PIDFilename, below), and indicates which file permission # bits are NOT to be set on those files as an octal value. Common # values are given in the examples below. If not specified, the umask # in place when Services is started will be used. Umask 077 # Disallows access to all but file owner # (recommended when RunGroup is not set) #Umask 007 # Allows access to members of file group as well # (recommended when RunGroup is set) ########################################################################### # # Services data filenames # ########################################################################### # NOTE: All filenames are relative to the Services data directory. # LogFilename [REQUIRED] # Specifies the name of the file into which Services will log data. # May be overridden by the -log command-line option. If this name # contains "%y", "%m", or "%d", they will be replaced by the current # year, month, or day, respectively, and the logfile will be # automatically rotated as needed when the date changes. LogFilename ircservices.log # PIDFilename [REQUIRED] # Specifies the name of the file containing Services' process ID. # Note that if you change this filename, and you are using the # "ircservices-chk" crontab script provided with Services, you will # need to change the filename in that file as well. PIDFilename ircservices.pid # MOTDFilename [REQUIRED] # Specifies the name of the Message of the Day file. MOTDFilename ircservices.motd # LockFilename [REQUIRED] # Specifies the name of the data directory lock file. This file is # created in the data directory when Services begins updating # databases, and is removed after the databases are updated. If the # file already exists when Services tries to update the databases, # Services sends a warning (via wallops) and does not write any data. LockFilename .lock ########################################################################### # # Basic functionality # ########################################################################### # NoBouncyModes [OPTIONAL] # Normally, Services will check for the remote IRC server reversing its # mode changes, and issue a warning (and stop changing modes) if it # detects such a problem. However, the detection will sometimes # trigger even when there is no problem, thus preventing channel # mode-locks and other features from working. If you specify this # directive, Services will not check for mode bouncing, which can avoid # this problem if you know your servers are set up correctly. # # WARNING: setting this option when your servers are incorrectly # configured can result in flooding! #NoBouncyModes # NoSplitRecovery [OPTIONAL] # Disables Services' recognition of users returning from netsplits. # Normally (on networks with some sort of timestamp support in the IRC # server), Services will check via the timestamp field whether a user # is the same as the last user who identified for the nick, and allow # the user access to that nick without requiring identification again # if the timestamps match. Enabling this directive will force all # users to re-identify after a netsplit. # # It's generally easier on users to leave this disabled, but if you # suspect one of your servers has been hacked to send false timestamps # (or you suspect a bug in Services itself) enabling this directive # will eliminate the possibility of one user "stealing" another's nick # by pretending to have the same timestamp. # # You may also want to uncomment this directive if your servers' clocks # are very far apart; the less synchronized the servers' clocks are, # the greater the possibility of someone "taking over" another person's # nick when a server with a fast clock splits. # # NOTE: On DALnet 4.4.15+, Dreamforge, Bahamut, Unreal, and compatible # networks, Services takes advantage of an IRC server feature to assign # each user a permanent ID number, which significantly enhances the # security of this check. On such networks, you should almost always # leave this directive commented out. See section 3-1-2 of the manual # for details. #NoSplitRecovery # StrictPasswords [RECOMMENDED] # When enabled, causes Services to perform more stringent checks on # passwords. If this is disabled, Services will only disallow a # password if it is the same as the entity (nickname or channel name) # with which it is associated. When enabled, however, Services will # also check that the password is at least five characters long, and # in the future will probably check other things as well. StrictPasswords # BadPassLimit [RECOMMENDED] # Sets the number of invalid password tries before Services removes a # user from the network. If a user enters invalid passwords # for any Services function or combination of functions during a # single IRC session (subject to BadPassTimeout, below), Services will # issue a /KILL for the user. If not given, Services will ignore # failed password attempts (though they will be logged in any case). # Note that entering a correct password will _not_ reset this count. BadPassLimit 5 # BadPassTimeout