diff options
| author | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2008-11-20 02:06:20 +0000 |
|---|---|---|
| committer | cyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> | 2008-11-20 02:06:20 +0000 |
| commit | fa82184d9c819fff5c188f66f7814e28e1e32fe3 (patch) | |
| tree | 3f40117500287d6a8602fcf7d8241a1ebbe06548 /data | |
| parent | 42fe52c0780ee6ce607f164453c627320525adf9 (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.conf | 3035 | ||||
| -rw-r--r-- | data/example_new.conf | 1517 |
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" -} |
