diff options
Diffstat (limited to 'data/example.conf')
| -rw-r--r-- | data/example.conf | 923 |
1 files changed, 129 insertions, 794 deletions
diff --git a/data/example.conf b/data/example.conf index 14065ddf4..a14cf9ef6 100644 --- a/data/example.conf +++ b/data/example.conf @@ -72,6 +72,27 @@ * program. */ +/* + * [OPTIONAL] Additional Includes + * + * You can include additional configuration files here. + * You may also include executable files, which will be executed and + * the output from it will be included into your configuration. + */ + +/* +include +{ + type = "file" + name = "some.conf" +} + +include +{ + type = "executable" + name = "/usr/bin/wget -q -O - http://some.miconfigured.network.com/services.conf" +} +*/ /* * [REQUIRED] IRCd Config @@ -171,6 +192,7 @@ serverinfo /* * [REQUIRED] Protocol module + * * This directive tells Anope which IRCd Protocol to speak when connecting. * You MUST modify this to match the IRCd you run. * @@ -463,800 +485,94 @@ options } /* - * [RECOMMENDED] Service client configuration + * [OPTIONAL] BotServ + * + * Includes botserv.example.conf, which is necessary for BotServ functionality. * - * Defines some of the core services. Commands are later added to these services. + * Remove this block to disable BotServ. */ - -service -{ - /* - * The nick, user name, host, and real name of the service. - */ - nick = "BotServ" - user = "services" - host = "localhost.net" - gecos = "Bot Service" -} - -service -{ - nick = "ChanServ" - user = "services" - host = "localhost.net" - gecos = "Channel Registration Service" -} - -service -{ - nick = "Global" - user = "services" - host = "localhost.net" - gecos = "Global Noticer" -} - -service -{ - nick = "HostServ" - user = "services" - host = "localhost.net" - gecos = "vHost Service" -} - -service -{ - nick = "MemoServ" - user = "services" - host = "localhost.net" - gecos = "Memo Service" -} - -service -{ - nick = "NickServ" - user = "services" - host = "localhost.net" - gecos = "Nickname Registration Service" -} - -service +include { - nick = "OperServ" - user = "services" - host = "localhost.net" - gecos = "Operator Service" + type = "file" + name = "botserv.example.comf" } /* - * [RECOMMENDED] Core clients + * [RECOMMENDED] ChanServ + * + * Includes chanserv.example.conf, which is necessary for ChanServ functionality. + * + * Remove this block to disable ChanServ. */ - -module { name = "bs_main" } -botserv +include { - /* - * The name of the client that should be BotServ. - * Clients are configured above. - */ - name = "BotServ" - - /* - * The default bot 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: - * - 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 - * - * This directive is optional, if left blank, there will be no defaults. - */ - defaults="greet fantasy" - - /* - * 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 can be 0, the service bots will not part unless - * specifically unassigned, and will keep the channel open. - */ - 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 a 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 state 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 = "!" + type = "file" + name = "chanserv.example.conf" } /* - * [RECOMMENDED] Core ChanServ module. + * [RECOMMENDED] Global + * + * Includes global.example.conf, which is necessary for Global funcionality. * - * Provides essential functionality for ChanServ + * Remove this block to disable Global. */ -module { name = "cs_main" } - -chanserv -{ - /* - * The name of the client that should be ChanServ. Clients are configured - * with the service blocks. - */ - name = "ChanServ" - - /* - * 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 successor - * - 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 - * - persist: Keep the channel open at all times - * - none: No defaults - * - * 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" - - /* - * 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 length of time before a suspended channel becomes unsuspended. - * - * This directive is optional. - * If not set, the default is to never. - */ - #suspendexpire = 90d - - /* - * The lenth of time before a forbidden channel drops. - * - * This directive is optional. - * If not set, the default is to never. - */ - #forbidexpire = 90d - - /* - * 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 - * permitted to be in. This only occurs when the user is the only one in the channel. - */ - inhabit = 15s - - /* - * The maximum number of channels to be returned for a ChanServ LIST command. - */ - listmax = 50 - - /* - * Allow only IRC Operators to use ChanServ. - * - * This directive is optional. - */ - #opersonly = yes - - /* - * ChanServ levels configuration, for use with cs_access. - * - * These levels are used by the chanserv/access access system. - * The levels configured below will be used as a default by newly registered channels. - * - * The level "founder" is a special level that means anyone with the level_founder permission - * can use (which of course defaults to "founder"). Anyone with the founder level permission in - * a channel can do anything in the channel. - */ - level_change = 10 - level_list = 1 - level_akick = 10 - level_assign = "founder" - level_autohalfop = 4 - level_autoop = 5 - level_autoowner = 9999 - level_autoprotect = 10 - level_autovoice = 3 - level_badwords = 10 - level_ban = 4 - level_fantasia = 3 - level_founder = "founder" - level_getkey = 5 - level_greet = 5 - level_halfop = 5 - level_halfopme = 4 - level_info = 9999 - level_invite = 5 - level_kick = 4 - level_memo = 10 - level_mode = 5 - level_nokick = 1 - level_opdeop = 5 - level_opdeopme = 5 - level_owner = "founder" - level_ownerme = 9999 - level_protect = 9999 - level_protectme = 10 - level_say = 5 - level_signkick = 9999 - level_set = 9999 - level_topic = 5 - level_unban = 4 - level_voice = 4 - level_voiceme = 3 - - /* - * ChanServ flags configuration, for use with cs_flags. - * - * These flags are used by the chanserv/flags access system. - */ - flag_change = "f" - flag_list = "l" - flag_akick = "K" - flag_assign = "s" - flag_autohalfop = "H" - flag_autoop = "O" - flag_autoowner = "Q" - flag_autoprotect = "A" - flag_autovoice = "V" - flag_badwords = "k" - flag_ban = "b" - flag_fantasia = "c" - flag_founder = "F" - flag_getkey = "G" - flag_greet = "g" - flag_halfop = "h" - flag_halfopme = "h" - flag_info = "I" - flag_invite = "i" - flag_kick = "k" - flag_memo = "m" - flag_mode = "s" - flag_nokick = "N" - flag_opdeop = "o" - flag_opdeopme = "o" - flag_owner = "q" - flag_ownerme = "q" - flag_protect = "a" - flag_protectme = "a" - flag_say = "B" - flag_set = "s" - flag_signkick = "K" - flag_topic = "t" - flag_unban = "u" - flag_voice = "v" - flag_voiceme = "v" -} - -module { name = "gl_main" } -global +include { - /* - * The name of the client that should be Global. Clients are configured - * with the service blocks. - */ - name = "Global" - - /* - * 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 + type = "file" + name = "global.example.conf" } -module { name = "hs_main" } -hostserv +/* + * [OPTIONAL] HostServ + * + * Includes hostserv.example.conf, which is necessary for HostServ funcionality. + * + * Remove this block to disable HostServ. + */ +include { - /* - * The name of the client that should be HostServ. Clients are configured - * with the service blocks. - */ - name = "HostServ" + type = "file" + name = "hostserv.example.conf" } -module { name = "ms_main" } -memoserv +/* + * [OPTIONAL] MemoServ + * + * Includes memoserv.example.conf, which is necessary for MemoServ funcionality. + * + * Remove this block to disable MemoServ. + */ +include { - /* - * The name of the client that should be MemoServ. Clients are configured - * with the service blocks. - */ - name = "MemoServ" - - /* - * 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 - - /* - * Allow the use of memo receipts for the following groups: - * - * 1 - Opers Only - * 2 - Everybody - * - * This directive is optional. - */ - #memoreceipt = 1 + type = "file" + name = "memoserv.example.conf" } -module { name = "ns_main" } -nickserv +/* + * [OPTIONAL] NickServ + * + * Includes memoserv.example.conf, which is necessary for NickServ funcionality. + * + * Remove this block to disable NickServ. + */ +include { - /* - * The name of the client that should be NickServ. Clients are configured - * with the service blocks. - */ - name = "NickServ" - - /* - * Force users to give an e-mail address when they register a nick. - * - * This directive is recommended to be enabled, and required if e-mail registration is enabled. - */ - forceemail = yes - - /* - * Require users who change their email address to confirm they - * own it. - */ - confirmemailchanges = no - - /* - * 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" - - /* - * A list of languages to load on startup that will be available in /nickserv set language. - * Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE). - * Note that english should not be listed here because it is the base language. - */ - languages = "ca_ES de_DE el_GR es_ES fr_FR hu_HU it_IT nl_NL pl_PL pt_PT ru_RU tr_TR" - - /* - * Default language that non- and newly-registered nicks will receive messages in. - * Leave empty to default to English. - */ - #defaultlanguage = "es_ES" - - /* - * 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 before a suspended nick becomes unsuspended. - * - * This directive is optional. If not set, the default is to never. - */ - #suspendexpire = 90d - - /* - * The length of time a user using an unconfirmed account has - * before the account will be released for general use again. - * - * This directive is only required if the e-mail registration option is enabled. - */ - #unconfirmedexpire = 1d - - /* - * The maximum number of nicks allowed in a group. - * - * This directive 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. - */ - enforceruser = "enforcer" - enforcerhost = "localhost.net" - - /* - * 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, but recommended. - */ - #nogroupchange = 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 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 - - /* - * The maximum number of channels a user can have on NickServ's AJOIN command. - */ - ajoinmax = 10 + type = "file" + name = "nickserv.example.conf" } -module { name = "os_main" } -operserv +/* + * [RECOMMENDED] OperServ + * + * Includes operserv.example.conf, which is necessary for OperServ funcionality. + * + * Remove this block to disable OperServ. + */ +include { - /* - * The name of the client that should be OperServ. Clients are configured - * with the service blocks. - */ - name = "OperServ" - - /* - * 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 - - /* - * These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs, - * SQLINEs, and SZLINEs. - */ - autokillexpiry = 30d - chankillexpiry = 30d - snlineexpiry = 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, but recommended. - */ - akillonadd = yes - - /* - * If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD. - * This eliminates the need for killing the user after the SNLINE has been added. - * - *This directive is optional. - */ - #killonsnline = yes - - /* - * If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD. - * This eliminates the need for killing the user after the SQLINE has been added. - * - * This directive is optional. - */ - #killonsqline = 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 - * - akillexpire: An AKILL has expired - * - snlineexpire: An SNLINE has expired - * - sqlineexpire: An SQLINE has expired - * - szlineexpire: An SZLINE has expired - * - exceptionexpire: A session exception has expired - * - * This directive is optional, if left blank, there will be no notifications. - */ - notifications="oper" - - /* - * 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. - * - * This directive is optional. - * 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. - * - * 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. - * - * This directive is optional, if not set, nothing will be sent. - */ - #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 + type = "file" + name = "operserv.example.conf" } /* @@ -1609,6 +925,49 @@ dns } /* + * [REQUIRED] Database configuration. + * + * This section is used to configure databases used by Anope. + * You should at least load one database method, otherwise any data you + * have will not be stored! + */ + +/* + * db_plain + * + * This is the default flatfile database format. + */ +module { name = "db_plain" } +db_plain +{ + /* + * The database name db_plain should use + */ + database = "anope.db" +} + +/* + * db_mysql and db_mysql_live + * + * Enables (live) MySQL support. + * + * The db_mysql_live module is an extension to db_mysql, and should only be used if + * db_mysql is being used. This module pulls data in real time from SQL as it is + * requested by the core as a result of someone executing commands. + * + * This effectively allows you to edit your database and have it be immediately + * reflected back in Anope. + * + * For information on how to make db_mysql_live use asynchronous queries see + * m_async_commands. + * + * At this time db_mysql_live only supports pulling data in real time from the three + * main tables: anope_cs_info, anope_ns_alias, and anope_ns_core. + */ +#module { name = "db_mysql" } +#module { name = "db_mysql_live" } + +/* * [REQUIRED] Encryption modules. * * The encryption modules are used when dealing with passwords. This determines how @@ -1653,34 +1012,10 @@ module { name = "enc_md5" } */ #module { name = "enc_old" } -/* - * [OPTIONAL] Additional includes - * - * You can include additional configuration files here. - * You may also include executable files, which will be executed and - * the output from it will be included into your configuration. - */ - -/* Include core commands */ -include -{ - type = "file" - name = "commands.example.conf" -} - /* Extra (optional) modules */ include { - type = "file" - name = "modules.example.conf" + type = "file" + name = "modules.example.conf" } -/* -include -{ - type = "executable" - name = "/usr/bin/wget -q -O - http://some.miconfigured.network.com/services.conf" -} -*/ - - |
