1
0
mirror of https://github.com/anope/anope.git synced 2026-06-26 20:56:39 +02:00
Files
anope/data/example_new.conf
T
cyberbotx dbcc42e932 Added localhost and localport directives to serverinfo block in new config.
Removed some more MySQL references.
Added proper check for uplink block to make sure there is at least one defined.

git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1748 5417fbe8-f217-4b02-8779-1006273d7864
2008-11-18 03:24:48 +00:00

1457 lines
51 KiB
Plaintext

/*
* 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 filename of OperServ's Autokill database. The path is relative to the services
* executable. If not given, defaults to "akill.db". OperServ no longer uses this file, and
* this directive is only provided for importing an old OperServ database.
*/
#autokilldatabase = "akill.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" }