summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorcyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-20 02:06:20 +0000
committercyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-20 02:06:20 +0000
commitfa82184d9c819fff5c188f66f7814e28e1e32fe3 (patch)
tree3f40117500287d6a8602fcf7d8241a1ebbe06548 /data
parent42fe52c0780ee6ce607f164453c627320525adf9 (diff)
Removed old example.conf and replaced with example_new.conf, services.conf will now be read by the new parser and not services_new.conf
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1764 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'data')
-rw-r--r--data/example.conf3035
-rw-r--r--data/example_new.conf1517
2 files changed, 1517 insertions, 3035 deletions
diff --git a/data/example.conf b/data/example.conf
index b791a9793..d66a1efe6 100644
--- a/data/example.conf
+++ b/data/example.conf
@@ -1,1518 +1,1517 @@
-# 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 /home/username/services)
-# under the name "services.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"
-#
-# 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 not permitted. Examples (all of which
-# represent the same length of time, one day):
-#
-# "86400", "86400s", "1440m", "24h", "1d"
-#
-# CAUTION:
-# Please note that your services might _CRASH_ if you add more format-
-# strings (%s, %d, etc.) to custom messages than Anope needs. Use the
-# default messages to see how many format-strings are needed.
-#
-# 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.
-
-###########################################################################
-#
-# IRCD configuration
-#
-###########################################################################
-
-# IRCDModule <module_name> [REQUIRED]
-# The ircd protocol module should be used when connecting anope to your
-# chosen IRCD. This should be one of the following options, or a file
-# provided by your IRCD author.
-#
-# Bahamut 1.4.27 [or later] - "bahamut"
-# Charybdis 1.0 [or later] - "charybdis"
-# DreamForge 4.6.7 - "dreamforge"
-# Hybrid IRCd 7.0 [experimental] - "hybrid"
-# InspIRCd 1.0 [beta 5 or later] - "inspircd10"
-# InspIRCd 1.1 [beta 8 or later] - "inspircd11"
-# Plexus 3.0 [or later] - "plexus3"
-# Plexus 2.0 [or later] - "plexus2"
-# PTLink 6.15.0 [experimental] - "ptlink"
-# RageIRCd 2.0.x - "rageircd"
-# Ratbox 2.0.6 [or later] - "ratbox"
-# ShadowIRCD 4.0x [beta 7 or later] - "shadowircd"
-# Solid IRCD 3.4.x [3.4.6 or later] - "solidircd"
-# UltimateIRCd 3.0.0 [or later] - "ultimate3"
-# UltimateIRCd 2.8.2 [or later] - "ultimate2"
-# Unreal 3.2 [beta-19 or later] - "unreal32"
-# Unreal 3.1.1 [or later] - "unreal31"
-# ViagraIRCd 1.3.x [or later] - "viagra"
-#
-
-#IRCDModule "unreal32"
-
-###########################################################################
-#
-# Encryption settings
-#
-###########################################################################
-
-# EncModule <module_name> [REQUIRED]
-# The encryption module to use when dealing with passwords.
-# This determines how the passwords are stored in the databases,
-# and does not add any security as far as transmitting passwords over
-# the network goes.
-# enc_none provides no password encryption, storing the password in
-# plain text, this is the most versiatle as passwords can easily be
-# recovered.
-#
-# NOTE: users of anope's previous (broken) md5 implementation should
-# select the enc_old option, or things may break.
-#
-# NOTE2: Some of these encryption methods are one-way (md5, sha1, old)
-# meaning that you can NOT retrieve the passwords in plain text once
-# encrypted.
-#
-# Plain Text - enc_none
-# Previous (broken) MD5 - enc_old
-# MD5 - enc_md5
-# SHA1 - enc_sha1
-#
-
-EncModule "enc_none"
-
-###########################################################################
-#
-# Core module configuration
-#
-###########################################################################
-# HostCoreModules <list> [RECOMMENDED]
-# These modules will be loaded as part of HostServ's core.
-# It is not recommended you change these settings unless you are
-# sure you understand exactly what it is you are doing.
-HostCoreModules "hs_help hs_on hs_off hs_group hs_list hs_set hs_setall hs_del hs_delall"
-
-# MemoCoreModules <list> [RECOMMENDED]
-# These modules will be loaded as part of MemoServ's core.
-# It is not recommended you change these settings unless you are
-# sure you understand exactly what it is you are doing.
-MemoCoreModules "ms_send ms_cancel ms_list ms_read ms_del ms_set ms_info ms_rsend ms_check ms_staff ms_sendall ms_help"
-
-# HelpCoreModules <list> [RECOMMENDED]
-# These modules will be loaded as part of HelpServ's core.
-# It is not recommended you change these settings unless you are
-# sure you understand exactly what it is you are doing.
-HelpCoreModules "he_help"
-
-# BotCoreModules <list> [RECOMMENDED]
-# These modules will be loaded as part of BotServ's core.
-# It is not recommended you change these settings unless you are
-# sure you understand exactly what it is you are doing.
-BotCoreModules "bs_help bs_botlist bs_assign bs_set bs_kick bs_badwords bs_act bs_info bs_say bs_unassign bs_bot bs_fantasy bs_fantasy_kick bs_fantasy_kickban bs_fantasy_owner bs_fantasy_seen"
-
-# OperCoreModules <list> [RECOMMENDED]
-# These modules will be loaded as part of OperServ's core.
-# It is not recommended you change these settings unless you are
-# sure you understand exactly what it is you are doing.
-OperCoreModules "os_help os_global os_stats os_oper os_admin os_staff os_mode os_kick os_clearmodes os_akill os_sgline os_sqline os_szline os_chanlist os_userlist os_logonnews os_randomnews os_opernews os_session os_noop os_jupe os_ignore os_set os_reload os_update os_restart os_quit os_shutdown os_defcon os_chankill os_svsnick os_oline os_umode os_modload os_modunload os_modlist os_modinfo"
-
-# NickCoreModules <list> [RECOMMENDED]
-# These modules will be loaded as part of NickServ's core.
-# It is not recommended you change these settings unless you are
-# sure you understand exactly what it is you are doing.
-NickCoreModules "ns_help ns_register ns_group ns_identify ns_access ns_set ns_saset ns_drop ns_recover ns_release ns_sendpass ns_ghost ns_alist ns_info ns_list ns_logout ns_status ns_update ns_getpass ns_getemail ns_forbid ns_suspend"
-
-# ChanCoreModules <list> [RECOMMENDED]
-# These modules will be loaded as part of ChanServ's core.
-# It is not recommended you change these settings unless you are
-# sure you understand exactly what it is you are doing.
-ChanCoreModules "cs_help cs_register cs_identify cs_set cs_xop cs_access cs_akick cs_drop cs_sendpass cs_ban cs_clear cs_modes cs_getkey cs_invite cs_kick cs_list cs_logout cs_topic cs_info cs_getpass cs_forbid cs_suspend cs_status"
-###########################################################################
-#
-# Remote server configuration
-#
-###########################################################################
-
-# RemoteServer <hostname> <port> <password> [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).
-#
-# The remote server and port may be overridden at runtime with the
-# -remote command-line option. The password may not be set at runtime.
-#
-# If services can't connect to the RemoteServer, they will try
-# RemoteServer2 (if defined). If they can't connect to RemoteServer2,
-# they will use RemoteServer3 (if defined).
-
-RemoteServer localhost 6667 "mypass"
-#RemoteServer2 localhost 6667 "mypass"
-#RemoteServer3 localhost 6667 "mypass"
-
-# LocalAddress <hostname> [port] [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.
-#
-# This directive may be overridden at runtime by the -local
-# command-line option.
-
-#LocalAddress nowhere. 0
-
-###########################################################################
-#
-# Services identification and pseudoclient names
-#
-###########################################################################
-
-# ServerName <name> [REQUIRED]
-# Specifies the IRC server name which Services should use. May be
-# overridden by the -name command-line option.
-
-ServerName "services.localhost.net"
-
-# ServerDesc <text> [REQUIRED]
-# Specifies the text which should appear as the server's information in
-# /whois and similar queries. May be overridden by the -desc
-# command-line option.
-
-ServerDesc "Services for IRC Networks"
-
-# ServiceUser <usermask> [REQUIRED]
-# Specifies the user@host mask which should be used by the Services
-# pseudoclients. May be overridden by the -user and -host command-line
-# options.
-
-ServiceUser "services@localhost.net"
-
-# ...Name <nick> <string> [REQUIRED except as noted below]
-# Specify the nicknames (first parameter) and "real" names (second
-# parameter) for the Services pseudoclients. BotServ and DevNull may
-# be disabled by commenting out the appropriate lines below. Disabling
-# BotServ is recommended on large networks.
-
-NickServName "NickServ" "Nickname Server"
-ChanServName "ChanServ" "Channel Server"
-MemoServName "MemoServ" "Memo Server"
-BotServName "BotServ" "Bot Server"
-HelpServName "HelpServ" "Help Server"
-OperServName "OperServ" "Operator Server"
-GlobalName "Global" "Global Noticer"
-#DevNullName "DevNull" "/dev/null -- message sink"
-HostServName "HostServ" "vHost Server"
-
-# ...Alias <nick> <string> [OPTIONAL]
-# Specify alternate nicknames for services. When a user will /msg
-# NickServAlias something, it will be forwarded to NickServName, and
-# NickServName will answer. This can be used to ease the migration
-# from another network, for example if your services are called
-# NickKeeper, ChanKeeper, etc ... and the other network calls them
-# NickServ, ChanServ, etc ...
-
-#NickServAlias "NickServ2" "Nickname Server Forwarder"
-#ChanServAlias "ChanServ2" "Channel Server Forwarder"
-#MemoServAlias "MemoServ2" "Memo Server Forwarder"
-#BotServAlias "BotServ2" "Bot Server Forwarder"
-#HelpServAlias "HelpServ2" "Help Server Forwarder"
-#OperServAlias "OperServ2" "Operator Server Forwarder"
-#GlobalAlias "Global2" "Global Noticer Forwarder"
-#DevNullAlias "DevNull2" "/dev/null -- message sink Forwarder"
-#HostServAlias "HostServ2" "vHost Server Forwarder"
-
-###########################################################################
-#
-# Services data filenames
-#
-###########################################################################
-
-# NOTE: All filenames are relative to the Services data directory.
-
-# PIDFile <filename> [REQUIRED]
-# Specifies the name of the file containing Services' process ID.
-
-PIDFile services.pid
-
-# MOTDFile <filename> [REQUIRED]
-# Specifies the name of the Message of the Day file.
-
-MOTDFile services.motd
-
-# ...DB <filename> [REQUIRED]
-# Specifies the filenames for the various Services subsystems' databases.
-
-NickServDB nick.db
-#PreNickServDB prenick.db
-ChanServDB chan.db
-BotServDB bot.db
-OperServDB oper.db
-NewsDB news.db
-ExceptionDB exception.db
-HostServDB hosts.db
-
-# There is no more databases for AKILLs. This setting is kept to allow
-# you to import old AKILL database, and is optional. (If not given,
-# Services will look for a file named akill.db.)
-
-# AutokillDB akill.db
-
-###########################################################################
-#
-# Network information
-#
-###########################################################################
-
-# HelpChannel <channel> [OPTIONAL]
-#
-# When defined, every users that has or gets op status on this channel
-# automatically receive the +h user mode.
-
-HelpChannel "#help"
-
-# LogChannel <channel> [OPTIONAL]
-#
-# When defined, services will output log messages to this channel.
-# IMPORTANT: This can be a security risk so make certain this channel
-# is sufficiently protected from normal access.
-
-#LogChannel "#services"
-
-# LogBot [OPTIONAL]
-#
-# When defined, services will output all BotServ chatter to the defined
-# LogChan above. It shows all uses of BotServ ACT and SAY commands. Note
-# that there is no logging to the log file. Only works if LogChannel is
-# also defined.
-
-#LogBot
-
-# NetworkName <name> [REQUIRED]
-#
-# This is the name of the network the Services are running on.
-
-NetworkName "LocalNet"
-
-# Numeric [OPTIONAL]
-# Many ircd identify themselves with a Numeric ID when using this option
-# consult your ircds documentation before using this
-#Numeric "64"
-
-# NickLen [RECOMMENDED]
-# Set this to the maximum allowed nick length on your network. Anope does
-# not support values larger than 31, so setting them makes no sense. Be
-# sure to set this correctly, as setting this wrong can result in services
-# being disconnected from the network.
-
-NickLen 31
-
-###########################################################################
-#
-# Basic functionality
-#
-###########################################################################
-
-# UserKey1|2|3 <value> [RECOMMENDED]
-#
-# These keys are required to initiate the random number generator. These
-# numbers MUST be random as you want your passcodes to be random. Don't
-# give these keys to anyone! Keep them private!
-#
-# *** NOTE ***
-# If you don't enable these, or keep their default values, any talented
-# programmer would be able to easily "guess" random strings used to mask
-# information. Be safe, and come up with three different 7 digit numbers
-
-#UserKey1 9866235
-#UserKey2 8362013
-#UserKey3 2362899
-
-# NoBackupOkay [DISCOURAGED]
-# Allows Services to continue file write operations (i.e. database
-# saving) even if the original file cannot be backed up. Enabling this
-# option may allow Services to continue operation under some conditions
-# when it might otherwise fail, such as a nearly-full disk.
-#
-# *** NOTE ***
-# Enabling this option can cause irrecoverable data loss under some
-# conditions, so make CERTAIN you know what you're doing when you
-# enable it!
-
-#NoBackupOkay
-
-# 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 <count> [RECOMMENDED]
-# Sets the number of invalid password tries before Services removes a
-# user from the network. If a user enters <count> 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).
-
-BadPassLimit 5
-
-# BadPassTimeout <time> [OPTIONAL]
-# Sets the time after which invalid passwords are forgotten about. If
-# a user does not enter any incorrect passwords in this amount of time,
-# the incorrect password count will reset to zero. If not given, the
-# timeout will be disabled, and the incorrect password count will never
-# be reset until the user disconnects.
-
-BadPassTimeout 1h
-
-# UpdateTimeout <time> [REQUIRED]
-# Sets the delay between automatic database updates. This timer is
-# reset by the OperServ UPDATE command.
-
-UpdateTimeout 5m
-
-# ExpireTimeout <time> [REQUIRED]
-# Sets the delay between checks for expired nicknames and channels.
-# The OperServ UPDATE command will also cause a check for expiration
-# and reset this timer.
-
-ExpireTimeout 30m
-
-# ReadTimeout <time> [REQUIRED]
-# Sets the timeout period for reading from the network.
-
-ReadTimeout 5s
-
-# WarningTimeout <time> [REQUIRED]
-# Sets the interval between sending warning messages for program
-# errors via WALLOPS/GLOBOPS.
-
-WarningTimeout 4h
-
-# TimeoutCheck <time> [REQUIRED]
-# Sets the (maximum) frequency at which the timeout list is checked.
-# This, combined with ReadTimeout above, determine how accurately timed
-# events, such as nick kills, occur; it also determines how much CPU
-# time Services will use doing this. Higher values will cause less
-# accurate timing but less CPU usage.
-#
-# This shouldn't be set any higher than 10 seconds, and 1 second is
-# best if your system is powerful enough (or your network small enough)
-# to handle it. 0 will cause the timeout list to be checked every time
-# through the main loop, which will probably slow down Services too
-# much to be useful on most networks.
-#
-# Note that this value is not an absolute limit on the period between
-# checks of the timeout list; the period may be as great as ReadTimeout
-# (above) during periods of inactivity.
-
-TimeoutCheck 3s
-
-# KeepLogs <days> [RECOMMENDED]
-#
-# Sets the number of days log files are kept. If you don't give it, or if
-# you set it to 0, logs will be kept indefinitely.
-#
-# NOTE: Services must run 24 hours a day for this feature to work.
-
-KeepLogs 7
-
-# KeepBackups <days> [RECOMMENDED]
-#
-# Sets the number of days backups of databases are kept. If you don't give
-# it, or if you set it to 0, Services won't backup the databases.
-#
-# NOTE: Services must run 24 hours a day for this feature to work.
-
-KeepBackups 3
-
-# ForceForbidReason [OPTIONAL]
-#
-# If set, Services will require a reason when a forbid is added, else
-# the reason is optional. This directive also applies to SUSPENDed
-# channels as well.
-
-ForceForbidReason
-
-# UsePrivmsg [OPTIONAL]
-#
-# This directive allows users to let Services send PRIVMSGs to them
-# instead of NOTICEs. Also see NSDefMsg, which also toggles the default
-# communication (PRIVMSG or NOTICE) to use for unregistered users.
-#
-# This is a feature that is against the IRC RFC and should be used
-# _only_ if absolutely necessary.
-
-#UsePrivmsg
-
-# UseStrictPrivMsg [OPTIONAL]
-# Using this directive will force services to only respond to privmsgs
-# addressed to Nick@ServerName - e.g. NickServ@localhost.net.
-# This should be used on conjunction with ircd aliases.
-#
-# When using Bahamut, this option will NOT work if the uplink server is
-# configured as a services hub. The serviceshub option is not designed to
-# be used with Anope.
-
-#UseStrictPrivMsg
-
-# DumpCore [OPTIONAL]
-#
-# Setting this directive will make Anope dump core when a segmentation
-# fault occurs. This is generally not needed, but if Anope is crashing
-# on your network and you want to make a bug report, having a core
-# file may be of great help.
-
-#DumpCore
-
-# LogUsers [OPTIONAL]
-#
-# Defines whether Anope will log user connections, disconnections and
-# nickname changes. You may have to do so in case you ever need to
-# transmit user information to your local authorities.
-
-#LogUsers
-
-# HideStatsO [OPTIONAL]
-#
-# Setting this directive will make Services only show Stats o to
-# IRC Operators.
-
-#HideStatsO
-
-# GlobalOnCycle [OPTIONAL]
-#
-# Setting this directive will make Services send global messages on
-# starting up and shutting down/restarting.
-
-#GlobalOnCycle
-
-# GlobalOnCycleMessage <text> [REQUIRED if GlobalOnCycle is specified]
-# This is the global message sent when the Services are
-# being shutdown/restarted if using GlobalOnCycle
-GlobalOnCycleMessage "Services are restarting, they will be back shortly - please be good while we're gone"
-
-# GlobalOnCycleUP <text> [OPTIONAL]
-# If defined this message will be sent global when the services join
-# the network.
-GlobalOnCycleUP "Services are now back online - have a nice day"
-
-# AnonymousGlobal [OPTIONAL]
-# hides the oper's nick in a global message/notice
-#AnonymousGlobal
-
-# NickRegDelay <seconds> [OPTIONAL]
-# Prevents users from regging their nick if they are not
-# connected for at least X seconds.
-#NickRegDelay 30
-
-# UseSVSHOLD [OPTIONAL]
-# Allows networks running Bahamut (1.4.35 or later), Unreal (3.2),
-# and Plexus (3.0) to use SVSHOLD instead of the services enforcer.
-# This option places a temporary Q:Line on the held nick instead
-# of introducing a new pseudoclient with that nick, which is better
-# for both CPU and bandwidth. If you enable this option on an
-# incompatible IRCd (like a pre-1.4.35 Bahamut), it is most likely
-# to break.
-#UseSVSHOLD
-
-# RestrictOperNick [OPTIONAL]
-# Forbids the registration of nicks that contain nick with services
-# access. So if Tester is a Services Oper, for example, You can't
-# register NewTester or Tester123 unless you are an IRC operator.
-# IMPORTANT: Remember that you have to be an ircop if you want to
-# register the root's nick when setting up Anope for the
-# the first time.
-#RestrictOperNicks
-
-# NewsCount [OPTIONAL]
-# The number of LOGON/OPER News item to display when a user logs
-# on. The default value is 3
-#NewsCount 3
-
-# UnRestrictSAdmin [OPTIONAL]
-# On many ircd Anope removes the umode of +a from users whom are not
-# Service Admin in Anope. This mode is NOT used by Anope for any form
-# of access. Thus this option allows them to keep the mode without having
-# to be a Service Admin in Anope
-#UnRestrictSAdmin
-
-# UlineServers [OPTIONAL]
-#
-# A list of ulined servers on your network, these servers are assumed they
-# can set channel modes and we will not attempt to take them from them
-# WARNING: do not put your user servers in this option
-
-UlineServers "stats.your.network proxy.your.network"
-
-# UseTS6 [OPTIONAL]
-#
-# Modern hybrid ircd like Ratbox 2.0.x support a protocol called TS6.
-# However this protocol is optional thus our default support is for without
-# TS6, if you want to take advantage of TS6, enable this option.
-
-#UseTS6
-
-###########################################################################
-#
-# Mail-related options
-#
-###########################################################################
-
-# NOTE: if UseMail is not set, all parameters after it in this section
-# are optional.
-
-# UseMail [OPTIONAL]
-#
-# This option enables the mail commands in Services. You may choose
-# to disable it if you have no sendmail-compatible mailer installed.
-# This setting is [REQUIRED] if NSEmailReg is enabled.
-
-UseMail
-
-# SendMailPath <path> [REQUIRED]
-#
-# This is how we should call SendMail to send a mail. It must be
-# called with all parameters needed to make it scan the mail input
-# to find the mail recipient; consult your SendMail documentation.
-#
-# Postfix users must use the compatible sendmail utility provided
-# with it; this one usually needs no parameters on the command line.
-# Most sendmail applications (or replacements of it) require the -t
-# option to be used.
-
-SendMailPath "/usr/sbin/sendmail -t"
-
-# SendFrom <e-mail> [REQUIRED]
-#
-# This is the e-mail from which all the e-mails are to be sent. It should
-# really exist.
-
-SendFrom services@localhost.net
-
-# RestrictMail [OPTIONAL]
-#
-# When enabled, SENDPASS will be restricted to IRC operators.
-#
-# WARNING: if you choose to not enable this option, you should limit
-# the number of processes the services user can have at a time (you can
-# create a special user for this; remember to never launch Services as root).
-
-RestrictMail
-
-# MailDelay <time> [RECOMMENDED]
-#
-# This controls the minimum amount of time an user must wait before sending
-# another mail after it has sent one. It also controls the minimum time
-# an user must wait before it can receive another mail.
-#
-# This feature prevents users from being mail bombed using Services and
-# should definitely be used.
-
-MailDelay 5m
-
-# DontQuoteAddresses [OPTIONAL]
-#
-# When enabled, services will not attempt to "" the TO: fields in mails
-#
-# So far we only know of ESMTP/QMail which need this set.
-#
-
-#DontQuoteAddresses
-
-###########################################################################
-#
-# NickServ configuration
-#
-###########################################################################
-
-# NSForceEmail [RECOMMENDED]
-# This option forces the users to give an e-mail when they register
-# a nickname. If you have nicks in the database that have no e-mail
-# set, they will be asked to set an e-mail when they identify their
-# nickname until they set one. Also, this option prevents user from
-# unsetting the password. This setting is [REQUIRED] if NSEmailReg
-# is enabled.
-#
-# This option is useful to resolve "lost password" problems.
-
-NSForceEmail
-
-# NSEmailReg [OPTIONAL]
-# This option splits the nick registration into 2 steps, the first
-# after registering a email with a passcode is sent to the supplied
-# email address, this passcode needs to be entered with a confirm
-# command before the nick registration will be completed.
-#
-# You must have mail / forcemail set for this to work correctly.
-# It is also recommended that MailDelay be set to a sensible value
-# to prevent mail flooding. This setting is [REQUIRED] if NSEmailReg
-# is enabled.
-
-# NSEmailReg
-
-# NSDef... [OPTIONAL]
-# Sets the default options for newly registered nicks. Note that
-# changing these options will have no effect on nicks which are already
-# registered.
-#
-# If both NSDefKill and NSDefKillQuick are given, the latter takes
-# precedence. KILL IMMED cannot be specified as a default.
-#
-# Note: Both NSDefKill and NSDefKillQuick must be specified for Quick to take effect.
-#
-# NSDefMsg also controls the default setting for unregistered users.
-# If NSDefMsg is enabled, unregistered users will receive PRIVMSGs
-# instead of NOTICEs from Services. See UsePrivmsg for more information.
-#
-# NOTE: If you do not enable any of these options, a default of
-# Secure, MemoSignon, and MemoReceive will be used, for backward
-# compatibility. If you really want no options enabled by default, use
-# NSDefNone.
-
-#NSDefNone
-
-#NSDefKill
-#NSDefKillQuick
-NSDefSecure
-NSDefPrivate
-NSDefHideEmail
-NSDefHideUsermask
-#NSDefHideQuit
-#NSDefMsg
-NSDefMemoSignon
-NSDefMemoReceive
-NSDefAutoop
-
-# NSDefLanguage <language-number> [REQUIRED]
-# Sets the default language non- and newly-registered will receive
-# services' messages in. The numbers are the same as those
-# used for the /nickserv SET LANGUAGE command, so look the at the help
-# of this command for the list of currently supported languages.
-#
-# If you ever wanted to know how to translate services in your
-# language, read the chapter about it in the README.
-
-NSDefLanguage 1
-
-# NSRegDelay <time> [RECOMMENDED]
-# Sets the minimum length of time between consecutive uses of the
-# REGISTER command. If not given, this restriction is disabled (note
-# that this allows "registration flooding").
-
-NSRegDelay 30s
-
-# NSResendDelay <time> [RECOMMENDED]
-# Sets the minimum length of time between consecutive uses of the
-# RESEND command. If not given, this restriction is disabled (note
-# that this allows "resend flooding" or "mail bombing").
-
-NSResendDelay 90s
-
-# NSExpire <time> [RECOMMENDED]
-# Sets the length of time before a nick registration expires.
-
-NSExpire 21d
-
-# NSRExpire <time> [OPTIONAL]
-# Sets the length of time a user gets to enter the confirmation code
-# which has been e-mailed to them before the nick will be released
-# for general use again. This setting is [REQUIRED] if NSEmailReg is
-# enabled.
-
-# NSRExpire 1d
-
-# NSMaxAliases <number> [RECOMMENDED]
-# Sets the maximum number of nicks allowed in a group. If you
-# set it to 0, or don't set it at all, no limits will be applied.
-
-NSMaxAliases 16
-
-# NSAccessMax <count> [REQUIRED]
-# Sets the maximum number of entries allowed on a nickname access list.
-
-NSAccessMax 32
-
-# NSEnforcerUser <user>[@<host>] [REQUIRED]
-# Sets the username (and possibly hostname) used for the fake user
-# created when NickServ collides a user. Should be in user@host
-# format. If the host is not given, the one from ServicesUser is
-# used.
-
-NSEnforcerUser enforcer@localhost.net
-#NSEnforcerUser enforcer
-
-# NSReleaseTimeout <time> [REQUIRED]
-# Sets the delay before a NickServ-collided nick is released.
-
-NSReleaseTimeout 1m
-
-# NSAllowKillImmed [OPTIONAL]
-# When enabled, allows the use of the IMMED option with the NickServ
-# SET KILL command.
-
-#NSAllowKillImmed
-
-# NSNoGroupChange [OPTIONAL]
-# When enabled, the NickServ GROUP command won't allow any group change.
-# This is recommended for better performances and to protect against
-# nick stealing, however users will have less flexibility.
-
-#NSNoGroupChange
-
-# NSListOpersOnly [OPTIONAL]
-# When enabled, limits use of the NickServ LIST command to IRC
-# operators.
-
-#NSListOpersOnly
-
-# NSListMax <count> [REQUIRED]
-# Specifies the maximum number of nicks to be returned for a NickServ
-# LIST command.
-
-NSListMax 50
-
-# NSGuestNickPrefix <value> [REQUIRED]
-# When a user's nick is forcibly changed to enforce a "nick kill", their
-# new nick will start with this value. The rest will be made up of 6 or 7
-# digits.
-
-NSGuestNickPrefix "Guest"
-
-# NSSecureAdmins [RECOMMENDED]
-# When enabled, prevents the use of the DROP, FORBID, GETPASS, and
-# SET PASSWORD commands by Services admins on other Services admins or
-# the Services root(s).
-
-NSSecureAdmins
-
-# NSStrictPrivileges [RECOMMENDED]
-#
-# When enabled, any user wanting to use the privileges of Services Root, Services
-# Admin or Services Operator must have been logged as an IRC Operator with the
-# /oper command.
-
-NSStrictPrivileges
-
-# NSModeOnID [OPTIONAL]
-#
-# When enabled, services will set the channel modes a user has access to upon
-# identifying, assuming they are not already set.
-#
-
-# NSModeOnID
-
-# NSRestrictGetPass [OPTIONAL]
-#
-# When enabled, services will only allow Services Root to use the getpass
-# command on a nick.
-
-NSRestrictGetPass
-
-# NSNickTracking [OPTIONAL]
-#
-# When enabled, services will track your last nick identified when issuing
-# nick changes.
-
-#NSNickTracking
-
-# NSAddAccessOnReg [OPTIONAL]
-#
-# When enabled, services will add the usermask of registering users to the
-# access list of their newly created account. If you disable this, users
-# will always have to identify to nickserv before being recognized, unless
-# they manually add an address to the access list of their account.
-
-NSAddAccessOnReg
-
-###########################################################################
-#
-# ChanServ configuration
-#
-###########################################################################
-
-# CSDef... [OPTIONAL]
-# Sets the default options for newly registered channels. Note that
-# changing these options will have no effect on channels which are
-# already registered.
-#
-# NOTE: If you do not enable any of these options, a default of
-# KeepTopic, Secure, SecureFounder and SignKick will be used, for
-# backward compatibility. If you really want no options enabled by
-# default, use CSDefNone.
-
-#CSDefNone
-
-CSDefKeepTopic
-#CSDefOpNotice
-CSDefPeace
-#CSDefPrivate
-#CSDefRestricted
-CSDefSecure
-#CSDefSecureOps
-CSDefSecureFounder
-CSDefSignKick
-#CSDefSignKickLevel
-#CSDefTopicLock
-CSDefXOP
-
-
-# CSMaxReg <count> [RECOMMENDED]
-# Limits the number of channels which may be registered to a single
-# nickname.
-
-CSMaxReg 20
-
-# CSExpire <time> [RECOMMENDED]
-# Sets the number of days before a channel expires.
-
-CSExpire 14d
-
-# CSDefBantype <bantype> [REQUIRED]
-#
-# Sets the default ban type for newly registered channels (and when
-# importing old databases).
-#
-# bantype can be:
-#
-# 0: ban in the form *!user@host
-# 1: ban in the form *!*user@host
-# 2: ban in the form *!*@host
-# 3: ban in the form *!*user@*.domain
-
-CSDefBantype 2
-
-# CSAccessMax <count> [REQUIRED]
-# Sets the maximum number of entries on a channel's access list.
-# Channel access lists may contain only registered nicknames;
-# therefore, checking each entry on the list requires only a single
-# scaler comparison instead of a wildcard match, and this limit may be
-# safely set much higher than (for example) the nickname access list
-# size limit without impacting performance significantly.
-
-CSAccessMax 1024
-
-# CSAutokickMax <count> [REQUIRED]
-# Sets the maximum number of entries on a channel's autokick list.
-
-CSAutokickMax 32
-
-# CSAutokickReason <text> [REQUIRED]
-# Sets the default reason for an autokick if none is given.
-
-CSAutokickReason "User has been banned from the channel"
-
-# CSInhabit <time> [REQUIRED]
-# Sets the length of time ChanServ stays in a channel after kicking a
-# user from a channel s/he is not permitted to be in. This only occurs
-# when the user is the only one in the channel.
-
-CSInhabit 15s
-
-# CSListOpersOnly [OPTIONAL]
-# When enabled, limits use of the ChanServ LIST command to IRC
-# operators.
-
-#CSListOpersOnly
-
-# CSListMax <count> [REQUIRED]
-# Specifies the maximum number of channels to be returned for a
-# ChanServ LIST command.
-
-CSListMax 50
-
-# CSRestrictGetPass [OPTIONAL]
-#
-# When enabled, services will only allow Services Root to use the getpass
-# command on a channel.
-
-# CSRestrictGetPass
-
-# CSOpersOnly [OPTIONAL]
-# If this is defined, only IRC Operators will be permitted to use ChanServ.
-
-#CSOpersOnly
-
-###########################################################################
-#
-# MemoServ configuration
-#
-###########################################################################
-
-# MSMaxMemos <count> [RECOMMENDED]
-# Sets the maximum number of memos a user is allowed to keep by
-# default. Normal users may set the limit anywhere between zero and
-# this value; Services admins can change it to any value or disable it.
-# If not given, the limit is disabled by default, and normal users can
-# set any limit they want.
-
-MSMaxMemos 20
-
-# MSSendDelay <time> [RECOMMENDED]
-# Sets the delay between consecutive uses of the MemoServ SEND command.
-# This can help prevent spam as well as denial-of-service attacks from
-# sending large numbers of memos and filling up disk space (and
-# memory). A 3-second wait means a maximum average of 150 bytes of
-# memo per second per user under the current IRC protocol.
-
-MSSendDelay 3s
-
-# MSNotifyAll [OPTIONAL]
-# Should we notify all appropriate users of a new memo? This applies
-# in cases where a memo is sent to a nick which is in the group of
-# another nick. Note that, unlike before, it is currently often more
-# efficient to enable this.
-
-MSNotifyAll
-
-# MSMemoReceipt [OPTIONAL]
-# Allow the use of memo receipts for the following groups:
-# 1 - Opers Only
-# 2 - Everybody
-#
-#MSMemoReceipt 1
-
-###########################################################################
-#
-# BotServ configuration
-#
-###########################################################################
-
-# BSDef... [OPTIONAL]
-# Sets the default options for newly registered channels. Note that
-# changing these options will have no effect on channels which are
-# already registered.
-
-#BSDefDontKickOps
-#BSDefDontKickVoices
-BSDefGreet
-BSDefFantasy
-BSDefSymbiosis
-
-# BSMinUsers <count> [REQUIRED]
-# Minimum number of users there must be in a channel before the
-# bot joins it. The best value for this setting is 1 or 2. This
-# cannot be 0, otherwise topic retention and mode lock and such
-# other things won't work.
-
-BSMinUsers 1
-
-# BSBadWordsMax <count> [REQUIRED]
-# Maximum number of entries a single bad words list can have.
-# Setting it too high can reduce performances slightly.
-
-BSBadWordsMax 32
-
-# BSKeepData <time> [REQUIRED]
-# Amount of time data for a user that is used by BotServ is
-# valid. If the data exceeds this time, it is reset or deleted
-# depending the case. Do not set it too high otherwise your resources
-# will be slightly affected.
-
-BSKeepData 10m
-
-# BSSmartJoin [OPTIONAL]
-# The bot is currently not affected by any modes or bans when he
-# tries to join a channel. But some people may want to make it
-# act like a real bot, that is, for example, remove all bans
-# that affect the bot before joining the channel, remove a
-# ban that affects the bot set by an user when it is on the
-# channel, and so on. Since it consumes a bit more CPU time,
-# you should not comment it out on larger networks.
-
-# BSSmartJoin
-
-# BSGentleBWReason [OPTIONAL]
-# This option will make the bot use a kick reason that does not retake
-# the word when it is kicking the bot. This is especially useful if
-# you have young people on your network.
-
-BSGentleBWReason
-
-# BSCaseSensitive [OPTIONAL]
-# This option will make botserv use cAsE sEnSiTiVe checking for badwords
-
-# BSCaseSensitive
-
-# BSFantasyCharacter [OPTIONAL]
-# This option allows you to change the default prefix for fantasy
-# commands in channels. This character will have to be prepended to
-# all fantasy commands. If you choose "!", fantasy commands will, for
-# example, be "!kick", "!op", etc. If left out, the default fantasy
-# character will be "!".
-
-# BSFantasyCharacter "!"
-
-###########################################################################
-#
-# HostServ configuration
-#
-###########################################################################
-
-# HostSetters <nicks> [DISCOURAGED]
-# Specifies the nicks of NON-OPERS allowed to Set/Remove vHosts using
-# HostServ. Can be re-loaded with /msg operserv reload
-# You can specify more than one nick by separating each one by a space.
-#
-# Make sure you insert the correct nick(s) here..
-
-#HostSetters "rob dengel certus"
-
-###########################################################################
-#
-# OperServ configuration
-#
-###########################################################################
-
-# ServicesRoot <nicks> [REQUIRED]
-# Specifies the Services "super-users". The super-users, or "roots" as in
-# Unix terminology, are the only users who can add or delete Services
-# admins.
-#
-# You can specify more than one nick by separating each one by a space.
-#
-# This is commented out by default; make sure you insert the correct
-# nick before uncommenting it.
-
-#ServicesRoot "dengel anope"
-
-# SuperAdmin [OPTIONAL]
-# When enabled, Services admins will be able to use SuperAdmin [ON|OFF]
-# which will temporarily grant them extra privileges, such as being a
-# founder of _all_ channels, ability to adjust another users modes etc..
-
-#SuperAdmin
-
-# LogMaxUsers [OPTIONAL]
-# Causes Services to write a message to the log every time a new user
-# maximum is set.
-
-LogMaxUsers
-
-# ...Expiry <time> [REQUIRED]
-# Sets the default expiry time for, respectively, AKILLs, SGLINEs,
-# SQLINEs and SZLINEs.
-
-AutoKillExpiry 30d
-ChanKillExpiry 30d
-SGLineExpiry 30d
-SQLineExpiry 30d
-SZLineExpiry 30d
-
-# AkillOnAdd [OPTIONAL]
-#
-# When enabled, this option makes the services send an AKILL command
-# immediately after it has been added with AKILL ADD. This eliminates
-# the need of killing the users after the akill has been added.
-
-# AkillOnAdd
-
-# KillOnSGline [OPTIONAL]
-#
-# When enabled, this option makes the services send an (SVS)KILL command
-# immediately after SGLINE ADD. This eliminates the need of killing the
-# users after the SGLINE has been added.
-
-# KillOnSGline
-
-# KillOnSQline [OPTIONAL]
-#
-# When enabled, this option makes the services send an (SVS)KILL command
-# immediately after SQLINE ADD. This eliminates the need of killing the
-# users after the SQLINE has been added.
-
-# KillOnSQline
-
-# DisableRaw [RECOMMENDED]
-#
-# Disables the highly destructive OperServ RAW command.
-
-DisableRaw
-
-# WallOper [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS when a user becomes an IRC
-# operator. Note that this can cause WALLOPS floods when Services
-# first connects to the network.
-
-#WallOper
-
-# WallBadOS [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS if a non-IRC-operator tries
-# to use OperServ.
-
-#WallBadOS
-
-# WallOS... [OPTIONAL]
-# Cause Services to send a WALLOPS/GLOBOPS on use of each of the
-# OperServ commands listed.
-
-WallOSGlobal
-WallOSMode
-WallOSClearmodes
-WallOSKick
-WallOSAkill
-WallOSSGLine
-WallOSSQLine
-WallOSSZLine
-WallOSNoOp
-WallOSJupe
-WallOSRaw
-
-# Wall...Expire [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS whenever respectively
-# an AKILL, an SGLINE, an SQLINE, an SZLINE and a session limit
-# exception expires.
-
-#WallAkillExpire
-#WallSGLineExpire
-#WallSQLineExpire
-#WallSZLineExpire
-#WallExceptionExpire
-
-# WallGetpass [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS on use of the NickServ or
-# ChanServ GETPASS command.
-
-WallGetpass
-
-# WallSetpass [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS whenever a Services admin
-# sets a password for a nickname or channel (s)he does not normally have
-# privileges to set.
-
-WallSetpass
-
-# WallForbid [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS on use of the NickServ or
-# ChanServ FORBID command.
-
-WallForbid
-
-# WallDrop [OPTIONAL]
-# Causes Services to send a WALLOPS/GLOBOPS whenever a Services admin
-# drops a nickname or channel (s)he does not normally have
-# privileges to drop.
-
-WallDrop
-
-# LimitSessions [OPTIONAL]
-# Enables session limiting. Session limiting prevents users from
-# connecting more than a certain number of times from the same host at the
-# same time - thus preventing most types of cloning. Once a host reaches
-# it's session limit, all clients attempting to connect from that host
-# will be killed. Exceptions to the default session limit can be defined
-# via the exception list. It should be noted that session limiting, along
-# with a large exception list, can degrade services' performance.
-# See the source and comments in sessions.c and the online help for more
-# information about session limiting.
-
-LimitSessions
-
-# DefSessionLimit <limit> [REQUIRED]
-# Default session limit per host. Once a host reaches it's session limit,
-# all clients attempting to connect from that host will be killed. A value
-# of zero means an unlimited session limit.
-
-DefSessionLimit 3
-
-# MaxSessionLimit <limit> [REQUIRED]
-# The maximum session limit that may be set for a host in an exception.
-
-MaxSessionLimit 100
-
-# ExceptionExpiry <time> [REQUIRED]
-# Sets the default expiry time for exceptions.
-
-ExceptionExpiry 1d
-
-# SessionLimitExceeded <message> [OPTIONAL]
-# The message that will be NOTICE'd to a user just before they are removed
-# from the network because their's host session-limit has been exceeded.
-# It may be used to give a slightly more descriptive reason for the
-# impending kill as apposed to simply "Session limit exceeded". If this is
-# commented out, nothing will be sent.
-
-SessionLimitExceeded "The session limit for your host %s has been exceeded."
-
-# SessionLimitDetailsLoc <message> [OPTIONAL]
-# Same as above, but should be used to provide a website address where
-# users can find out more about session limits and how to go about
-# applying for an exception. If this is commented out, nothing will be
-# sent.
-#
-# This option has been intentionally commented out in an effort to remind
-# you to change the URL it contains. It is recommended that you supply an
-# address/url where people can get help regarding session limits.
-
-#SessionLimitDetailsLoc "Please visit http://your.website.url/ for more information about session limits."
-
-# MaxSessionKill <number> [OPTIONAL]
-#
-# If given and different from 0, this option tells the Services to add an
-# AKILL when there is number subsequent kills for the same hostname, preventing
-# the network from KILL flood.
-
-MaxSessionKill 15
-
-# SessionAutoKillExpiry <time> [OPTIONAL]
-#
-# Sets the expiry time for autokills added for hosts that need to be
-# AKILLed as controlled by the MaxSessionKill option.
-#
-# If not given, the default value is 30 minutes.
-
-SessionAutoKillExpiry 30m
-
-
-# AddAkiller [OPTIONAL]
-# Adds the nickname of the Operator issuing an AKILL to the kill reason.
-#
-AddAkiller
-
-# OSOpersOnly [RECOMMENDED]
-# If this is defined, only IRC Operators will be permitted to use
-# OperServ, regardless of module based command access restrictions.
-
-OSOpersOnly
-
-
-###########################################################################
-#
-# DefCon configuration
-#
-###########################################################################
-
-# DefConLevel <level> [OPTIONAL]
-# Default defcon level (1-5) to use when starting services up, level 5
-# instructs services to run as normal.
-
-#DefConLevel 5
-
-# DefCon1-4 <numeric> [REQUIRED if Defcon is activated]
-# These numercics determine which of the following operations take place
-# at each level, the correct numeric can be found by adding together the
-# number for each restriction you wish to place at a level.
-# No new channel registrations 1
-# No New Nick Registrations 2
-# No MLOCK changes 4
-# Force Chan Mode 8
-# Use Reduced Session Limit 16
-# KILL any new clients trying to connect 32
-# Services will ignore everyone but opers 64
-# Services will silently ignore everyone but opers 128
-# AKILL all new clients trying to connect 256
-# No new memos sent to block memoserv attacks 512
-
-#DefCon4 23
-# No channel reg + No Nick Reg + No MLOCK changes + Use Reduced Session Limit
-# 1 + 2 + 4 + 16
-
-#DefCon3 31
-# As DefCon4 + Services will Force Chan Mode's on channels
-# 23 + 8
-
-#DefCon2 159
-# As DefCon3 + Services will silently ignore everyone but opers
-# 31 + 128
-
-#DefCon1 415
-# As DefCon2 + AKILL all new clients trying to connect
-# 159 + 256
-
-
-# DefConSessionLimit <limit> [REQUIRED if DefCon is activated]
-# New session limit to use when a defcon level is using "reduced"
-# session limiting.
-# NOTE: When using DefCon this value needs to be defined
-#DefConSessionLimit 2
-
-# DefConAkillExpire <time> [REQUIRED if DefCon is activated]
-# Length of time to add the AKILL for when DEFCON is preventing
-# all new clients from connecting to the network
-#
-# NOTE: As with all expire times, the expirey check will only be
-# carried out once every "ExpireTimeout" so if this setting is
-# 30m the the akill could last for 30m regardless of this setting.
-#
-# NOTE: When using DefCon this value needs to be defined
-#DefConAkillExpire 5m
-
-# DefConChanModes <modes> [REQUIRED if DefCon is activated]
-# The channel modes to set on all channel's when the DefCon channel
-# mode system is in use.
-#
-# NOTE: Choose these modes carefully, because when defcon switches to
-# a level which does NOT have the mode setting selected, services will
-# set the reverse on all channel's, e.g. if this setting is +RN
-# when defcon is used all channel's will be set to +RN, when
-# defcon is removed, channels will all be set to -RN. You don't
-# want to set this to +k for example because when defcon is removed all
-# channels will -k.
-# NOTE: mlock'ed modes will not be lost
-#DefConChanModes "+R"
-
-# DefConTimeOut <time> [OPTIONAL]
-# This value can be used to automatically return the network to
-# defcon 5 after the specified time period - just in case any opers
-# forget to remove a defcon setting.
-#DefConTimeOut 15m
-
-# GlobalOnDefcon [OPTIONAL]
-#
-# Setting this directive will make Services send a global message on
-# Defcon Level changes.
-#GlobalOnDefcon
-
-# GlobalOnDefconMore [OPTIONAL]
-#
-# Setting this directive will make Services send a global message on
-# Defcon Level changes. Uncommenting this will allow you to send along
-# with the new level, the DefconMessage.
-#GlobalOnDefconMore
-
-#DefconMessage "Put your message to send your users here. Dont forget to uncomment GlobalOnDefconMore"
-
-# DefConOffMessage [OPTIONAL]
-#
-# If this is defined, it will be used in place of GlobalOnDefcon and
-# GlobalOnDefconMore when defcon is returned to level 5
-#DefConOffMessage "Services are now back to normal, sorry for any inconvenience"
-
-# DefConAkillReason <text> [REQUIRED if DefCon is activated]
-#
-# When using DEFCON this setting will be used when any clients are killed
-# or akilled from the network by defcon
-#
-#DefConAkillReason "This network is currently not accepting connections, please try again later"
-
-###########################################################################
-#
-# Module configuration
-#
-###########################################################################
-#
-# ModuleAutoload [OPTIONAL]
-#
-# This contains a space separated list of modules to automatically load
-#
-# By default a number of modules that we found worth adding by default are
-# loaded. Feel free to change this if you want to add more, or remove some
-# from the list.
-#
-ModuleAutoload "hs_moo ircd_defizzer os_ignore_db cs_appendtopic cs_enforce ns_maxemail os_info hs_request"
-
-###########################################################################
-#
-# Module specific configuration
-#
-###########################################################################
-#
-# This section contains configuration options specific to certain modules.
-# The options in here are for the modules shipped by default. You can add
-# more options for other modules you load here. Check the documentation of
-# the module to see what configuration options it provides.
-
-# NSEmailMax [OPTIONAL]
-# Module: ns_maxemail
-#
-# Limit the amount of registrations with the same email address to the
-# amount given here. If set to 0 or left commented, there will be no limit
-# enforced when registering new accounts or using /msg NickServ SET EMAIL.
-#
-#NSEmailMax 1
-
-# OSInfoDBName [OPTIONAL]
-# Module: os_info
-#
-# Use the given filename as database for the oper information lines.
-# If not given, the default of "os_info.db" will be used.
-#
-#OSInfoDBName "os_info.db"
-
-# HSRequestMemo... [OPTIONAL]
-# Module: hs_request
-#
-# Specify if we should send memo's on certain actions with requested vHosts.
-# Enable HSRequestMemoUser to send memo's to the user requesting a vHost
-# when it's being approved or rejected. Enable HSRequestMemoOper or
-# HSRequestMemoSetters if you want to send a memo to all services staff
-# or host setters when a new vHost is requested.
-#
-#HSRequestMemoUser
-#HSRequestMemoOper
-#HSRequestMemoSetters
-
-# HSRequestDBName [OPTIONAL]
-# Module: hs_request
-#
-# Use the given filename as database for the vhost requests. If not given,
-# the default of "hs_request.db" will be used.
-#
-#HSRequestDBName "hs_request.db"
-
-# OSIgnoreDBName [OPTIONAL]
-# Module: os_ignore_db
-#
-# Use the given filename as database to store services' ignores.
-# If not given, the default of "os_ignore.db" will be used.
-#
-#OSIgnoreDBName "os_ignore.db"
-
-#EOF
+/*
+ * 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 /home/username/services)
+ * under the name "services.conf".
+ *
+ * The format of this file is fairly simple: three types of comments are supported:
+ * - All text after a '#' on a line is ignored, as in shell scripting
+ * - All text after '//' on a line is ignored, as in C++
+ * - A block of text like this one is ignored, as in C
+ *
+ * Outside of comments, there are three structures: blocks, keys, and values.
+ *
+ * A block is a named container, which contains a number of key to value pairs
+ * - you may think of this as an array.
+ *
+ * A block is created like so:
+ * foobar
+ * {
+ * moo = "cow"
+ * foo = bar
+ * }
+ *
+ * Keys are case insensitive. Values depend on what key - generally, information is
+ * given in the key comment. The quoting of values (and most other syntax) is quite
+ * flexible, however, please do not forget to quote your strings:
+ *
+ * "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"
+ *
+ * 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 not permitted. Examples (all of which
+ * represent the same length of time, one day):
+ *
+ * "86400", "86400s", "1440m", "24h", "1d"
+ *
+ * CAUTION:
+ * Please note that your services might _CRASH_ if you add more format-
+ * strings (%s, %d, etc.) to custom messages than Anope needs. Use the
+ * default messages to see how many format-strings are needed.
+ *
+ * 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.
+ */
+
+
+/*
+ * [REQUIRED] IRCd Config
+ *
+ * This section is used to set up Anope to connect to your IRC network.
+ */
+uplink
+{
+ /*
+ * The IP or hostname of the IRC server you wish to connect Services to.
+ * Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
+ *
+ * NOTE: On some shell providers, this will not be an option.
+ */
+ host = "localhost"
+
+ /*
+ * The port to connect to.
+ * The IRCd *MUST* be configured to listen on this port, and to accept
+ * server connections.
+ *
+ * Refer to your IRCd documentation for how this is to be done.
+ */
+ port = 6667
+
+ /*
+ * The password to send to the IRC server for authentication.
+ * This must match the link block on your IRCd.
+ *
+ * Refer to your IRCd documentation for more information on link blocks.
+ */
+ password = "mypassword"
+}
+
+/*
+ * [REQUIRED] Server Information
+ *
+ * This section contains information about the Services server.
+ */
+serverinfo
+{
+ /*
+ * The hostname that Services will be seen as, it must have no conflicts with any
+ * other server names on the rest of your IRC network. Note that it does not have
+ * to be an existing hostname, just one that isn't on your network already. This
+ * can be overridden with the -name command-line option when starting Services.
+ */
+ name = "services.localhost.net"
+
+ /*
+ * The text which should appear as the server's information in /whois and similar
+ * queries. This can be overridden by the -desc command-line option when starting
+ * Services.
+ */
+ description = "Services for IRC Networks"
+
+ /*
+ * The local address that Services will bind to before connecting to the remote
+ * server. This may be useful for multihomed hosts. If neither of these are given,
+ * 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. These directives are optional, and may be overridden
+ * with the -local command-line option when starting Services.
+ *
+ * If you don't know what this means or don't need to use it, just leave these
+ * directives commented out.
+ */
+ #localhost = "nowhere."
+ #localport = 0
+
+ /*
+ * This directive instructs Anope which IRCd Protocol to speak when connecting.
+ * You MUST modify this to match the IRCd you run.
+ *
+ * Supported:
+ * - inspircd11
+ * - ratbox
+ * - bahamut
+ * - charybdis
+ * - unreal32
+ */
+ type = "inspircd11"
+
+ /*
+ * What Server ID to use for this connection?
+ * Note: This should *ONLY* be used for TS6/P10 IRCds.
+ */
+ #id = "64"
+
+ /*
+ * These identify the ident@hostname which will be used by the Serivces pesudoclients.
+ * They can be overridden by the -user and -host command-line options when starting
+ * Services.
+ */
+ ident = "services"
+ hostname = "localhost.net"
+
+ /*
+ * The filename containing the Services process ID. The path is relative to the
+ * services executable. If not given, defaults to "services.pid".
+ */
+ pid = "services.pid"
+
+ /*
+ * The filename containing the Message of the Day. The path is relative to the
+ * services executable. If not given, defaults to "services.motd".
+ */
+ motd = "services.motd"
+}
+
+/*
+ * [REQUIRED] Network Information
+ *
+ * This section contains information about the IRC network that Services will be
+ * connecting to.
+ */
+networkinfo
+{
+ /*
+ * For the given channel, every use that has or gets op status of the channel
+ * will automatically receive the +h user mode. This directive is optional.
+ */
+ helpchannel = "#help"
+
+ /*
+ * If set, Services will output log messages to the given channel. This
+ * directive is optional.
+ *
+ * IMPORTANT: This can be a security risk, so make certain this channel is
+ * sufficiently protected from normal access.
+ */
+ #logchannel = "#services"
+
+ /*
+ * If set, Services will output all BotServ chatter to the defined logchannel
+ * above. It shows all uses of BotServ ACT and SAY commands. Note that there
+ * is no logging to the log file. Only works if logchannel is also defined.
+ * This directive is optional.
+ */
+ #logbot = yes
+
+ /*
+ * This is the name of the network that Services will be running on.
+ */
+ networkname = "LocalNet"
+
+ /*
+ * Set this to the maximum allowed nick length on your network. Anope does not
+ * support values larger than 31. Be sure to set this correctly, as setting
+ * this wrong can result in Services being disconnected from the network.
+ * This directive is optional, but recommended.
+ */
+ nicklen = 31
+}
+
+/*
+ * [REQUIRED] Services Options
+ *
+ * This section contains various options which determine how Services will operate.
+ */
+options
+{
+ /*
+ * The encryption module to use when dealing with passwords. This determines how
+ * the passwords are stored in the databases, and does not add any security as
+ * far as transmitting passwords over the network goes.
+ *
+ * When using enc_none, passwords will be stored without encryption in plain
+ * text, allowing for passwords to be recovered later. The other encryption modules
+ * use one-way encryption, so the passwords can not be recovered later if those
+ * are used.
+ *
+ * NOTE: enc_old is Anope's previous (broken) MD5 implementation, if your databases
+ * were made using that module, continue to use it and do not use enc_md5.
+ *
+ * Supported:
+ * - enc_none (plain text, no encryption)
+ * - enc_old (old, broken MD5 encryption)
+ * - enc_md5 (working MD5 encryption)
+ * - enc_sha1 (SHA1 encryption)
+ */
+ encryption = "enc_none"
+
+ /*
+ * These keys are used to initiate the random number generator. These numbers
+ * MUST be random as you want your passcodes to be random. Don't give these
+ * keys to anyone! Keep them private!
+ *
+ * NOTE: If you don't uncomment these or keep their default values, any talented
+ * programmer would be able to easily "guess" random strings used to mask
+ * information. Be safe, and come up with three different 7-digit numbers.
+ *
+ * These directives are optional, but highly recommended.
+ */
+ #userkey1 = 9866235
+ #userkey2 = 8362013
+ #userkey3 = 2362899
+
+ /*
+ * Allows Services to continue file write operations (i.e. database saving)
+ * even if the original file cannot be backed up. Enabling this option may
+ * allow Services to continue operation under conditions where it might
+ * otherwise fail, such as a nearly-full disk.
+ *
+ * NOTE: Enabling this option can cause irrecoverable data loss under some
+ * conditions, so make CERTAIN you know what you're doing when you enable it!
+ *
+ * This directive is optional, and you are discouraged against enabling it.
+ */
+ #nobackupokay = yes
+
+ /*
+ * If set, Services will perform more stringent checks on passwords. If this
+ * isn't set, Services will only disallow a password if it is the same as the
+ * entity (nickname or channel name) with which it is associated. When set,
+ * 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. This directive is optional, but recommended.
+ */
+ strictpasswords = yes
+
+ /*
+ * Sets the number of invalid password tries before Services removes a user
+ * from the network. If a user enters a number of invalid passwords equal to
+ * the given amount for any Services function or combination of functions
+ * during a single IRC session (subject to badpasstimeout, below), Services
+ * will issues a /KILL for the user. If not given, Services will ignore
+ * failed password attempts (though they will be logged in any case). This
+ * directive is optional, but recommended.
+ */
+ badpasslimit = 5
+
+ /*
+ * Sets the time after which invalid passwords are forgotten about. If a user
+ * does not enter any incorrect passwords in this amount of time, the incorrect
+ * password count will reset to zero. If not given, the timeout will be
+ * disabled, and the incorrect password count will never be reset until the user
+ * disconnects. This directive is optional.
+ */
+ badpasstimeout = 1h
+
+ /*
+ * Sets the delay between automatic database updates. This time is reset by
+ * the OperServ UPDATE command.
+ */
+ updatetimeout = 5m
+
+ /*
+ * Sets the delay between checks for expired nicknames and channels. The
+ * OperServ UPDATE command will also cause a check for expiration and reset
+ * this timer.
+ */
+ expiretimeout = 30m
+
+ /*
+ * Sets the timout period for reading from the uplink.
+ */
+ readtimeout = 5s
+
+ /*
+ * Sets the interval between sending warning messages for program errors via
+ * WALLOPS/GLOBOPS.
+ */
+ warningtimeout = 4h
+
+ /*
+ * Sets the (maximum) frequency at which the timeout list is checked. This,
+ * combined with readtimeout above, determine how accurately timed events,
+ * such as nick kills, occur; it also determines how much CPU time Services
+ * will use doing this. Higher values will cause less accurate timing but
+ * less CPU usage.
+ *
+ * This shouldn't be set any higher than 10 seconds, and 1 second is best
+ * if your system is powerful enough (or your network small enough) to
+ * handle it. 0 will cause the timeout list to be checked every time
+ * through the main loop, which will probably slow down Services too much
+ * to be useful on most networks.
+ *
+ * Note that this value is not an absolute limit on the period between
+ * checks of the timeout list; the previous may be as great as readtimeout
+ * (above) during periods of inactivity.
+ *
+ * If this directive is not given, it will default to 0. See the 2nd paragraph
+ * above for performance impacts if you do this.
+ */
+ timeoutcheck = 3s
+
+ /*
+ * Sets the number of days log files are kept. If you don't give it, or if you
+ * set it to 0, logs will be kept indefinitely.
+ *
+ * NOTE: Services must run 24 hours a day for this feature to work.
+ *
+ * This directive is optional, but recommended.
+ */
+ keeplogs = 7
+
+ /*
+ * Sets the number of days backups of databases are kept. If you don't give it,
+ * or if you set it to 0, Services won't backup the databases.
+ *
+ * NOTE: Services must run 24 hours a day for this feature to work.
+ *
+ * This directive is optional, but recommended.
+ */
+ keepbackups = 3
+
+ /*
+ * If set, Services will require a reason when a FORBID is added, else the
+ * reason is optional. This directive also applies to SUSPENDed channels as
+ * well. This directive is optional.
+ */
+ forceforbidreason = yes
+
+ /*
+ * If set, this will allow users to let Services send PRIVMSGs to them
+ * instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
+ * which also toggles the default communication (PRIVMSG or NOTICE) to
+ * use for unregistered users. This directive is optional.
+ *
+ * This is a feature that is against the IRC RFC and should be used ONLY
+ * if absolutely necessary.
+ */
+ #useprivmsg = yes
+
+ /*
+ * If set, will force Services to only respond to PRIVMSGs addresses to
+ * Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
+ * conjunction with IRCd aliases. This directive is optional.
+ *
+ * When using Bahamut, this option will NOT work if the uplink server is
+ * configured as a services hub. The serviceshub option is not designed to
+ * be used with Anope.
+ */
+ #usestrictprivmsg = yes
+
+ /*
+ * If set, Anope will dump core when a segmentation fault occurs. This is
+ * generally not needed, but if Anope is crashing on your network and you
+ * want to make a bug report, having a core file may be of great help.
+ * This directive is optional.
+ */
+ #dumpcore = yes
+
+ /*
+ * If set, Anope will log user connections, disconnections, and nickname
+ * changes. You may have to do so in case you ever need to transmit user
+ * information to your local authorities. This directive is optional.
+ */
+ #logusers = yes
+
+ /*
+ * If set, Services will only show /stats o to IRC Operators. This directive
+ * is optional.
+ */
+ #hidestatso = yes
+
+ /*
+ * If set, Services will send global messages on starting up and shutting
+ * down/restarting. This directive is optional.
+ */
+ #globaloncycle = yes
+
+ /*
+ * This is the global message that will be sent when Services are being
+ * shutdown/restarted. This directive is only required if you enable
+ * globaloncycle above.
+ */
+ globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
+
+ /*
+ * This is the global message that will be sent when Services (re)join the
+ * network. This directive is only required if you enable globaloncycle above.
+ */
+ globaloncycleup = "Services are now back online - have a nice day"
+
+ /*
+ * If set, Services will hide the IRC operator's nick in a global
+ * message/notice. This directive is optional.
+ */
+ #anonymousglobal = yes
+
+ /*
+ * Prevents users from registering their nick if they are not connected
+ * for at least the given number of seconds. This directive is optional.
+ */
+ #nickregdelay = 30
+
+ /*
+ * If set, forbids the registration of nicks that contain an existing
+ * nick with Services access. For example, if Tester is a Services Oper,
+ * you can't register NewTester or Tester123 unless you are an IRC
+ * Operator. This directive is optional.
+ *
+ * NOTE: If you enable this, you will have to be logged in as an IRC
+ * operator in order to register a Services Root nick when setting up
+ * Anope for the first time.
+ */
+ #restrictopernicks = yes
+
+ /*
+ * The number of LOGON/OPER news items to display when a user logs on.
+ * This directive is optional, if left out, defaults to 3.
+ */
+ #newscount = 3
+
+ /*
+ * A space-separated list of ulined servers on your network, it is assumed that
+ * the servers in this list are allowed to set channel modes and Services will
+ * not attempt to reverse their mode changes. This directive is optional.
+ *
+ * WARNING: Do NOT put your user servers in this directive.
+ */
+ ulineservers = "stats.your.network proxy.your.network"
+}
+
+/*
+ * [OPTIONAL] Mail Config
+ *
+ * This section contains settings related to the use of e-mail from Services.
+ * If the usemail directive is set to yes, unless specified otherwise, all other
+ * directives are required.
+ */
+mail
+{
+ /*
+ * If set, this option enables the mail commands in Services. You may choose
+ * to disable it if you have no Sendmail-compatible mailer installed. While
+ * this directive (and entire block) is optional, it is required if the
+ * nickserv:emailregistration is set to yes.
+ */
+ usemail = yes
+
+ /*
+ * This is the command-line that will be used to call Sendmail to send an
+ * e-mail. It must be called with all the parameters needed to make it
+ * scan the mail input to find the mail recipient; consult your Sendmail
+ * documentation.
+ *
+ * Postfix users must use the compatible sendmail utility provided with
+ * it; this one usually needs no parameters on the command-line. Most
+ * sendmail applications (or replacements of it) require the -t option
+ * to be used.
+ */
+ sendmailpath = "/usr/sbin/sendmail -t"
+
+ /*
+ * This is the e-mail address from which all the e-mails are to be sent from.
+ * It should really exist.
+ */
+ sendfrom = "services@localhost.net"
+
+ /*
+ * If set, SENDPASS will be restricted to IRC operators. This directive is
+ * optional.
+ *
+ * WARNING: If you choose to not enable this option, you should limit the
+ * number of processes that the services user can have at a time (you can
+ * create a special user for this; remember to NEVER launch Services as
+ * root).
+ */
+ restrict = yes
+
+ /*
+ * This controls the minimum amount of time an user must wait before sending
+ * another e-mail after they have sent one. It also controls the minimum time
+ * an user must wait before they can receive another e-mail. This directive
+ * is optional, but recommended.
+ *
+ * This feature prevents users from being mail bombed using Services and
+ * it is highly recommended that it be used.
+ */
+ delay = 5m
+
+ /*
+ * If set, Services will not attempt to put quotes around the TO: fields
+ * in e-mails. This directive is optional, and as far as we know, it's
+ * only needed if you are using ESMTP or QMail to send out e-mails.
+ */
+ #dontquoteaddresses = yes
+}
+
+/*
+ * [REQUIRED] NickServ Config
+ *
+ * This section is used to set up the Nickname Registration Service pseudo-client.
+ * Unless specified otherwise, all directives are required.
+ */
+nickserv
+{
+ /*
+ * The nickname of the NickServ client.
+ */
+ nick = "NickServ"
+
+ /*
+ * The description of the NickServ client, which will be used as the GECOS (real
+ * name) of the client.
+ */
+ description = "Nickname Registration Service"
+
+ /*
+ * The filename of the NickServ database. The path is relative to the services
+ * executable. If not given, defaults to "nick.db".
+ */
+ database = "nick.db"
+
+ /*
+ * The filename of the NickServ Pre-Nick database. The path is relative to the
+ * services executable. This directive is only required if the e-mail registration
+ * option is enabled.
+ */
+ #prenickdatabase = "prenick.db"
+
+ /*
+ * The core modules to load for NickServ. This is a space separated list that corresponds
+ * to the base names of the modules for NickServ. This directive is optional, but highly recommended.
+ */
+ modules = "ns_help ns_register ns_group ns_identify ns_access ns_set ns_saset ns_drop ns_recover ns_release ns_sendpass ns_ghost ns_alist ns_info ns_list ns_logout ns_status ns_update ns_getpass ns_getemail ns_forbid ns_suspend"
+
+ /*
+ * Force users to give an e-mail address when they register a nick. This directive
+ * is recommended to be enabled, and required if the e-mail registration option is
+ * enabled.
+ */
+ forceemail = yes
+
+ /*
+ * Require an e-mail to be sent to the user before they can register their nick.
+ */
+ #emailregistration = yes
+
+ /*
+ * The default options for newly registered nicks. Note that changing these options
+ * will have no effect on nicks which are already registered. The list must be separated
+ * by spaces.
+ *
+ * The options are:
+ * - kill: Kill nick if not identified within 60 seconds
+ * - killquick: Kill nick if not identified within 20 seconds, this one overrides the above
+ * option and the above must be specified with this one
+ * - secure: Enable nickname security, requiring the nick's password before any operations
+ * can be done on it
+ * - private: Hide the nick from NickServ's LIST command
+ * - hideemail: Hide's the nick's e-mail address from NickServ's INFO command
+ * - hideusermask: Hide's the nick's last or current user@host from NickServ's INFO command
+ * - hidequit: Hide's the nick's last quit message
+ * - memosignon: Notify user if they have a new memo when they sign into the nick
+ * - memoreceive: Notify user if they have a new memo as soon as it's received
+ * - autoop: User will be automatically opped in channels they enter and have access to
+ * - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires UsePrivmsg
+ * to be enabled as well
+ *
+ * This directive is optional, if left blank, the options will default to secure, memosignon, and
+ * memoreceive. If you really want no defaults, use "none" by itself as the option.
+ */
+ defaults="secure private hideemail hideusermask memosignon memoreceive autoop"
+
+ /*
+ * Default language that non- and newly-registered nicks will receive messages in. The number
+ * here is the same as the number in NickServ's SET LANGUAGE help.
+ */
+ defaultlanguage = 1
+
+ /*
+ * The minimum length of time between consecutive uses of NickServ's REGISTER command. This
+ * directive is optional, but recommended. If not set, this restriction will be disabled.
+ */
+ regdelay = 30s
+
+ /*
+ * The minimum length of time between consecutive uses of NickServ's RESEND command. This
+ * directive is optional, but recommended. If not set, this restriction will be disabled.
+ */
+ resenddelay = 90s
+
+ /*
+ * The length of time before a nick registration expires. This directive is optional, but
+ * recommended. If not set, the default is 21 days.
+ */
+ expire = 21d
+
+ /*
+ * The length of time a user gets to enter the confirmation code which has been e-mailed
+ * to them before the nick will be released for general use again. This directive is
+ * only required if the e-mail registration option is enabled.
+ */
+ #preregexpire = 1d
+
+ /*
+ * The maximum number of nicks allowed in a group. This directve is optional, but
+ * recommended. If not set or set to 0, no limits will be applied.
+ */
+ maxaliases = 16
+
+ /*
+ * The maximum number of entries allowed on a nickname's access list.
+ */
+ accessmax = 32
+
+ /*
+ * The username (and possibly hostname) used for the fake user created when NickServ collides
+ * a user. Should be in the user@host format. If the host is not given, the one from ServicesUser
+ * is used.
+ */
+ enforceruser = "enforcer@localhost.net"
+ #enforceruser = "enforcer"
+
+ /*
+ * The delay before a NickServ-collided nick is released.
+ */
+ releasetimeout = 1m
+
+ /*
+ * Allow the use of the IMMED option in the NickServ SET KILL command. This directive is optional.
+ */
+ #allowkillimmed = yes
+
+ /*
+ * If set, the NickServ GROUP command won't allow any group change. This is recommended for
+ * better performance and to protect against nick stealing, however users will have less
+ * flexibility. This directive is optional.
+ */
+ #nogroupchange = yes
+
+ /*
+ * Limits the use of the NickServ LIST command to IRC operators. This directive is optional.
+ */
+ #listopersonly = yes
+
+ /*
+ * The maximum number of nicks to be returned for a NickServ LIST command.
+ */
+ listmax = 50
+
+ /*
+ * When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
+ * with this value. The rest will be made up of 6 or 7 digits.
+ */
+ guestnickprefix = "Guest"
+
+ /*
+ * Prevents the use of the DROP, FORBID, GETPASS, and SET PASSWORD commands by Services Admins
+ * on other Services Admins or the Services Root(s). This directive is optional, but
+ * recommended.
+ */
+ secureadmins = yes
+
+ /*
+ * If set, any user wanting to use the privileges of Services Root, Services Admin, or Services
+ * Operator must have been logged as an IRC Operator with the /oper command. This directive is
+ * optional, but recommended.
+ */
+ strictprivileges = yes
+
+ /*
+ * If set, Services will set the channel modes a user has access to upon identifying, assuming
+ * they are not already set. This directive is optional.
+ */
+ #modeonid = yes
+
+ /*
+ * If set, Services will only allow Services Root(s) to use the NickServ GETPASS command on
+ * a nick. This directive is optional.
+ */
+ restrictgetpass = yes
+
+ /*
+ * If set, Services will track your last nick identified when issuing nick changes. This
+ * directive is optional.
+ */
+ #nicktracking = yes
+
+ /*
+ * If set, Services will add the usermask of registering users to the access list of their
+ * newly created account. If not set, users will always have to identify to NickServ before
+ * being recognized, unless they manually add an address to the access list of their account.
+ * This directive is optional.
+ */
+ addaccessonreg = yes
+}
+
+/*
+ * [REQUIRED] ChanServ Config
+ *
+ * This section is used to set up the Channel Registration Service pseudo-client.
+ * Unless specified otherwise, all directives are required.
+ */
+chanserv
+{
+ /*
+ * The nickname of the ChanServ client.
+ */
+ nick = "ChanServ"
+
+ /*
+ * The description of the ChanServ client, which will be used as the GECOS (real
+ * name) of the client.
+ */
+ description = "Channel Registration Service"
+
+ /*
+ * The filename of the ChanServ database. The path is relative to the services
+ * executable. If not given, defaults to "chan.db".
+ */
+ database = "chan.db"
+
+ /*
+ * The core modules to load for ChanServ. This is a space separated list that corresponds
+ * to the base names of the modules for ChanServ. This directive is optional, but highly recommended.
+ */
+ modules = "cs_help cs_register cs_identify cs_set cs_xop cs_access cs_akick cs_drop cs_sendpass cs_ban cs_clear cs_modes cs_getkey cs_invite cs_kick cs_list cs_logout cs_topic cs_info cs_getpass cs_forbid cs_suspend cs_status"
+
+ /*
+ * The default options for newly registered channels. Note that changing these options
+ * will have no effect on channels which are already registered. The list must be separated
+ * by spaces.
+ *
+ * The options are:
+ * - keeptopic: Retain topic when the channel is not in use
+ * - opnotice: Send a notice when OP/DEOP commands are used
+ * - peace: Disallow users from kicking or removing modes from others who are of the same
+ * access level or superior
+ * - private: Hide the channel from ChanServ's LIST command
+ * - restricted: Kick/ban users who are restricted from the channel
+ * - secure: Enable channel security, requiring the user to be identified with NickServ in
+ * order to be considered for being on the access list of the channel
+ * - secureops: Only allow operator status to be given if the user is on the access list
+ * - securefounder: Only allow the real founder of the channel to drop the channel, change it's
+ * password, or change the founder or succesor
+ * - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
+ * - signkicklevel: Same as above, but the kick will not be signed if the user is at the same access
+ * level or superior to the target
+ * - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
+ * - xop: Enable use of the xOP system
+ *
+ * This directive is optional, if left blank, the options will default to keetopic, secure, securefounder,
+ * and signkick. If you really want no defaults, use "none" by itself as the option.
+ */
+ defaults="keeptopic peace secure securefounder signkick xop"
+
+ /*
+ * The maximum number of channels which may be registered to a single nickname. This directive is optional,
+ * but recommended. If not set, there will be no restriction on the numbers of channels a single nickname
+ * can have registered.
+ */
+ maxregistered = 20
+
+ /*
+ * The length of time before a channel registration expires. This directive is optional, but
+ * recommended. If not set, the default is 14 days.
+ */
+ expire = 14d
+
+ /*
+ * The default ban type for newly registered channels (and when importing old databases).
+ *
+ * defbantype can be:
+ *
+ * 0: ban in the form of *!user@host
+ * 1: ban in the form of *!*user@host
+ * 2: ban in the form of *!*@host
+ * 3: ban in the form of *!*user@*.domain
+ */
+ defbantype = 2
+
+ /*
+ * The maximum number of entries on a channel's access list.
+ */
+ accessmax = 1024
+
+ /*
+ * The maximum number of entries on a channel's autokick list.
+ */
+ autokickmax = 32
+
+ /*
+ * The default reason for an autokick if none is given.
+ */
+ autokickreason = "User has been banned from the channel"
+
+ /*
+ * The length of time ChanServ stays in a channel after kicking a user from a channel they are not
+ * premitted to be in. This only occurs when the user is the only one in the channel.
+ */
+ inhabit = 15s
+
+ /*
+ * Limits the use of the ChanServ LIST command to IRC operators. This directive is optional.
+ */
+ #listopersonly = yes
+
+ /*
+ * The maximum number of channels to be returned for a ChanServ LIST command.
+ */
+ listmax = 50
+
+ /*
+ * If set, Services will only allow Services Root(s) to use the ChanServ GETPASS command on a
+ * channel. This directive is optional.
+ */
+ #restrictgetpass = yes
+
+ /*
+ * Allow only IRC Operators to use ChanServ. This directive is optional.
+ */
+ #opersonly = yes
+}
+
+/*
+ * [REQUIRED] MemoServ Config
+ *
+ * This section is used to set up the Memo Service pseudo-client. Unless specified otherwise,
+ * all directives are required.
+ */
+memoserv
+{
+ /*
+ * The nickname of the MemoServ client.
+ */
+ nick = "MemoServ"
+
+ /*
+ * The description of the MemoServ client, which will be used as the GECOS (real
+ * name) of the client.
+ */
+ description = "Memo Service"
+
+ /*
+ * The core modules to load for MemoServ. This is a space separated list that corresponds
+ * to the base names of the modules for MemoServ. This directive is optional, but highly recommended.
+ */
+ modules = "ms_send ms_cancel ms_list ms_read ms_del ms_set ms_info ms_rsend ms_check ms_staff ms_sendall ms_help"
+
+ /*
+ * The maximum number of memos a user is allowed to keep by default. Normal users may set the
+ * limit anywhere between 0 and this value. Services Admins can change it to any value or
+ * disable it. This directive is optional, but recommended. If not set, the limit is disabled
+ * by default, and normal users can set any limit they want.
+ */
+ maxmemos = 20
+
+ /*
+ * The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
+ * as well as denial-of-service attacks from sending large numbers of memos and filling up disk
+ * space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
+ * per second per user under the current IRC protocol. This directive is optional, but
+ * recommended.
+ */
+ senddelay = 3s
+
+ /*
+ * Should we notify all appropriate users of a new memo? This applies in cases where a memo is
+ * sent to a nick which is in the group of another nick. Not that, unlike before, it is currently
+ * more efficient to enable this. This directive is optional.
+ */
+ notifyall = yes
+
+ /*
+ * Allow the use of memo receipts for the following groups:
+ *
+ * 1 - Opers Only
+ * 2 - Everybody
+ *
+ * This directive is optional.
+ */
+ #memoreceipt = 1
+}
+
+/*
+ * [OPTIONAL] BotServ Config
+ *
+ * This section is used to set up the Bot Service pseudo-client. The block is optional and can be
+ * removed if you do not wish to have BotServ on your network. Unless specified otherwise,
+ * all directives are required if you do wish to use BotServ.
+ */
+botserv
+{
+ /*
+ * The nickname of the BotServ client.
+ */
+ nick = "BotServ"
+
+ /*
+ * The description of the BotServ client, which will be used as the GECOS (real
+ * name) of the client.
+ */
+ description = "Bot Service"
+
+ /*
+ * The filename of the BotServ database. The path is relative to the services
+ * executable. If not given, defaults to "bot.db".
+ */
+ database = "bot.db"
+
+ /*
+ * The core modules to load for BotServ. This is a space separated list that corresponds
+ * to the base names of the modules for BotServ. This directive is optional, but highly recommended.
+ */
+ modules = "bs_help bs_botlist bs_assign bs_set bs_kick bs_badwords bs_act bs_info bs_say bs_unassign bs_bot bs_fantasy bs_fantasy_kick bs_fantasy_kickban bs_fantasy_owner bs_fantasy_seen bs_fantasy_unban"
+
+ /*
+ * The default bot options for newly registered channel. Note that changing these options
+ * will have no effect on channels which are already registered. The list must be separated
+ * by spaces.
+ *
+ * The options are:
+ * - dontkickops: Channel operators will be protected against BotServ kicks
+ * - dontkickvoices: Voiced users will be protected against BotServ kicks
+ * - greet: The channel's BotServ bot will greet incoming users that have set a greet
+ * in their NickServ settings
+ * - fantasy: Enables the use of BotServ fantasy commands in the channel
+ * - symbiosis: Causes the BotServ bot to do all actions that would normally have been
+ * done by ChanServ
+ *
+ * This directive is optional, if left blank, there will be no defaults.
+ */
+ defaults="greet fantasy symbiosis"
+
+ /*
+ * The minimum number of users there must be in a channel before the bot joins it. The best
+ * value for this setting is 1 or 2. This cannot be 0, otherwise topic retention and mode
+ * lock and such other things won't work.
+ */
+ minusers = 1
+
+ /*
+ * The maximum number of entries a single bad words list can have. Setting it too high can
+ * reduce performance slightly.
+ */
+ badwordsmax = 32
+
+ /*
+ * The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
+ * it is reset or deleted depending on the case. Do not set it too high, otherwise your
+ * resources will be slightly affected.
+ */
+ keepdata = 10m
+
+ /*
+ * The bots are currently not affected by any modes or bans when they try to join a channel.
+ * But some people may want to make it act like a real bot, that is, for example, remove all
+ * the bans affecting the bot before joining the channel, remove a ban that affects the bot
+ * set by an user when it is in the channel, and so on. Since it consumes a bit more CPU
+ * time, you should not enable this on larger networks. This directive is optional.
+ */
+ #smartjoin = yes
+
+ /*
+ * If set, the bots will use a kick reason that does not retake the word when it is kicking.
+ * This is especially useful if you have young people on your network. This directive is
+ * optional.
+ */
+ gentlebadwordreason = yes
+
+ /*
+ * If set, BotServ will use case sensitive checking for badwords. This directive is optional.
+ */
+ #casesensitive = yes
+
+ /*
+ * Defines the prefix for fantasy commands in channels. This character will have to be prepended
+ * to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
+ * "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
+ */
+ #fantasycharacter = "!"
+}
+
+/*
+ * [OPTIONAL] HostServ Config
+ *
+ * This section is used to set up the vHost Service pseudo-client. The block is optional and can be
+ * removed if you do not wish to have HostServ on your network. Unless specified otherwise,
+ * all directives are required if you do wish to use HostServ.
+ */
+hostserv
+{
+ /*
+ * The nickname of the HostServ client.
+ */
+ nick = "HostServ"
+
+ /*
+ * The description of the HostServ client, which will be used as the GECOS (real
+ * name) of the client.
+ */
+ description = "vHost Service"
+
+ /*
+ * The filename of the HostServ database. The path is relative to the services
+ * executable. If not given, defaults to "hosts.db".
+ */
+ database = "hosts.db"
+
+ /*
+ * The core modules to load for HostServ. This is a space separated list that corresponds
+ * to the base names of the modules for HostServ. This directive is optional, but highly recommended.
+ */
+ modules = "hs_help hs_on hs_off hs_group hs_list hs_set hs_setall hs_del hs_delall"
+
+ /*
+ * Specifies the nicks of NON-OPERS allowed to set or remove vHosts using HostServ. Can be re-loaded
+ * with /msg operserv reload. You can specify more than one nick by separating each one by a space.
+ *
+ * This directive is optional, but you are discouraged from using it. It is recommended that you only
+ * give opers the ability to set or remove vHosts by making them Services Opers or higher, but if you
+ * do decide to use this directive, make sure you insert the correct nick(s) here.
+ */
+ #hostsetters = "CyberBotX w00t"
+}
+
+/*
+ * [REQUIRED] HelpServ Config
+ *
+ * This section is used to set up the Help Service pseudo-client. All directives are required.
+ */
+helpserv
+{
+ /*
+ * The nickname of the HelpServ client.
+ */
+ nick = "HelpServ"
+
+ /*
+ * The description of the HelpServ client, which will be used as the GECOS (real
+ * name) of the client.
+ */
+ description = "Help Service"
+
+ /*
+ * The core modules to load for HelpServ. This is a space separated list that corresponds
+ * to the base names of the modules for HelpServ. This directive is optional, but highly recommended.
+ */
+ modules = "he_help"
+}
+
+/*
+ * [REQUIRED] OperServ Config
+ *
+ * This section is used to set up the Operator Service pseudo-client. Unless specified otherwise,
+ * all directives are required.
+ */
+operserv
+{
+ /*
+ * The nickname of the OperServ client.
+ */
+ nick = "OperServ"
+
+ /*
+ * The description of the OperServ client, which will be used as the GECOS (real
+ * name) of the client.
+ */
+ description = "Operator Service"
+
+ /*
+ * The nickname of the Global client.
+ */
+ globalnick = "Global"
+
+ /*
+ * The description of the Global client, which will be used as the GECOS (real
+ * name) of the client.
+ */
+ globaldescription = "Global Noticer"
+
+ /*
+ * The filename of the OperServ database. The path is relative to the services
+ * executable. If not given, defaults to "oper.db".
+ */
+ database = "oper.db"
+
+ /*
+ * The filename of OperServ's News database. The path is relative to the services
+ * executable. If not given, defaults to "news.db".
+ */
+ newsdatabase = "news.db"
+
+ /*
+ * The filename of OperServ's Session Exception database. The path is relative to the services
+ * executable. If not given, defaults to "exception.db".
+ */
+ exceptiondatabase = "exception.db"
+
+ /*
+ * The core modules to load for OperServ. This is a space separated list that corresponds
+ * to the base names of the modules for OperServ. This directive is optional, but highly recommended.
+ */
+ modules = "os_help os_global os_stats os_oper os_admin os_staff os_mode os_kick os_clearmodes os_akill os_sgline os_sqline os_szline os_chanlist os_userlist os_logonnews os_randomnews os_opernews os_session os_noop os_jupe os_ignore os_set os_reload os_update os_restart os_quit os_shutdown os_defcon os_chankill os_svsnick os_oline os_umode os_modload os_modunload os_modlist os_modinfo"
+
+ /*
+ * Specifies the Services "super-users". The super-users, or "roots" as in Unix terminology, are
+ * the only uses who can add or delete Services Admins.
+ *
+ * You can specify more than one nick by separating each one by a space.
+ *
+ * This is commented out by default; make sure you insert the correct nicks before uncommenting it.
+ */
+ #servicesroot = "CyberBotX w00t"
+
+ /*
+ * If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
+ * them extra privileges, such as being a founder on ALL channels, ability to adjust another
+ * users' modes, etc. This directive is optional.
+ */
+ #superadmin = yes
+
+ /*
+ * If set, causes Services to write a message to the log every time a new user maximum is set.
+ * This directive is optional.
+ */
+ logmaxusers = yes
+
+ /*
+ * These define the default expiration times for, respectively, AKILLs, CHANKILLs, SGLINEs,
+ * SQLINEs, and SZLINEs.
+ */
+ autokillexpiry = 30d
+ chankillexpiry = 30d
+ sglineexpiry = 30d
+ sqlineexpiry = 30d
+ szlineexpiry = 30d
+
+ /*
+ * If set, this option will make Services send an AKILL command immediately after it has been
+ * added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
+ * been added. This directive is optional.
+ */
+ #akillonadd = yes
+
+ /*
+ * If set, this option will make Services send an (SVS)KILL command immediately after SGLINE ADD.
+ * This eliminates the need for killingthe user after the SGLINE has been added. This directive
+ * is optional.
+ */
+ #killonsgline = yes
+
+ /*
+ * If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
+ * This eliminates the need for killingthe user after the SQLINE has been added. This directive
+ * is optional.
+ */
+ #killonsqline = yes
+
+ /*
+ * Disables the highly destructive OperServ RAW command. This directive is optional, but HIGHLY
+ * recommended. Not setting this and causing problems with your network using RAW will not be
+ * supported.
+ */
+ disableraw = yes
+
+ /*
+ * Defines what actions should trigger notifications. The list must be separated by spaces.
+ *
+ * The notifications are:
+ * - oper: A user has become an IRC operator
+ * - bados: A non-IRCop attempts to use OperServ
+ * - osglobal: OperServ's GLOBAL command was used
+ * - osmode: OperServ's MODE command was used
+ * - osclearmodes: OperServ's CLEARMODES command was used
+ * - oskick: OperServ's KICK command was used
+ * - osakill: OperServ's AKILL command was used
+ * - ossgline: OperServ's SGLINE command was used
+ * - ossqline: OperServ's SQLINE command was used
+ * - osszline: OperServ's SZLINE command was used
+ * - osnoop: OperServ's NOOP command was used
+ * - osjupe: OperServ's JUPE command was used
+ * - osraw: OperServ's RAW command was used
+ * - akillexpire: An AKILL has expired
+ * - sglineexpire: An SGLINE has expired
+ * - sqlineexpire: An SQLINE has expired
+ * - szlineexpire: An SZLINE has expired
+ * - exceptionexpire: A session exception has expired
+ * - getpass: NickServ's or ChanServ's GETPASS command was used
+ * - setpass: A Services Admin has set the password of a nickname or channel they do
+ * not normally have access to
+ * - forbid: NickServ's or ChanServ's FORBID command was used
+ * - drop: A Services Admin has dropped a nickname or channel they do not normally
+ * have access to
+ *
+ * This directive is optional, if left blank, there will be no notifications.
+ */
+ notifications="osglobal osmode osclearmodes oskick osakill ossgline ossqline osszline osnoop osjupe osraw getpass setpass forbid drop"
+
+ /*
+ * Enables session limiting. Session limiting prevents users from connecting more than a certain
+ * number of times from the same host at the same time - thus preventing most types of cloning.
+ * Once a host reaches it's session limit, all clients attempting to connect from that host will
+ * be killed. Exceptions to the default session limit can be defined via the exception list. It
+ * should be noted that session limiting, along with a large exception list, can degrade Services'
+ * performance.
+ *
+ * See the source and comments in sessions.c and the online help for more information about
+ * session limiting.
+ *
+ * This directive is optional.
+ */
+ limitsessions = yes
+
+ /*
+ * Default session limit per host. Once a host reaches it's session limit, all clients attempting
+ * to connect from that host will be killed. A value of zero means an unlimited session limit.
+ * If not given and session limiting is enabled, it will default to no limit.
+ */
+ defaultsessionlimit = 3
+
+ /*
+ * The maximum session limit that may be set for a host in an exception. This directive is only
+ * required if session limiting is enabled.
+ */
+ maxsessionlimit = 100
+
+ /*
+ * Sets the default expiry time for session exceptions. This directive is only required if session
+ * limiting is enabled.
+ */
+ exceptionexpiry = 1d
+
+ /*
+ * The message that will be NOTICE'd to a user just before they are removed from the network because
+ * their host's session limit has been exceeded. It may be used to give a slightly more descriptive
+ * reason for the impending kill as opposed to simply "Session limit exceeded". This directive is
+ * optional, if not set, nothing will be sent.
+ */
+ sessionlimitexceeded = "The session limit for your host %s has been exceeded."
+
+ /*
+ * Same as above, but should be used to provide a website address where users can find out more
+ * about session limits and how to go about applying for an exception. This directive is optional,
+ * if not set, nothing will be sent.
+ *
+ * Note: This directive has been intentionally commented out in an effort to remind you to change
+ * the URL it contains. It is recommended that you supply an address/URL where people can get help
+ * regarding session limits.
+ */
+ #sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
+
+ /*
+ * If set and is not 0, this directive tells Services to add an AKILL the number of subsequent kills
+ * for the same host exceeds this value, preventing the network from experiencing KILL floods. This
+ * directive is optional.
+ */
+ maxsessionkill = 15
+
+ /*
+ * Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit. This
+ * directive is optional, if not set, defaults to 30 minutes.
+ */
+ sessionautokillexpiry = 30m
+
+ /*
+ * Adds the nickname of the IRC Operator issuing an AKILL to the kill reason. This directive is
+ * optional.
+ */
+ addakiller = yes
+
+ /*
+ * If set, only IRC Operators will be permitted to use OperServ, regardless of module-based command
+ * access restrictions. This directive is optional, but recommended.
+ */
+ opersonly = yes
+}
+
+/*
+ * [OPTIONAL] DefCon Config
+ *
+ * This section is used to set up the DefCon system of OperServ. The block is optional and can be
+ * removed if you wish to disable DefCon in it's entirety. Unless specified otherwise, all directives
+ * are required if you do wish to use DefCon.
+ */
+defcon
+{
+ /*
+ * Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
+ * while level 1 constitutes the most restrictive operation. If this setting is left out or set to
+ * 0, DefCon will be disabled and the rest of this block will be ignored.
+ */
+ #defaultlevel = 5
+
+ /*
+ * The following 4 directives define what operations will take place when DefCon is set to levels
+ * 1 through 4. Each level is a list that must be separated by spaces.
+ *
+ * The following operations can be defined at each level:
+ * - nonewchannels: Disables registering new channels
+ * - nonewnicks: Disables registering new nicks
+ * - nomlockchanges: Disables changing MLOCK on registered channels
+ * - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
+ * - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
+ * - nonewclients: KILL any new clients trying to connect
+ * - operonly: Services will ignore all non-IRCops
+ * - silentoperonly: Services will silently ignore all non-IRCops
+ * - akillnewclients: AKILL any new clients trying to connect
+ * - nonewmemos: No new memos will be sent to block MemoServ attacks
+ */
+ level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
+ level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
+ level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
+ level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
+
+ /*
+ * New session limit to use when a DefCon level is using "reduced" session limiting.
+ */
+ #sessionlimit = 2
+
+ /*
+ * Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
+ * network.
+ */
+ #akillexpire = 5m
+
+ /*
+ * The channel modes to set on all channels when the DefCon channel mode system is in use.
+ *
+ * Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
+ * the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
+ * is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
+ * channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
+ * is removed all channels with -k.
+ * Note 2: MLOCK'd modes will not be lost.
+ */
+ #chanmodes = "+R"
+
+ /*
+ * This value can be used to automatically return the network to DefCon level 5 after the specified
+ * time period, just in case any IRC Operator forgets to remove a DefCon setting. This directive is
+ * optional.
+ */
+ #timeout = 15m
+
+ /*
+ * If set, Services will send a global message on DefCon level changes. This directive is optional.
+ */
+ #globalondefcon = yes
+
+ /*
+ * If set, Services will send the global message defined in the message directive on DefCon level
+ * changes. This directive is optional.
+ */
+ #globalondefconmore = yes
+
+ /*
+ * Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
+ * This directive is required only when globalondefconmore is set.
+ */
+ #message = "Put your message to send your users here. Dont forget to uncomment globalondefconmore"
+
+ /*
+ * Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
+ * and will also override globalondefcon and globalondefconmore when set.
+ */
+ #offmessage = "Services are now back to normal, sorry for any inconvenience"
+
+ /*
+ * Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
+ * DefCon operation is in effect.
+ */
+ #akillreason = "This network is currently not accepting connections, please try again later"
+}
+
+/*
+ * [OPTIONAL] Non-Core Modules
+ *
+ * The following single-line blocks are used to load all non-core modules, including 3rd-party modules.
+ * Modules can be prevented from loading by commenting out the line, other modules can be added by
+ * adding a module block. These modules will be loaded prior to Services connecting to your network.
+ */
+module { name = "hs_moo" }
+module { name = "ircd_defizzer" }
+module { name = "os_ignore" }
+module { name = "cs_appendtopic" }
+module { name = "cs_enforce" }
+module { name = "ns_maxemail" }
+module { name = "os_info" }
+module { name = "hs_request" }
+
+/*
+ * [OPTIONAL] Module-Specific Options
+ *
+ * The following blocks are used for options pertaining to modules and are not part of the core.
+ * Unless otherwise stated, most of the options are optional.
+ */
+hs_request
+{
+ /*
+ * If set, Services will send a memo to the user requesting a vHost when it's been
+ * approved or rejected.
+ */
+ #memouser = yes
+
+ /*
+ * If set, Services will send a memo to all Services staff when a new vHost is requested.
+ */
+ #memooper = yes
+
+ /*
+ * If set, Services will send a memo to all Host Setters when a new vHost is requested.
+ */
+ #memosetters = yes
+
+ /*
+ * The filename of the vHost request database. The path is relative to the services
+ * executable. If not given, defaults to "hs_request.db".
+ */
+ #database = "hs_request.db"
+}
+
+ns_maxemail
+{
+ /*
+ * The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
+ * commented, there will be no limit enforced when registering new accounts or using
+ * /msg NickServ SET EMAIL.
+ */
+ #maxemails = 1
+}
+
+ns_noop_convert
+{
+ /*
+ * The filename of the NickServ AUTOOP convert database. The path is relative to the services
+ * executable. If not given, defaults to "autoop.db".
+ */
+ #database = "autoop.db"
+}
+
+os_ignore
+{
+ /*
+ * The filename of the Services' ignore database. The path is relative to the services
+ * executable. If not given, defaults to "os_ignore.db".
+ */
+ #database = "os_ignore.db"
+}
+
+os_info
+{
+ /*
+ * The filename of the oper information database. The path is relative to the services
+ * executable. If not given, defaults to "os_info.db".
+ */
+ #database = "os_info.db"
+}
diff --git a/data/example_new.conf b/data/example_new.conf
deleted file mode 100644
index d66a1efe6..000000000
--- a/data/example_new.conf
+++ /dev/null
@@ -1,1517 +0,0 @@
-/*
- * 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 /home/username/services)
- * under the name "services.conf".
- *
- * The format of this file is fairly simple: three types of comments are supported:
- * - All text after a '#' on a line is ignored, as in shell scripting
- * - All text after '//' on a line is ignored, as in C++
- * - A block of text like this one is ignored, as in C
- *
- * Outside of comments, there are three structures: blocks, keys, and values.
- *
- * A block is a named container, which contains a number of key to value pairs
- * - you may think of this as an array.
- *
- * A block is created like so:
- * foobar
- * {
- * moo = "cow"
- * foo = bar
- * }
- *
- * Keys are case insensitive. Values depend on what key - generally, information is
- * given in the key comment. The quoting of values (and most other syntax) is quite
- * flexible, however, please do not forget to quote your strings:
- *
- * "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"
- *
- * 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 not permitted. Examples (all of which
- * represent the same length of time, one day):
- *
- * "86400", "86400s", "1440m", "24h", "1d"
- *
- * CAUTION:
- * Please note that your services might _CRASH_ if you add more format-
- * strings (%s, %d, etc.) to custom messages than Anope needs. Use the
- * default messages to see how many format-strings are needed.
- *
- * 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.
- */
-
-
-/*
- * [REQUIRED] IRCd Config
- *
- * This section is used to set up Anope to connect to your IRC network.
- */
-uplink
-{
- /*
- * The IP or hostname of the IRC server you wish to connect Services to.
- * Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
- *
- * NOTE: On some shell providers, this will not be an option.
- */
- host = "localhost"
-
- /*
- * The port to connect to.
- * The IRCd *MUST* be configured to listen on this port, and to accept
- * server connections.
- *
- * Refer to your IRCd documentation for how this is to be done.
- */
- port = 6667
-
- /*
- * The password to send to the IRC server for authentication.
- * This must match the link block on your IRCd.
- *
- * Refer to your IRCd documentation for more information on link blocks.
- */
- password = "mypassword"
-}
-
-/*
- * [REQUIRED] Server Information
- *
- * This section contains information about the Services server.
- */
-serverinfo
-{
- /*
- * The hostname that Services will be seen as, it must have no conflicts with any
- * other server names on the rest of your IRC network. Note that it does not have
- * to be an existing hostname, just one that isn't on your network already. This
- * can be overridden with the -name command-line option when starting Services.
- */
- name = "services.localhost.net"
-
- /*
- * The text which should appear as the server's information in /whois and similar
- * queries. This can be overridden by the -desc command-line option when starting
- * Services.
- */
- description = "Services for IRC Networks"
-
- /*
- * The local address that Services will bind to before connecting to the remote
- * server. This may be useful for multihomed hosts. If neither of these are given,
- * 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. These directives are optional, and may be overridden
- * with the -local command-line option when starting Services.
- *
- * If you don't know what this means or don't need to use it, just leave these
- * directives commented out.
- */
- #localhost = "nowhere."
- #localport = 0
-
- /*
- * This directive instructs Anope which IRCd Protocol to speak when connecting.
- * You MUST modify this to match the IRCd you run.
- *
- * Supported:
- * - inspircd11
- * - ratbox
- * - bahamut
- * - charybdis
- * - unreal32
- */
- type = "inspircd11"
-
- /*
- * What Server ID to use for this connection?
- * Note: This should *ONLY* be used for TS6/P10 IRCds.
- */
- #id = "64"
-
- /*
- * These identify the ident@hostname which will be used by the Serivces pesudoclients.
- * They can be overridden by the -user and -host command-line options when starting
- * Services.
- */
- ident = "services"
- hostname = "localhost.net"
-
- /*
- * The filename containing the Services process ID. The path is relative to the
- * services executable. If not given, defaults to "services.pid".
- */
- pid = "services.pid"
-
- /*
- * The filename containing the Message of the Day. The path is relative to the
- * services executable. If not given, defaults to "services.motd".
- */
- motd = "services.motd"
-}
-
-/*
- * [REQUIRED] Network Information
- *
- * This section contains information about the IRC network that Services will be
- * connecting to.
- */
-networkinfo
-{
- /*
- * For the given channel, every use that has or gets op status of the channel
- * will automatically receive the +h user mode. This directive is optional.
- */
- helpchannel = "#help"
-
- /*
- * If set, Services will output log messages to the given channel. This
- * directive is optional.
- *
- * IMPORTANT: This can be a security risk, so make certain this channel is
- * sufficiently protected from normal access.
- */
- #logchannel = "#services"
-
- /*
- * If set, Services will output all BotServ chatter to the defined logchannel
- * above. It shows all uses of BotServ ACT and SAY commands. Note that there
- * is no logging to the log file. Only works if logchannel is also defined.
- * This directive is optional.
- */
- #logbot = yes
-
- /*
- * This is the name of the network that Services will be running on.
- */
- networkname = "LocalNet"
-
- /*
- * Set this to the maximum allowed nick length on your network. Anope does not
- * support values larger than 31. Be sure to set this correctly, as setting
- * this wrong can result in Services being disconnected from the network.
- * This directive is optional, but recommended.
- */
- nicklen = 31
-}
-
-/*
- * [REQUIRED] Services Options
- *
- * This section contains various options which determine how Services will operate.
- */
-options
-{
- /*
- * The encryption module to use when dealing with passwords. This determines how
- * the passwords are stored in the databases, and does not add any security as
- * far as transmitting passwords over the network goes.
- *
- * When using enc_none, passwords will be stored without encryption in plain
- * text, allowing for passwords to be recovered later. The other encryption modules
- * use one-way encryption, so the passwords can not be recovered later if those
- * are used.
- *
- * NOTE: enc_old is Anope's previous (broken) MD5 implementation, if your databases
- * were made using that module, continue to use it and do not use enc_md5.
- *
- * Supported:
- * - enc_none (plain text, no encryption)
- * - enc_old (old, broken MD5 encryption)
- * - enc_md5 (working MD5 encryption)
- * - enc_sha1 (SHA1 encryption)
- */
- encryption = "enc_none"
-
- /*
- * These keys are used to initiate the random number generator. These numbers
- * MUST be random as you want your passcodes to be random. Don't give these
- * keys to anyone! Keep them private!
- *
- * NOTE: If you don't uncomment these or keep their default values, any talented
- * programmer would be able to easily "guess" random strings used to mask
- * information. Be safe, and come up with three different 7-digit numbers.
- *
- * These directives are optional, but highly recommended.
- */
- #userkey1 = 9866235
- #userkey2 = 8362013
- #userkey3 = 2362899
-
- /*
- * Allows Services to continue file write operations (i.e. database saving)
- * even if the original file cannot be backed up. Enabling this option may
- * allow Services to continue operation under conditions where it might
- * otherwise fail, such as a nearly-full disk.
- *
- * NOTE: Enabling this option can cause irrecoverable data loss under some
- * conditions, so make CERTAIN you know what you're doing when you enable it!
- *
- * This directive is optional, and you are discouraged against enabling it.
- */
- #nobackupokay = yes
-
- /*
- * If set, Services will perform more stringent checks on passwords. If this
- * isn't set, Services will only disallow a password if it is the same as the
- * entity (nickname or channel name) with which it is associated. When set,
- * 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. This directive is optional, but recommended.
- */
- strictpasswords = yes
-
- /*
- * Sets the number of invalid password tries before Services removes a user
- * from the network. If a user enters a number of invalid passwords equal to
- * the given amount for any Services function or combination of functions
- * during a single IRC session (subject to badpasstimeout, below), Services
- * will issues a /KILL for the user. If not given, Services will ignore
- * failed password attempts (though they will be logged in any case). This
- * directive is optional, but recommended.
- */
- badpasslimit = 5
-
- /*
- * Sets the time after which invalid passwords are forgotten about. If a user
- * does not enter any incorrect passwords in this amount of time, the incorrect
- * password count will reset to zero. If not given, the timeout will be
- * disabled, and the incorrect password count will never be reset until the user
- * disconnects. This directive is optional.
- */
- badpasstimeout = 1h
-
- /*
- * Sets the delay between automatic database updates. This time is reset by
- * the OperServ UPDATE command.
- */
- updatetimeout = 5m
-
- /*
- * Sets the delay between checks for expired nicknames and channels. The
- * OperServ UPDATE command will also cause a check for expiration and reset
- * this timer.
- */
- expiretimeout = 30m
-
- /*
- * Sets the timout period for reading from the uplink.
- */
- readtimeout = 5s
-
- /*
- * Sets the interval between sending warning messages for program errors via
- * WALLOPS/GLOBOPS.
- */
- warningtimeout = 4h
-
- /*
- * Sets the (maximum) frequency at which the timeout list is checked. This,
- * combined with readtimeout above, determine how accurately timed events,
- * such as nick kills, occur; it also determines how much CPU time Services
- * will use doing this. Higher values will cause less accurate timing but
- * less CPU usage.
- *
- * This shouldn't be set any higher than 10 seconds, and 1 second is best
- * if your system is powerful enough (or your network small enough) to
- * handle it. 0 will cause the timeout list to be checked every time
- * through the main loop, which will probably slow down Services too much
- * to be useful on most networks.
- *
- * Note that this value is not an absolute limit on the period between
- * checks of the timeout list; the previous may be as great as readtimeout
- * (above) during periods of inactivity.
- *
- * If this directive is not given, it will default to 0. See the 2nd paragraph
- * above for performance impacts if you do this.
- */
- timeoutcheck = 3s
-
- /*
- * Sets the number of days log files are kept. If you don't give it, or if you
- * set it to 0, logs will be kept indefinitely.
- *
- * NOTE: Services must run 24 hours a day for this feature to work.
- *
- * This directive is optional, but recommended.
- */
- keeplogs = 7
-
- /*
- * Sets the number of days backups of databases are kept. If you don't give it,
- * or if you set it to 0, Services won't backup the databases.
- *
- * NOTE: Services must run 24 hours a day for this feature to work.
- *
- * This directive is optional, but recommended.
- */
- keepbackups = 3
-
- /*
- * If set, Services will require a reason when a FORBID is added, else the
- * reason is optional. This directive also applies to SUSPENDed channels as
- * well. This directive is optional.
- */
- forceforbidreason = yes
-
- /*
- * If set, this will allow users to let Services send PRIVMSGs to them
- * instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
- * which also toggles the default communication (PRIVMSG or NOTICE) to
- * use for unregistered users. This directive is optional.
- *
- * This is a feature that is against the IRC RFC and should be used ONLY
- * if absolutely necessary.
- */
- #useprivmsg = yes
-
- /*
- * If set, will force Services to only respond to PRIVMSGs addresses to
- * Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
- * conjunction with IRCd aliases. This directive is optional.
- *
- * When using Bahamut, this option will NOT work if the uplink server is
- * configured as a services hub. The serviceshub option is not designed to
- * be used with Anope.
- */
- #usestrictprivmsg = yes
-
- /*
- * If set, Anope will dump core when a segmentation fault occurs. This is
- * generally not needed, but if Anope is crashing on your network and you
- * want to make a bug report, having a core file may be of great help.
- * This directive is optional.
- */
- #dumpcore = yes
-
- /*
- * If set, Anope will log user connections, disconnections, and nickname
- * changes. You may have to do so in case you ever need to transmit user
- * information to your local authorities. This directive is optional.
- */
- #logusers = yes
-
- /*
- * If set, Services will only show /stats o to IRC Operators. This directive
- * is optional.
- */
- #hidestatso = yes
-
- /*
- * If set, Services will send global messages on starting up and shutting
- * down/restarting. This directive is optional.
- */
- #globaloncycle = yes
-
- /*
- * This is the global message that will be sent when Services are being
- * shutdown/restarted. This directive is only required if you enable
- * globaloncycle above.
- */
- globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
-
- /*
- * This is the global message that will be sent when Services (re)join the
- * network. This directive is only required if you enable globaloncycle above.
- */
- globaloncycleup = "Services are now back online - have a nice day"
-
- /*
- * If set, Services will hide the IRC operator's nick in a global
- * message/notice. This directive is optional.
- */
- #anonymousglobal = yes
-
- /*
- * Prevents users from registering their nick if they are not connected
- * for at least the given number of seconds. This directive is optional.
- */
- #nickregdelay = 30
-
- /*
- * If set, forbids the registration of nicks that contain an existing
- * nick with Services access. For example, if Tester is a Services Oper,
- * you can't register NewTester or Tester123 unless you are an IRC
- * Operator. This directive is optional.
- *
- * NOTE: If you enable this, you will have to be logged in as an IRC
- * operator in order to register a Services Root nick when setting up
- * Anope for the first time.
- */
- #restrictopernicks = yes
-
- /*
- * The number of LOGON/OPER news items to display when a user logs on.
- * This directive is optional, if left out, defaults to 3.
- */
- #newscount = 3
-
- /*
- * A space-separated list of ulined servers on your network, it is assumed that
- * the servers in this list are allowed to set channel modes and Services will
- * not attempt to reverse their mode changes. This directive is optional.
- *
- * WARNING: Do NOT put your user servers in this directive.
- */
- ulineservers = "stats.your.network proxy.your.network"
-}
-
-/*
- * [OPTIONAL] Mail Config
- *
- * This section contains settings related to the use of e-mail from Services.
- * If the usemail directive is set to yes, unless specified otherwise, all other
- * directives are required.
- */
-mail
-{
- /*
- * If set, this option enables the mail commands in Services. You may choose
- * to disable it if you have no Sendmail-compatible mailer installed. While
- * this directive (and entire block) is optional, it is required if the
- * nickserv:emailregistration is set to yes.
- */
- usemail = yes
-
- /*
- * This is the command-line that will be used to call Sendmail to send an
- * e-mail. It must be called with all the parameters needed to make it
- * scan the mail input to find the mail recipient; consult your Sendmail
- * documentation.
- *
- * Postfix users must use the compatible sendmail utility provided with
- * it; this one usually needs no parameters on the command-line. Most
- * sendmail applications (or replacements of it) require the -t option
- * to be used.
- */
- sendmailpath = "/usr/sbin/sendmail -t"
-
- /*
- * This is the e-mail address from which all the e-mails are to be sent from.
- * It should really exist.
- */
- sendfrom = "services@localhost.net"
-
- /*
- * If set, SENDPASS will be restricted to IRC operators. This directive is
- * optional.
- *
- * WARNING: If you choose to not enable this option, you should limit the
- * number of processes that the services user can have at a time (you can
- * create a special user for this; remember to NEVER launch Services as
- * root).
- */
- restrict = yes
-
- /*
- * This controls the minimum amount of time an user must wait before sending
- * another e-mail after they have sent one. It also controls the minimum time
- * an user must wait before they can receive another e-mail. This directive
- * is optional, but recommended.
- *
- * This feature prevents users from being mail bombed using Services and
- * it is highly recommended that it be used.
- */
- delay = 5m
-
- /*
- * If set, Services will not attempt to put quotes around the TO: fields
- * in e-mails. This directive is optional, and as far as we know, it's
- * only needed if you are using ESMTP or QMail to send out e-mails.
- */
- #dontquoteaddresses = yes
-}
-
-/*
- * [REQUIRED] NickServ Config
- *
- * This section is used to set up the Nickname Registration Service pseudo-client.
- * Unless specified otherwise, all directives are required.
- */
-nickserv
-{
- /*
- * The nickname of the NickServ client.
- */
- nick = "NickServ"
-
- /*
- * The description of the NickServ client, which will be used as the GECOS (real
- * name) of the client.
- */
- description = "Nickname Registration Service"
-
- /*
- * The filename of the NickServ database. The path is relative to the services
- * executable. If not given, defaults to "nick.db".
- */
- database = "nick.db"
-
- /*
- * The filename of the NickServ Pre-Nick database. The path is relative to the
- * services executable. This directive is only required if the e-mail registration
- * option is enabled.
- */
- #prenickdatabase = "prenick.db"
-
- /*
- * The core modules to load for NickServ. This is a space separated list that corresponds
- * to the base names of the modules for NickServ. This directive is optional, but highly recommended.
- */
- modules = "ns_help ns_register ns_group ns_identify ns_access ns_set ns_saset ns_drop ns_recover ns_release ns_sendpass ns_ghost ns_alist ns_info ns_list ns_logout ns_status ns_update ns_getpass ns_getemail ns_forbid ns_suspend"
-
- /*
- * Force users to give an e-mail address when they register a nick. This directive
- * is recommended to be enabled, and required if the e-mail registration option is
- * enabled.
- */
- forceemail = yes
-
- /*
- * Require an e-mail to be sent to the user before they can register their nick.
- */
- #emailregistration = yes
-
- /*
- * The default options for newly registered nicks. Note that changing these options
- * will have no effect on nicks which are already registered. The list must be separated
- * by spaces.
- *
- * The options are:
- * - kill: Kill nick if not identified within 60 seconds
- * - killquick: Kill nick if not identified within 20 seconds, this one overrides the above
- * option and the above must be specified with this one
- * - secure: Enable nickname security, requiring the nick's password before any operations
- * can be done on it
- * - private: Hide the nick from NickServ's LIST command
- * - hideemail: Hide's the nick's e-mail address from NickServ's INFO command
- * - hideusermask: Hide's the nick's last or current user@host from NickServ's INFO command
- * - hidequit: Hide's the nick's last quit message
- * - memosignon: Notify user if they have a new memo when they sign into the nick
- * - memoreceive: Notify user if they have a new memo as soon as it's received
- * - autoop: User will be automatically opped in channels they enter and have access to
- * - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires UsePrivmsg
- * to be enabled as well
- *
- * This directive is optional, if left blank, the options will default to secure, memosignon, and
- * memoreceive. If you really want no defaults, use "none" by itself as the option.
- */
- defaults="secure private hideemail hideusermask memosignon memoreceive autoop"
-
- /*
- * Default language that non- and newly-registered nicks will receive messages in. The number
- * here is the same as the number in NickServ's SET LANGUAGE help.
- */
- defaultlanguage = 1
-
- /*
- * The minimum length of time between consecutive uses of NickServ's REGISTER command. This
- * directive is optional, but recommended. If not set, this restriction will be disabled.
- */
- regdelay = 30s
-
- /*
- * The minimum length of time between consecutive uses of NickServ's RESEND command. This
- * directive is optional, but recommended. If not set, this restriction will be disabled.
- */
- resenddelay = 90s
-
- /*
- * The length of time before a nick registration expires. This directive is optional, but
- * recommended. If not set, the default is 21 days.
- */
- expire = 21d
-
- /*
- * The length of time a user gets to enter the confirmation code which has been e-mailed
- * to them before the nick will be released for general use again. This directive is
- * only required if the e-mail registration option is enabled.
- */
- #preregexpire = 1d
-
- /*
- * The maximum number of nicks allowed in a group. This directve is optional, but
- * recommended. If not set or set to 0, no limits will be applied.
- */
- maxaliases = 16
-
- /*
- * The maximum number of entries allowed on a nickname's access list.
- */
- accessmax = 32
-
- /*
- * The username (and possibly hostname) used for the fake user created when NickServ collides
- * a user. Should be in the user@host format. If the host is not given, the one from ServicesUser
- * is used.
- */
- enforceruser = "enforcer@localhost.net"
- #enforceruser = "enforcer"
-
- /*
- * The delay before a NickServ-collided nick is released.
- */
- releasetimeout = 1m
-
- /*
- * Allow the use of the IMMED option in the NickServ SET KILL command. This directive is optional.
- */
- #allowkillimmed = yes
-
- /*
- * If set, the NickServ GROUP command won't allow any group change. This is recommended for
- * better performance and to protect against nick stealing, however users will have less
- * flexibility. This directive is optional.
- */
- #nogroupchange = yes
-
- /*
- * Limits the use of the NickServ LIST command to IRC operators. This directive is optional.
- */
- #listopersonly = yes
-
- /*
- * The maximum number of nicks to be returned for a NickServ LIST command.
- */
- listmax = 50
-
- /*
- * When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
- * with this value. The rest will be made up of 6 or 7 digits.
- */
- guestnickprefix = "Guest"
-
- /*
- * Prevents the use of the DROP, FORBID, GETPASS, and SET PASSWORD commands by Services Admins
- * on other Services Admins or the Services Root(s). This directive is optional, but
- * recommended.
- */
- secureadmins = yes
-
- /*
- * If set, any user wanting to use the privileges of Services Root, Services Admin, or Services
- * Operator must have been logged as an IRC Operator with the /oper command. This directive is
- * optional, but recommended.
- */
- strictprivileges = yes
-
- /*
- * If set, Services will set the channel modes a user has access to upon identifying, assuming
- * they are not already set. This directive is optional.
- */
- #modeonid = yes
-
- /*
- * If set, Services will only allow Services Root(s) to use the NickServ GETPASS command on
- * a nick. This directive is optional.
- */
- restrictgetpass = yes
-
- /*
- * If set, Services will track your last nick identified when issuing nick changes. This
- * directive is optional.
- */
- #nicktracking = yes
-
- /*
- * If set, Services will add the usermask of registering users to the access list of their
- * newly created account. If not set, users will always have to identify to NickServ before
- * being recognized, unless they manually add an address to the access list of their account.
- * This directive is optional.
- */
- addaccessonreg = yes
-}
-
-/*
- * [REQUIRED] ChanServ Config
- *
- * This section is used to set up the Channel Registration Service pseudo-client.
- * Unless specified otherwise, all directives are required.
- */
-chanserv
-{
- /*
- * The nickname of the ChanServ client.
- */
- nick = "ChanServ"
-
- /*
- * The description of the ChanServ client, which will be used as the GECOS (real
- * name) of the client.
- */
- description = "Channel Registration Service"
-
- /*
- * The filename of the ChanServ database. The path is relative to the services
- * executable. If not given, defaults to "chan.db".
- */
- database = "chan.db"
-
- /*
- * The core modules to load for ChanServ. This is a space separated list that corresponds
- * to the base names of the modules for ChanServ. This directive is optional, but highly recommended.
- */
- modules = "cs_help cs_register cs_identify cs_set cs_xop cs_access cs_akick cs_drop cs_sendpass cs_ban cs_clear cs_modes cs_getkey cs_invite cs_kick cs_list cs_logout cs_topic cs_info cs_getpass cs_forbid cs_suspend cs_status"
-
- /*
- * The default options for newly registered channels. Note that changing these options
- * will have no effect on channels which are already registered. The list must be separated
- * by spaces.
- *
- * The options are:
- * - keeptopic: Retain topic when the channel is not in use
- * - opnotice: Send a notice when OP/DEOP commands are used
- * - peace: Disallow users from kicking or removing modes from others who are of the same
- * access level or superior
- * - private: Hide the channel from ChanServ's LIST command
- * - restricted: Kick/ban users who are restricted from the channel
- * - secure: Enable channel security, requiring the user to be identified with NickServ in
- * order to be considered for being on the access list of the channel
- * - secureops: Only allow operator status to be given if the user is on the access list
- * - securefounder: Only allow the real founder of the channel to drop the channel, change it's
- * password, or change the founder or succesor
- * - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
- * - signkicklevel: Same as above, but the kick will not be signed if the user is at the same access
- * level or superior to the target
- * - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
- * - xop: Enable use of the xOP system
- *
- * This directive is optional, if left blank, the options will default to keetopic, secure, securefounder,
- * and signkick. If you really want no defaults, use "none" by itself as the option.
- */
- defaults="keeptopic peace secure securefounder signkick xop"
-
- /*
- * The maximum number of channels which may be registered to a single nickname. This directive is optional,
- * but recommended. If not set, there will be no restriction on the numbers of channels a single nickname
- * can have registered.
- */
- maxregistered = 20
-
- /*
- * The length of time before a channel registration expires. This directive is optional, but
- * recommended. If not set, the default is 14 days.
- */
- expire = 14d
-
- /*
- * The default ban type for newly registered channels (and when importing old databases).
- *
- * defbantype can be:
- *
- * 0: ban in the form of *!user@host
- * 1: ban in the form of *!*user@host
- * 2: ban in the form of *!*@host
- * 3: ban in the form of *!*user@*.domain
- */
- defbantype = 2
-
- /*
- * The maximum number of entries on a channel's access list.
- */
- accessmax = 1024
-
- /*
- * The maximum number of entries on a channel's autokick list.
- */
- autokickmax = 32
-
- /*
- * The default reason for an autokick if none is given.
- */
- autokickreason = "User has been banned from the channel"
-
- /*
- * The length of time ChanServ stays in a channel after kicking a user from a channel they are not
- * premitted to be in. This only occurs when the user is the only one in the channel.
- */
- inhabit = 15s
-
- /*
- * Limits the use of the ChanServ LIST command to IRC operators. This directive is optional.
- */
- #listopersonly = yes
-
- /*
- * The maximum number of channels to be returned for a ChanServ LIST command.
- */
- listmax = 50
-
- /*
- * If set, Services will only allow Services Root(s) to use the ChanServ GETPASS command on a
- * channel. This directive is optional.
- */
- #restrictgetpass = yes
-
- /*
- * Allow only IRC Operators to use ChanServ. This directive is optional.
- */
- #opersonly = yes
-}
-
-/*
- * [REQUIRED] MemoServ Config
- *
- * This section is used to set up the Memo Service pseudo-client. Unless specified otherwise,
- * all directives are required.
- */
-memoserv
-{
- /*
- * The nickname of the MemoServ client.
- */
- nick = "MemoServ"
-
- /*
- * The description of the MemoServ client, which will be used as the GECOS (real
- * name) of the client.
- */
- description = "Memo Service"
-
- /*
- * The core modules to load for MemoServ. This is a space separated list that corresponds
- * to the base names of the modules for MemoServ. This directive is optional, but highly recommended.
- */
- modules = "ms_send ms_cancel ms_list ms_read ms_del ms_set ms_info ms_rsend ms_check ms_staff ms_sendall ms_help"
-
- /*
- * The maximum number of memos a user is allowed to keep by default. Normal users may set the
- * limit anywhere between 0 and this value. Services Admins can change it to any value or
- * disable it. This directive is optional, but recommended. If not set, the limit is disabled
- * by default, and normal users can set any limit they want.
- */
- maxmemos = 20
-
- /*
- * The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
- * as well as denial-of-service attacks from sending large numbers of memos and filling up disk
- * space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
- * per second per user under the current IRC protocol. This directive is optional, but
- * recommended.
- */
- senddelay = 3s
-
- /*
- * Should we notify all appropriate users of a new memo? This applies in cases where a memo is
- * sent to a nick which is in the group of another nick. Not that, unlike before, it is currently
- * more efficient to enable this. This directive is optional.
- */
- notifyall = yes
-
- /*
- * Allow the use of memo receipts for the following groups:
- *
- * 1 - Opers Only
- * 2 - Everybody
- *
- * This directive is optional.
- */
- #memoreceipt = 1
-}
-
-/*
- * [OPTIONAL] BotServ Config
- *
- * This section is used to set up the Bot Service pseudo-client. The block is optional and can be
- * removed if you do not wish to have BotServ on your network. Unless specified otherwise,
- * all directives are required if you do wish to use BotServ.
- */
-botserv
-{
- /*
- * The nickname of the BotServ client.
- */
- nick = "BotServ"
-
- /*
- * The description of the BotServ client, which will be used as the GECOS (real
- * name) of the client.
- */
- description = "Bot Service"
-
- /*
- * The filename of the BotServ database. The path is relative to the services
- * executable. If not given, defaults to "bot.db".
- */
- database = "bot.db"
-
- /*
- * The core modules to load for BotServ. This is a space separated list that corresponds
- * to the base names of the modules for BotServ. This directive is optional, but highly recommended.
- */
- modules = "bs_help bs_botlist bs_assign bs_set bs_kick bs_badwords bs_act bs_info bs_say bs_unassign bs_bot bs_fantasy bs_fantasy_kick bs_fantasy_kickban bs_fantasy_owner bs_fantasy_seen bs_fantasy_unban"
-
- /*
- * The default bot options for newly registered channel. Note that changing these options
- * will have no effect on channels which are already registered. The list must be separated
- * by spaces.
- *
- * The options are:
- * - dontkickops: Channel operators will be protected against BotServ kicks
- * - dontkickvoices: Voiced users will be protected against BotServ kicks
- * - greet: The channel's BotServ bot will greet incoming users that have set a greet
- * in their NickServ settings
- * - fantasy: Enables the use of BotServ fantasy commands in the channel
- * - symbiosis: Causes the BotServ bot to do all actions that would normally have been
- * done by ChanServ
- *
- * This directive is optional, if left blank, there will be no defaults.
- */
- defaults="greet fantasy symbiosis"
-
- /*
- * The minimum number of users there must be in a channel before the bot joins it. The best
- * value for this setting is 1 or 2. This cannot be 0, otherwise topic retention and mode
- * lock and such other things won't work.
- */
- minusers = 1
-
- /*
- * The maximum number of entries a single bad words list can have. Setting it too high can
- * reduce performance slightly.
- */
- badwordsmax = 32
-
- /*
- * The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
- * it is reset or deleted depending on the case. Do not set it too high, otherwise your
- * resources will be slightly affected.
- */
- keepdata = 10m
-
- /*
- * The bots are currently not affected by any modes or bans when they try to join a channel.
- * But some people may want to make it act like a real bot, that is, for example, remove all
- * the bans affecting the bot before joining the channel, remove a ban that affects the bot
- * set by an user when it is in the channel, and so on. Since it consumes a bit more CPU
- * time, you should not enable this on larger networks. This directive is optional.
- */
- #smartjoin = yes
-
- /*
- * If set, the bots will use a kick reason that does not retake the word when it is kicking.
- * This is especially useful if you have young people on your network. This directive is
- * optional.
- */
- gentlebadwordreason = yes
-
- /*
- * If set, BotServ will use case sensitive checking for badwords. This directive is optional.
- */
- #casesensitive = yes
-
- /*
- * Defines the prefix for fantasy commands in channels. This character will have to be prepended
- * to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
- * "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
- */
- #fantasycharacter = "!"
-}
-
-/*
- * [OPTIONAL] HostServ Config
- *
- * This section is used to set up the vHost Service pseudo-client. The block is optional and can be
- * removed if you do not wish to have HostServ on your network. Unless specified otherwise,
- * all directives are required if you do wish to use HostServ.
- */
-hostserv
-{
- /*
- * The nickname of the HostServ client.
- */
- nick = "HostServ"
-
- /*
- * The description of the HostServ client, which will be used as the GECOS (real
- * name) of the client.
- */
- description = "vHost Service"
-
- /*
- * The filename of the HostServ database. The path is relative to the services
- * executable. If not given, defaults to "hosts.db".
- */
- database = "hosts.db"
-
- /*
- * The core modules to load for HostServ. This is a space separated list that corresponds
- * to the base names of the modules for HostServ. This directive is optional, but highly recommended.
- */
- modules = "hs_help hs_on hs_off hs_group hs_list hs_set hs_setall hs_del hs_delall"
-
- /*
- * Specifies the nicks of NON-OPERS allowed to set or remove vHosts using HostServ. Can be re-loaded
- * with /msg operserv reload. You can specify more than one nick by separating each one by a space.
- *
- * This directive is optional, but you are discouraged from using it. It is recommended that you only
- * give opers the ability to set or remove vHosts by making them Services Opers or higher, but if you
- * do decide to use this directive, make sure you insert the correct nick(s) here.
- */
- #hostsetters = "CyberBotX w00t"
-}
-
-/*
- * [REQUIRED] HelpServ Config
- *
- * This section is used to set up the Help Service pseudo-client. All directives are required.
- */
-helpserv
-{
- /*
- * The nickname of the HelpServ client.
- */
- nick = "HelpServ"
-
- /*
- * The description of the HelpServ client, which will be used as the GECOS (real
- * name) of the client.
- */
- description = "Help Service"
-
- /*
- * The core modules to load for HelpServ. This is a space separated list that corresponds
- * to the base names of the modules for HelpServ. This directive is optional, but highly recommended.
- */
- modules = "he_help"
-}
-
-/*
- * [REQUIRED] OperServ Config
- *
- * This section is used to set up the Operator Service pseudo-client. Unless specified otherwise,
- * all directives are required.
- */
-operserv
-{
- /*
- * The nickname of the OperServ client.
- */
- nick = "OperServ"
-
- /*
- * The description of the OperServ client, which will be used as the GECOS (real
- * name) of the client.
- */
- description = "Operator Service"
-
- /*
- * The nickname of the Global client.
- */
- globalnick = "Global"
-
- /*
- * The description of the Global client, which will be used as the GECOS (real
- * name) of the client.
- */
- globaldescription = "Global Noticer"
-
- /*
- * The filename of the OperServ database. The path is relative to the services
- * executable. If not given, defaults to "oper.db".
- */
- database = "oper.db"
-
- /*
- * The filename of OperServ's News database. The path is relative to the services
- * executable. If not given, defaults to "news.db".
- */
- newsdatabase = "news.db"
-
- /*
- * The filename of OperServ's Session Exception database. The path is relative to the services
- * executable. If not given, defaults to "exception.db".
- */
- exceptiondatabase = "exception.db"
-
- /*
- * The core modules to load for OperServ. This is a space separated list that corresponds
- * to the base names of the modules for OperServ. This directive is optional, but highly recommended.
- */
- modules = "os_help os_global os_stats os_oper os_admin os_staff os_mode os_kick os_clearmodes os_akill os_sgline os_sqline os_szline os_chanlist os_userlist os_logonnews os_randomnews os_opernews os_session os_noop os_jupe os_ignore os_set os_reload os_update os_restart os_quit os_shutdown os_defcon os_chankill os_svsnick os_oline os_umode os_modload os_modunload os_modlist os_modinfo"
-
- /*
- * Specifies the Services "super-users". The super-users, or "roots" as in Unix terminology, are
- * the only uses who can add or delete Services Admins.
- *
- * You can specify more than one nick by separating each one by a space.
- *
- * This is commented out by default; make sure you insert the correct nicks before uncommenting it.
- */
- #servicesroot = "CyberBotX w00t"
-
- /*
- * If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
- * them extra privileges, such as being a founder on ALL channels, ability to adjust another
- * users' modes, etc. This directive is optional.
- */
- #superadmin = yes
-
- /*
- * If set, causes Services to write a message to the log every time a new user maximum is set.
- * This directive is optional.
- */
- logmaxusers = yes
-
- /*
- * These define the default expiration times for, respectively, AKILLs, CHANKILLs, SGLINEs,
- * SQLINEs, and SZLINEs.
- */
- autokillexpiry = 30d
- chankillexpiry = 30d
- sglineexpiry = 30d
- sqlineexpiry = 30d
- szlineexpiry = 30d
-
- /*
- * If set, this option will make Services send an AKILL command immediately after it has been
- * added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
- * been added. This directive is optional.
- */
- #akillonadd = yes
-
- /*
- * If set, this option will make Services send an (SVS)KILL command immediately after SGLINE ADD.
- * This eliminates the need for killingthe user after the SGLINE has been added. This directive
- * is optional.
- */
- #killonsgline = yes
-
- /*
- * If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
- * This eliminates the need for killingthe user after the SQLINE has been added. This directive
- * is optional.
- */
- #killonsqline = yes
-
- /*
- * Disables the highly destructive OperServ RAW command. This directive is optional, but HIGHLY
- * recommended. Not setting this and causing problems with your network using RAW will not be
- * supported.
- */
- disableraw = yes
-
- /*
- * Defines what actions should trigger notifications. The list must be separated by spaces.
- *
- * The notifications are:
- * - oper: A user has become an IRC operator
- * - bados: A non-IRCop attempts to use OperServ
- * - osglobal: OperServ's GLOBAL command was used
- * - osmode: OperServ's MODE command was used
- * - osclearmodes: OperServ's CLEARMODES command was used
- * - oskick: OperServ's KICK command was used
- * - osakill: OperServ's AKILL command was used
- * - ossgline: OperServ's SGLINE command was used
- * - ossqline: OperServ's SQLINE command was used
- * - osszline: OperServ's SZLINE command was used
- * - osnoop: OperServ's NOOP command was used
- * - osjupe: OperServ's JUPE command was used
- * - osraw: OperServ's RAW command was used
- * - akillexpire: An AKILL has expired
- * - sglineexpire: An SGLINE has expired
- * - sqlineexpire: An SQLINE has expired
- * - szlineexpire: An SZLINE has expired
- * - exceptionexpire: A session exception has expired
- * - getpass: NickServ's or ChanServ's GETPASS command was used
- * - setpass: A Services Admin has set the password of a nickname or channel they do
- * not normally have access to
- * - forbid: NickServ's or ChanServ's FORBID command was used
- * - drop: A Services Admin has dropped a nickname or channel they do not normally
- * have access to
- *
- * This directive is optional, if left blank, there will be no notifications.
- */
- notifications="osglobal osmode osclearmodes oskick osakill ossgline ossqline osszline osnoop osjupe osraw getpass setpass forbid drop"
-
- /*
- * Enables session limiting. Session limiting prevents users from connecting more than a certain
- * number of times from the same host at the same time - thus preventing most types of cloning.
- * Once a host reaches it's session limit, all clients attempting to connect from that host will
- * be killed. Exceptions to the default session limit can be defined via the exception list. It
- * should be noted that session limiting, along with a large exception list, can degrade Services'
- * performance.
- *
- * See the source and comments in sessions.c and the online help for more information about
- * session limiting.
- *
- * This directive is optional.
- */
- limitsessions = yes
-
- /*
- * Default session limit per host. Once a host reaches it's session limit, all clients attempting
- * to connect from that host will be killed. A value of zero means an unlimited session limit.
- * If not given and session limiting is enabled, it will default to no limit.
- */
- defaultsessionlimit = 3
-
- /*
- * The maximum session limit that may be set for a host in an exception. This directive is only
- * required if session limiting is enabled.
- */
- maxsessionlimit = 100
-
- /*
- * Sets the default expiry time for session exceptions. This directive is only required if session
- * limiting is enabled.
- */
- exceptionexpiry = 1d
-
- /*
- * The message that will be NOTICE'd to a user just before they are removed from the network because
- * their host's session limit has been exceeded. It may be used to give a slightly more descriptive
- * reason for the impending kill as opposed to simply "Session limit exceeded". This directive is
- * optional, if not set, nothing will be sent.
- */
- sessionlimitexceeded = "The session limit for your host %s has been exceeded."
-
- /*
- * Same as above, but should be used to provide a website address where users can find out more
- * about session limits and how to go about applying for an exception. This directive is optional,
- * if not set, nothing will be sent.
- *
- * Note: This directive has been intentionally commented out in an effort to remind you to change
- * the URL it contains. It is recommended that you supply an address/URL where people can get help
- * regarding session limits.
- */
- #sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
-
- /*
- * If set and is not 0, this directive tells Services to add an AKILL the number of subsequent kills
- * for the same host exceeds this value, preventing the network from experiencing KILL floods. This
- * directive is optional.
- */
- maxsessionkill = 15
-
- /*
- * Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit. This
- * directive is optional, if not set, defaults to 30 minutes.
- */
- sessionautokillexpiry = 30m
-
- /*
- * Adds the nickname of the IRC Operator issuing an AKILL to the kill reason. This directive is
- * optional.
- */
- addakiller = yes
-
- /*
- * If set, only IRC Operators will be permitted to use OperServ, regardless of module-based command
- * access restrictions. This directive is optional, but recommended.
- */
- opersonly = yes
-}
-
-/*
- * [OPTIONAL] DefCon Config
- *
- * This section is used to set up the DefCon system of OperServ. The block is optional and can be
- * removed if you wish to disable DefCon in it's entirety. Unless specified otherwise, all directives
- * are required if you do wish to use DefCon.
- */
-defcon
-{
- /*
- * Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
- * while level 1 constitutes the most restrictive operation. If this setting is left out or set to
- * 0, DefCon will be disabled and the rest of this block will be ignored.
- */
- #defaultlevel = 5
-
- /*
- * The following 4 directives define what operations will take place when DefCon is set to levels
- * 1 through 4. Each level is a list that must be separated by spaces.
- *
- * The following operations can be defined at each level:
- * - nonewchannels: Disables registering new channels
- * - nonewnicks: Disables registering new nicks
- * - nomlockchanges: Disables changing MLOCK on registered channels
- * - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
- * - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
- * - nonewclients: KILL any new clients trying to connect
- * - operonly: Services will ignore all non-IRCops
- * - silentoperonly: Services will silently ignore all non-IRCops
- * - akillnewclients: AKILL any new clients trying to connect
- * - nonewmemos: No new memos will be sent to block MemoServ attacks
- */
- level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
- level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
- level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
- level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
-
- /*
- * New session limit to use when a DefCon level is using "reduced" session limiting.
- */
- #sessionlimit = 2
-
- /*
- * Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
- * network.
- */
- #akillexpire = 5m
-
- /*
- * The channel modes to set on all channels when the DefCon channel mode system is in use.
- *
- * Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
- * the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
- * is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
- * channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
- * is removed all channels with -k.
- * Note 2: MLOCK'd modes will not be lost.
- */
- #chanmodes = "+R"
-
- /*
- * This value can be used to automatically return the network to DefCon level 5 after the specified
- * time period, just in case any IRC Operator forgets to remove a DefCon setting. This directive is
- * optional.
- */
- #timeout = 15m
-
- /*
- * If set, Services will send a global message on DefCon level changes. This directive is optional.
- */
- #globalondefcon = yes
-
- /*
- * If set, Services will send the global message defined in the message directive on DefCon level
- * changes. This directive is optional.
- */
- #globalondefconmore = yes
-
- /*
- * Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
- * This directive is required only when globalondefconmore is set.
- */
- #message = "Put your message to send your users here. Dont forget to uncomment globalondefconmore"
-
- /*
- * Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
- * and will also override globalondefcon and globalondefconmore when set.
- */
- #offmessage = "Services are now back to normal, sorry for any inconvenience"
-
- /*
- * Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
- * DefCon operation is in effect.
- */
- #akillreason = "This network is currently not accepting connections, please try again later"
-}
-
-/*
- * [OPTIONAL] Non-Core Modules
- *
- * The following single-line blocks are used to load all non-core modules, including 3rd-party modules.
- * Modules can be prevented from loading by commenting out the line, other modules can be added by
- * adding a module block. These modules will be loaded prior to Services connecting to your network.
- */
-module { name = "hs_moo" }
-module { name = "ircd_defizzer" }
-module { name = "os_ignore" }
-module { name = "cs_appendtopic" }
-module { name = "cs_enforce" }
-module { name = "ns_maxemail" }
-module { name = "os_info" }
-module { name = "hs_request" }
-
-/*
- * [OPTIONAL] Module-Specific Options
- *
- * The following blocks are used for options pertaining to modules and are not part of the core.
- * Unless otherwise stated, most of the options are optional.
- */
-hs_request
-{
- /*
- * If set, Services will send a memo to the user requesting a vHost when it's been
- * approved or rejected.
- */
- #memouser = yes
-
- /*
- * If set, Services will send a memo to all Services staff when a new vHost is requested.
- */
- #memooper = yes
-
- /*
- * If set, Services will send a memo to all Host Setters when a new vHost is requested.
- */
- #memosetters = yes
-
- /*
- * The filename of the vHost request database. The path is relative to the services
- * executable. If not given, defaults to "hs_request.db".
- */
- #database = "hs_request.db"
-}
-
-ns_maxemail
-{
- /*
- * The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
- * commented, there will be no limit enforced when registering new accounts or using
- * /msg NickServ SET EMAIL.
- */
- #maxemails = 1
-}
-
-ns_noop_convert
-{
- /*
- * The filename of the NickServ AUTOOP convert database. The path is relative to the services
- * executable. If not given, defaults to "autoop.db".
- */
- #database = "autoop.db"
-}
-
-os_ignore
-{
- /*
- * The filename of the Services' ignore database. The path is relative to the services
- * executable. If not given, defaults to "os_ignore.db".
- */
- #database = "os_ignore.db"
-}
-
-os_info
-{
- /*
- * The filename of the oper information database. The path is relative to the services
- * executable. If not given, defaults to "os_info.db".
- */
- #database = "os_info.db"
-}