SHARE
TWEET

Untitled

a guest Jul 28th, 2019 8 in 309 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * Example configuration file for Services. After making the appropriate
  3.  * changes to this file, place it in the Services conf directory (as
  4.  * specified in the "configure" script, default
  5. /home/username/services/conf)
  6.  * under the name "services.conf".
  7.  *
  8.  * The format of this file is fairly simple: three types of comments are
  9. supported:
  10.  * - All text after a '#' on a line is ignored, as in shell scripting
  11.  * - All text after '//' on a line is ignored, as in C++
  12.  * - A block of text like this one is ignored, as in C
  13.  *
  14.  * Outside of comments, there are three structures: blocks, keys, and
  15. values.
  16.  *
  17.  * A block is a named container, which contains a number of key to value
  18. pairs
  19.  * - you may think of this as an array.
  20.  *
  21.  * A block is created like so:
  22.  * foobar
  23.  * {
  24.  * moo = "cow"
  25.  * foo = bar
  26.  * }
  27.  *
  28.  * Note that nameless blocks are allowed and are often used with
  29. comments to allow
  30.  * easily commenting an entire block, for example:
  31.  * #foobar
  32.  * {
  33.  * moo = "cow"
  34.  * foo = bar
  35.  * }
  36.  * is an entirely commented block.
  37.  *
  38.  * Keys are case insensitive. Values depend on what key - generally,
  39. information is
  40.  * given in the key comment. The quoting of values (and most other
  41. syntax) is quite
  42.  * flexible, however, please do not forget to quote your strings:
  43.  *
  44.  * "This is a parameter string with spaces in it"
  45.  *
  46.  * If you need to include a double quote inside a quoted string, precede
  47. it
  48.  * by a backslash:
  49.  *
  50.  * "This string has \"double quotes\" in it"
  51.  *
  52.  * Time parameters can be specified either as an integer representing a
  53.  * number of seconds (e.g. "3600" = 1 hour), or as an integer with a
  54. unit
  55.  * specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
  56.  * Combinations (such as "1h30m") are not permitted. Examples (all of
  57. which
  58.  * represent the same length of time, one day):
  59.  *
  60.  * "86400", "86400s", "1440m", "24h", "1d"
  61.  *
  62.  * In the documentation for each directive, one of the following will be
  63.  * included to indicate whether an option is required:
  64.  *
  65.  * [REQUIRED]
  66.  * Indicates a directive which must be given. Without it, Services will
  67.  * not start.
  68.  *
  69.  * [RECOMMENDED]
  70.  * Indicates a directive which may be omitted, but omitting it may cause
  71.  * undesirable side effects.
  72.  *
  73.  * [OPTIONAL]
  74.  * Indicates a directive which is optional. If not given, the feature
  75.  * will typically be disabled. If this is not the case, more
  76.  * information will be given in the documentation.
  77.  *
  78.  * [DISCOURAGED]
  79.  * Indicates a directive which may cause undesirable side effects if
  80.  * specified.
  81.  *
  82.  * [DEPRECATED]
  83.  * Indicates a directive which will disappear in a future version of
  84.  * Services, usually because its functionality has been either
  85.  * superseded by that of other directives or incorporated into the main
  86.  * program.
  87.  */ /*
  88.  * [OPTIONAL] Defines
  89.  *
  90.  * You can define values to other values, which can be used to easily
  91. change
  92.  * many values in the configuration. at once.
  93.  */ /*
  94.  * The services.host define is used in multiple different locations
  95. throughout the
  96.  * configuration for services clients hostnames.
  97.  */ define {
  98.     name = "services.madness"
  99.     value = "services.madness.ninja"
  100. }
  101. /*
  102.  * [OPTIONAL] Additional Includes
  103.  *
  104.  * You can include additional configuration files here.
  105.  * You may also include executable files, which will be executed and
  106.  * the output from it will be included into your configuration.
  107.  */
  108. #include
  109. {
  110.     type = "file"
  111.     name = "some.conf"
  112. }
  113. #include
  114. {
  115.     type = "executable"
  116.     name = "/usr/bin/wget -q -O -
  117. http://some.misconfigured.network.com/services.conf"
  118. }
  119. /*
  120.  * [REQUIRED] IRCd Config
  121.  *
  122.  * This section is used to set up Anope to connect to your IRC network.
  123.  * This section can be included multiple times, and Anope will attempt
  124. to
  125.  * connect to each server until it finally connects.
  126.  *
  127.  * Each uplink IRCd should have a corresponding configuration to allow
  128. Services
  129.  * to link to it.
  130.  *
  131.  * An example configuration for InspIRCd that is compatible with the
  132. below uplink
  133.  * and serverinfo configuration would look like:
  134.  *
  135.  * <link name="services.localhost.net"
  136.  * ipaddr="127.0.0.1"
  137.  * port="7000"
  138.  * sendpass="mypassword"
  139.  * recvpass="mypassword">
  140.  * <uline server="services.localhost.net" silent="yes">
  141.  * <bind address="127.0.0.1" port="7000" type="servers">
  142.  *
  143.  * An example configuration for UnrealIRCd that is compatible with the
  144. below uplink
  145.  * and serverinfo configuration would look like:
  146.  *
  147.  * link services.localhost.net
  148.  * {
  149.  * username *;
  150.  * hostname *;
  151.  * bind-ip "127.0.0.1";
  152.  * port 7000;
  153.  * hub *;
  154.  * password-connect "at";
  155.  * password-receive "at";
  156.  * class servers;
  157.  * };
  158.  * ulines { services.localhost.net; };
  159.  * listen 127.0.0.1:7000;
  160.  */ uplink {
  161.     /*
  162.      * The IP or hostname of the IRC server you wish to connect
  163. Services to.
  164.      * Usually, you will want to connect Services over 127.0.0.1
  165. (aka localhost).
  166.      *
  167.      * NOTE: On some shell providers, this will not be an option.
  168.      */
  169.     host = "127.0.0.1"
  170.     /*
  171.      * Enable if Services should connect using IPv6.
  172.      */
  173.     ipv6 = no
  174.     /*
  175.      * Enable if Services should connect using SSL.
  176.      * You must have an SSL module loaded for this to work.
  177.      */
  178.     ssl = no
  179.     /*
  180.      * The port to connect to.
  181.      * The IRCd *MUST* be configured to listen on this port, and to
  182. accept
  183.      * server connections.
  184.      *
  185.      * Refer to your IRCd documentation for how this is to be done.
  186.      */
  187.     port = 7000
  188.     /*
  189.      * The password to send to the IRC server for authentication.
  190.      * This must match the link block on your IRCd.
  191.      *
  192.      * Refer to your IRCd documentation for more information on link
  193. blocks.
  194.      */
  195.     password = "at"
  196. }
  197. /*
  198.  * [REQUIRED] Server Information
  199.  *
  200.  * This section contains information about the Services server.
  201.  */ serverinfo {
  202.     /*
  203.      * The hostname that Services will be seen as, it must have no
  204. conflicts with any
  205.      * other server names on the rest of your IRC network. Note that
  206. it does not have
  207.      * to be an existing hostname, just one that isn't on your
  208. network already.
  209.      */
  210.     name = "services.madness.ninja"
  211.     /*
  212.      * The text which should appear as the server's information in
  213. /whois and similar
  214.      * queries.
  215.      */
  216.     description = "irc.madness.ninja"
  217.     /*
  218.      * The local address that Services will bind to before
  219. connecting to the remote
  220.      * server. This may be useful for multihomed hosts. If omitted,
  221. Services will let
  222.      * the Operating System choose the local address. This directive
  223. is optional.
  224.      *
  225.      * If you don't know what this means or don't need to use it,
  226. just leave this
  227.      * directive commented out.
  228.      */
  229.     localhost = "nowhere."
  230.     /*
  231.      * What Server ID to use for this connection?
  232.      * Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to
  233. your IRCd documentation
  234.      * to see if this is needed.
  235.      */
  236.     #id = "00A"
  237.     /*
  238.      * The filename containing the Services process ID. The path is
  239. relative to the
  240.      * services root directory.
  241.      */
  242.     pid = "data/services.pid"
  243.     /*
  244.      * The filename containing the Message of the Day. The path is
  245. relative to the
  246.      * services root directory.
  247.      */
  248.     motd = "conf/services.motd"
  249. }
  250. /*
  251.  * [REQUIRED] Protocol module
  252.  *
  253.  * This directive tells Anope which IRCd Protocol to speak when
  254. connecting.
  255.  * You MUST modify this to match the IRCd you run.
  256.  *
  257.  * Supported:
  258.  * - bahamut
  259.  * - charybdis
  260.  * - hybrid
  261.  * - inspircd12
  262.  * - inspircd20
  263.  * - ngircd
  264.  * - plexus
  265.  * - ratbox
  266.  * - unreal (for 3.2.x)
  267.  * - unreal4
  268.  */ module {
  269.     name = "unreal4"
  270.     /*
  271.      * Some protocol modules can enforce mode locks server-side.
  272. This reduces the spam caused by
  273.      * services immediately reversing mode changes for locked modes.
  274.      *
  275.      * If the protocol module you have loaded does not support this,
  276. this setting will have no effect.
  277.      */
  278.     use_server_side_mlock = yes
  279.     /*
  280.      * Some protocol modules can enforce topic locks server-side.
  281. This reduces the spam caused by
  282.      * services immediately reversing topic changes.
  283.      *
  284.      * If the protocol module you have loaded does not support this,
  285. this setting will have no effect.
  286.      */
  287.     use_server_side_topiclock = yes
  288. }
  289. /*
  290.  * [REQUIRED] Network Information
  291.  *
  292.  * This section contains information about the IRC network that Services
  293. will be
  294.  * connecting to.
  295.  */ networkinfo {
  296.     /*
  297.      * This is the name of the network that Services will be running
  298. on.
  299.      */
  300.     networkname = "MADNESS"
  301.     /*
  302.      * Set this to the maximum allowed nick length on your network.
  303.      * Be sure to set this correctly, as setting this wrong can
  304. result in
  305.      * Services being disconnected from the network.
  306.      */
  307.     nicklen = 31
  308.     /* Set this to the maximum allowed ident length on your network.
  309.      * Be sure to set this correctly, as setting this wrong can
  310. result in
  311.      * Services being disconnected from the network.
  312.      */
  313.     userlen = 10
  314.     /* Set this to the maximum allowed hostname length on your
  315. network.
  316.      * Be sure to set this correctly, as setting this wrong can
  317. result in
  318.      * Services being disconnected from the network.
  319.      */
  320.     hostlen = 64
  321.     /* Set this to the maximum allowed channel length on your
  322. network.
  323.      */
  324.     chanlen = 32
  325.     /* The maximum number of list modes settable on a channel (such
  326. as b, e, I).
  327.      * Comment out or set to 0 to disable.
  328.      */
  329.     modelistsize = 100
  330.     /*
  331.      * Characters allowed in nicknames. This always includes the
  332. characters described
  333.      * in RFC1459, and so does not need to be set for normal
  334. behavior. Changing this to
  335.      * include characters your IRCd doesn't support will cause your
  336. IRCd and/or Services
  337.      * to break. Multibyte characters are not supported, nor are
  338. escape sequences.
  339.      *
  340.      * It is recommended you DON'T change this.
  341.      */
  342.     #nick_chars = ""
  343.     /*
  344.      * The characters allowed in hostnames. This is used for
  345. validating hostnames given
  346.      * to services, such as BotServ bot hostnames and user vhosts.
  347. Changing this is not
  348.      * recommended unless you know for sure your IRCd supports
  349. whatever characters you are
  350.      * wanting to use. Telling services to set a vHost containing
  351. characters your IRCd
  352.      * disallows could potentially break the IRCd and/or Services.
  353.      *
  354.      * It is recommended you DON'T change this.
  355.      */
  356.       vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
  357.     /*
  358.      * If set to true, allows vHosts to not contain dots (.).
  359.      * Newer IRCds generally do not have a problem with this, but
  360. the same warning as
  361.      * vhost_chars applies.
  362.      *
  363.      * It is recommended you DON'T change this.
  364.      */
  365.     allow_undotted_vhosts = false
  366.     /*
  367.      * The characters that are not allowed to be at the very
  368. beginning or very ending
  369.      * of a vHost. The same warning as vhost_chars applies.
  370.      *
  371.      * It is recommended you DON'T change this.
  372.      */
  373.     disallow_start_or_end = ".-"
  374. }
  375. /*
  376.  * [REQUIRED] Services Options
  377.  *
  378.  * This section contains various options which determine how Services
  379. will operate.
  380.  */ options {
  381.     /*
  382.      * On Linux/UNIX systems Anope can setuid and setgid to this
  383. user and group
  384.      * after starting up. This is useful if Anope has to bind to
  385. privileged ports
  386.      */
  387.     #user = "anope" group = "anope"
  388.     /*
  389.      * The case mapping used by services. This must be set to a
  390. valid locale name
  391.      * installed on your machine. Services use this case map to
  392. compare, with
  393.      * case insensitivity, things such as nick names, channel names,
  394. etc.
  395.      *
  396.      * We provide two special casemaps shipped with Anope, ascii and
  397. rfc1459.
  398.      *
  399.      * This value should be set to what your IRCd uses, which is
  400. probably rfc1459,
  401.      * however Anope has always used ascii for comparison, so the
  402. default is ascii.
  403.      *
  404.      * Changing this value once set is not recommended.
  405.      */
  406.     casemap = "ascii"
  407.     /*
  408.      * This key is used to initiate the random number generator.
  409. This number
  410.      * MUST be random as you want your passcodes to be random. Don't
  411. give this
  412.      * key to anyone! Keep it private!
  413.      *
  414.      * NOTE: If you don't uncomment this or keep the default values,
  415. any talented
  416.      * programmer would be able to easily "guess" random strings
  417. used to mask
  418.      * information. Be safe, and come up with a 7-digit number.
  419.      *
  420.      * This directive is optional, but highly recommended.
  421.      */
  422.     #seed = 9866235
  423.     /*
  424.      * If set, Services will perform more stringent checks on
  425. passwords. If this
  426.      * isn't set, Services will only disallow a password if it is
  427. the same as the
  428.      * entity (nickname name) with which it is associated. When set,
  429. however,
  430.      * Services will also check that the password is at least five
  431.      * characters long, and in the future will probably check other
  432. things
  433.      * as well.
  434.      *
  435.      * This directive is optional, but recommended.
  436.      */
  437.     strictpasswords = yes
  438.     /*
  439.      * Sets the number of invalid password tries before Services
  440. removes a user
  441.      * from the network. If a user enters a number of invalid
  442. passwords equal to
  443.      * the given amount for any Services function or combination of
  444. functions
  445.      * during a single IRC session (subject to badpasstimeout,
  446. below), Services
  447.      * will issues a /KILL for the user. If not given, Services will
  448. ignore
  449.      * failed password attempts (though they will be logged in any
  450. case).
  451.      *
  452.      * This directive is optional, but recommended.
  453.      */
  454.     badpasslimit = 5
  455.     /*
  456.      * Sets the time after which invalid passwords are forgotten
  457. about. If a user
  458.      * does not enter any incorrect passwords in this amount of
  459. time, the incorrect
  460.      * password count will reset to zero. If not given, the timeout
  461. will be
  462.      * disabled, and the incorrect password count will never be
  463. reset until the user
  464.      * disconnects.
  465.      *
  466.      * This directive is optional.
  467.      */
  468.     badpasstimeout = 1h
  469.     /*
  470.      * Sets the delay between automatic database updates.
  471.      */
  472.     updatetimeout = 5m
  473.     /*
  474.      * Sets the delay between checks for expired nicknames and
  475. channels.
  476.      */
  477.     expiretimeout = 30m
  478.     /*
  479.      * Sets the timeout period for reading from the uplink.
  480.      */
  481.     readtimeout = 5s
  482.     /*
  483.      * Sets the interval between sending warning messages for
  484. program errors via
  485.      * WALLOPS/GLOBOPS.
  486.      */
  487.     warningtimeout = 4h
  488.     /*
  489.      * Sets the (maximum) frequency at which the timeout list is
  490. checked. This,
  491.      * combined with readtimeout above, determines how accurately
  492. timed events,
  493.      * such as nick kills, occur; it also determines how much CPU
  494. time Services
  495.      * will use doing this. Higher values will cause less accurate
  496. timing but
  497.      * less CPU usage.
  498.      *
  499.      * Note that this value is not an absolute limit on the period
  500. between
  501.      * checks of the timeout list; the previous may be as great as
  502. readtimeout
  503.      * (above) during periods of inactivity.
  504.      *
  505.      * If this directive is not given, it will default to 0.
  506.      */
  507.     timeoutcheck = 3s
  508.     /*
  509.      * If set, this will allow users to let Services send PRIVMSGs
  510. to them
  511.      * instead of NOTICEs. Also see the "msg" option of
  512. nickserv:defaults,
  513.      * which also toggles the default communication (PRIVMSG or
  514. NOTICE) to
  515.      * use for unregistered users.
  516.      *
  517.      * This is a feature that is against the IRC RFC and should be
  518. used ONLY
  519.      * if absolutely necessary.
  520.      *
  521.      * This directive is optional, and not recommended.
  522.      */
  523.     #useprivmsg = yes
  524.     /*
  525.      * If set, will force Services to only respond to PRIVMSGs
  526. addresses to
  527.      * Nick@ServerName - e.g. NickServ@localhost.net. This should be
  528. used in
  529.      * conjunction with IRCd aliases. This directive is optional.
  530.      *
  531.      * This option will have no effect on some IRCds, such as TS6
  532. IRCds.
  533.      */
  534.     #usestrictprivmsg = yes
  535.     /*
  536.      * If set, Services will only show /stats o to IRC Operators.
  537. This directive
  538.      * is optional.
  539.      */
  540.     #hidestatso = yes
  541.     /*
  542.      * A space-separated list of ulined servers on your network, it
  543. is assumed that
  544.      * the servers in this list are allowed to set channel modes and
  545. Services will
  546.      * not attempt to reverse their mode changes.
  547.      *
  548.      * WARNING: Do NOT put your normal IRC user servers in this
  549. directive.
  550.      *
  551.      * This directive is optional.
  552.      */
  553.     #ulineservers = "stats.your.network"
  554.     /*
  555.      * How long to wait between connection retries with the
  556. uplink(s).
  557.      */
  558.     retrywait = 60s
  559.     /*
  560.      * If set, Services will hide commands that users don't have the
  561. privilege to execute
  562.      * from HELP output.
  563.      */
  564.     hideprivilegedcommands = yes
  565.     /*
  566.      * If set, Services will hide commands that users can't execute
  567. because they are not
  568.      * logged in from HELP output.
  569.      */
  570.     hideregisteredcommands = yes
  571.     /* The regex engine to use, as provided by the regex modules.
  572.      * Leave commented to disable regex matching.
  573.      *
  574.      * Note for this to work the regex module providing the regex
  575. engine must be loaded.
  576.      */
  577.     #regexengine = "regex/pcre"
  578.     /*
  579.      * A list of languages to load on startup that will be available
  580. in /nickserv set language.
  581.      * Useful if you translate Anope to your language. (Explained
  582. further in docs/LANGUAGE).
  583.      * Note that english should not be listed here because it is the
  584. base language.
  585.      *
  586.      * Removing .UTF-8 will instead use the default encoding for the
  587. language, eg. iso-8859-1 for western European languages.
  588.      */
  589.     languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8
  590. fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8
  591. ru_RU.UTF-8 tr_TR.UTF-8"
  592.     /*
  593.      * Default language that non- and newly-registered nicks will
  594. receive messages in.
  595.      * Set to "en" to enable English. Defaults to the language the
  596. system uses.
  597.      */
  598.     #defaultlanguage = "es_ES.UTF-8"
  599. }
  600. /*
  601.  * [OPTIONAL] BotServ
  602.  *
  603.  * Includes botserv.example.conf, which is necessary for BotServ
  604. functionality.
  605.  *
  606.  * Remove this block to disable BotServ.
  607.  */ include {
  608.     type = "file"
  609.     name = "botserv.example.conf"
  610. }
  611. /*
  612.  * [RECOMMENDED] ChanServ
  613.  *
  614.  * Includes chanserv.example.conf, which is necessary for ChanServ
  615. functionality.
  616.  *
  617.  * Remove this block to disable ChanServ.
  618.  */ include {
  619.     type = "file"
  620.     name = "chanserv.example.conf"
  621. }
  622. /*
  623.  * [RECOMMENDED] Global
  624.  *
  625.  * Includes global.example.conf, which is necessary for Global
  626. functionality.
  627.  *
  628.  * Remove this block to disable Global.
  629.  */ include {
  630.     type = "file"
  631.     name = "global.example.conf"
  632. }
  633. /*
  634.  * [OPTIONAL] HostServ
  635.  *
  636.  * Includes hostserv.example.conf, which is necessary for HostServ
  637. functionality.
  638.  *
  639.  * Remove this block to disable HostServ.
  640.  */ include {
  641.     type = "file"
  642.     name = "hostserv.example.conf"
  643. }
  644. /*
  645.  * [OPTIONAL] MemoServ
  646.  *
  647.  * Includes memoserv.example.conf, which is necessary for MemoServ
  648. functionality.
  649.  *
  650.  * Remove this block to disable MemoServ.
  651.  */ include {
  652.     type = "file"
  653.     name = "memoserv.example.conf"
  654. }
  655. /*
  656.  * [OPTIONAL] NickServ
  657.  *
  658.  * Includes nickserv.example.conf, which is necessary for NickServ
  659. functionality.
  660.  *
  661.  * Remove this block to disable NickServ.
  662.  */ include {
  663.     type = "file"
  664.     name = "nickserv.example.conf"
  665. }
  666. /*
  667.  * [RECOMMENDED] OperServ
  668.  *
  669.  * Includes operserv.example.conf, which is necessary for OperServ
  670. functionality.
  671.  *
  672.  * Remove this block to disable OperServ.
  673.  */ include {
  674.     type = "file"
  675.     name = "operserv.example.conf"
  676. }
  677. /*
  678.  * [RECOMMENDED] Logging Configuration
  679.  *
  680.  * This section is used for configuring what is logged and where it is
  681. logged to.
  682.  * You may have multiple log blocks if you wish. Remember to properly
  683. secure any
  684.  * channels you choose to have Anope log to!
  685.  */ log {
  686.     /*
  687.      * Target(s) to log to, which may be one of the following:
  688.      * - a channel name
  689.      * - a filename
  690.      * - globops
  691.      */
  692.     target = "services.log"
  693.     /* Log to both services.log and the channel #services
  694.      *
  695.      * Note that some older IRCds, such as Ratbox, require services
  696. to be in the
  697.      * log channel to be able to message it. To do this, configure
  698. service:channels to
  699.      * join your logging channel.
  700.      */
  701.     target = "services.log #ninja"
  702.     /*
  703.      * The source(s) to only accept log messages from. Leave
  704. commented to allow all sources.
  705.      * This can be a users name, a channel name, one of our clients
  706. (eg, OperServ), or a server name.
  707.      */
  708.     #source = ""
  709.     /*
  710.      * The bot used to log generic messages which have no predefined
  711. sender if there
  712.      * is a channel in the target directive.
  713.      */
  714.     bot = "Global"
  715.     /*
  716.      * The number of days to keep logfiles, only useful if you are
  717. logging to a file.
  718.      * Set to 0 to never delete old logfiles.
  719.      *
  720.      * Note that Anope must run 24 hours a day for this feature to
  721. work correctly.
  722.      */
  723.     logage = 7
  724.     /*
  725.      * What types of log messages should be logged by this block.
  726. There are nine general categories:
  727.      *
  728.      * admin - Execution of admin commands (OperServ, etc).
  729.      * override - A services operator using their powers to execute
  730. a command they couldn't normally.
  731.      * commands - Execution of general commands.
  732.      * servers - Server actions, linking, squitting, etc.
  733.      * channels - Actions in channels such as joins, parts, kicks,
  734. etc.
  735.      * users - User actions such as connecting, disconnecting,
  736. changing name, etc.
  737.      * other - All other messages without a category.
  738.      * rawio - Logs raw input and output from services
  739.      * debug - Debug messages (log files can become VERY large from
  740. this).
  741.      *
  742.      * These options determine what messages from the categories
  743. should be logged. Wildcards are accepted, and
  744.      * you can also negate values with a ~. For example,
  745. "~operserv/akill operserv/*" would log all operserv
  746.      * messages except for operserv/akill. Note that processing
  747. stops at the first matching option, which
  748.      * means "* ~operserv/*" would log everything because * matches
  749. everything.
  750.      *
  751.      * Valid admin, override, and command options are:
  752.      * pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
  753.      *
  754.      * Valid server options are:
  755.      * connect, quit, sync, squit
  756.      *
  757.      * Valid channel options are:
  758.      * create, destroy, join, part, kick, leave, mode
  759.      *
  760.      * Valid user options are:
  761.      * connect, disconnect, quit, nick, ident, host, mode, maxusers,
  762. oper, away
  763.      *
  764.      * Rawio and debug are simple yes/no answers, there are no types
  765. for them.
  766.      *
  767.      * Note that modules may add their own values to these options.
  768.      */
  769.     admin = "*"
  770.     override = "chanserv/* nickserv/* memoserv/set ~botserv/set
  771. botserv/*"
  772.     commands = "~operserv/* *"
  773.     servers = "*"
  774.     #channels = "~mode *"
  775.     users = "connect disconnect nick"
  776.     other = "*"
  777.     rawio = no
  778.     debug = no
  779. }
  780. /*
  781.  * A log block to globops some useful things.
  782.  */ log {
  783.     target = "globops"
  784.     admin = "global/* operserv/chankill operserv/mode operserv/kick
  785. operserv/akill operserv/s*line operserv/noop operserv/jupe
  786. operserv/oline operserv/set operserv/svsnick operserv/svsjoin
  787. operserv/svspart nickserv/getpass */drop"
  788.     servers = "squit"
  789.     users = "oper"
  790.     other = "expire/* bados akill/*"
  791. }
  792. /*
  793.  * [RECOMMENDED] Oper Access Config
  794.  *
  795.  * This section is used to set up staff access to restricted oper only
  796. commands.
  797.  * You may define groups of commands and privileges, as well as who may
  798. use them.
  799.  *
  800.  * This block is recommended, as without it you will be unable to access
  801. most oper commands.
  802.  * It replaces the old ServicesRoot directive amongst others.
  803.  *
  804.  * The command names below are defaults and are configured in the
  805. *serv.conf's. If you configure
  806.  * additional commands with permissions, such as commands from third
  807. party modules, the permissions
  808.  * must be included in the opertype block before the command can be
  809. used.
  810.  *
  811.  * Available privileges:
  812.  * botserv/administration - Can view and assign private BotServ bots
  813.  * botserv/fantasy - Can use fantasy commands without the FANTASIA
  814. privilege
  815.  * chanserv/administration - Can modify the settings of any channel
  816. (including changing of the owner!)
  817.  * chanserv/access/list - Can view channel access and akick lists, but
  818. not modify them
  819.  * chanserv/access/modify - Can modify channel access and akick lists,
  820. and use /chanserv enforce
  821.  * chanserv/auspex - Can see any information with /chanserv info
  822.  * chanserv/no-register-limit - May register an unlimited number of
  823. channels and nicknames
  824.  * chanserv/kick - Can kick and ban users from channels through ChanServ
  825.  * memoserv/info - Can see any information with /memoserv info
  826.  * memoserv/set-limit - Can set the limit of max stored memos on any
  827. user and channel
  828.  * memoserv/no-limit - Can send memos through limits and throttles
  829.  * nickserv/access - Can modify other users access and certificate lists
  830.  * nickserv/alist - Can see the channel access list of other users
  831.  * nickserv/auspex - Can see any information with /nickserv info
  832.  * nickserv/confirm - Can confirm other users nicknames
  833.  * nickserv/drop - Can drop other users nicks
  834.  * operserv/config - Can modify services's configuration
  835.  * operserv/oper/modify - Can add and remove operators with at most the
  836. same privileges
  837.  * protected - Can not be kicked from channels by Services
  838.  *
  839.  * Available commands:
  840.  * botserv/bot/del botserv/bot/add botserv/bot/change
  841. botserv/set/private
  842.  * botserv/set/nobot
  843.  *
  844.  * chanserv/drop chanserv/getkey chanserv/invite
  845.  * chanserv/list chanserv/suspend chanserv/topic
  846.  *
  847.  * chanserv/saset/noexpire
  848.  *
  849.  * memoserv/sendall memoserv/staff
  850.  *
  851.  * nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
  852.  * nickserv/list
  853.  *
  854.  * nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet
  855. nickserv/saset/password
  856.  * nickserv/saset/display nickserv/saset/kill nickserv/saset/language
  857. nickserv/saset/message
  858.  * nickserv/saset/private nickserv/saset/secure nickserv/saset/url
  859. nickserv/saset/noexpire
  860.  * nickserv/saset/keepmodes
  861.  *
  862.  * hostserv/set hostserv/del hostserv/list
  863.  *
  864.  * global/global
  865.  *
  866.  * operserv/news operserv/stats operserv/kick operserv/exception
  867. operserv/seen
  868.  * operserv/mode operserv/session operserv/modinfo operserv/ignore
  869. operserv/chanlist
  870.  * operserv/chankill operserv/akill operserv/sqline operserv/snline
  871. operserv/userlist
  872.  * operserv/oper operserv/config operserv/umode operserv/logsearch
  873.  * operserv/modload operserv/jupe operserv/set operserv/noop
  874.  * operserv/quit operserv/update operserv/reload operserv/restart
  875.  * operserv/shutdown operserv/svs operserv/oline operserv/kill
  876.  *
  877.  * Firstly, we define 'opertypes' which are named whatever we want
  878. ('Network Administrator', etc).
  879.  * These can contain commands for oper-only strings (see above) which
  880. grants access to that specific command,
  881.  * and privileges (which grant access to more general permissions for
  882. the named area).
  883.  * Wildcard entries are permitted for both, e.g. 'commands =
  884. "operserv/*"' for all OperServ commands.
  885.  *
  886.  * Below are some default example types, but this is by no means
  887. exhaustive,
  888.  * and it is recommended that you configure them to your needs.
  889.  */ opertype {
  890.     /* The name of this opertype */
  891.     name = "Helper"
  892.     /* What commands (see above) this opertype has */
  893.     commands = "hostserv/*"
  894. }
  895. opertype {
  896.     /* The name of this opertype */
  897.     name = "Services Operator"
  898.     /* What opertype(s) this inherits from. Separate with a comma.
  899. */
  900.     inherits = "Helper, Another Helper"
  901.     /* What commands (see above) this opertype may use */
  902.     commands = "chanserv/list chanserv/suspend chanserv/topic
  903. memoserv/staff nickserv/list nickserv/suspend operserv/mode
  904. operserv/chankill operserv/akill operserv/session operserv/modinfo
  905. operserv/sqline operserv/oper operserv/kick operserv/ignore
  906. operserv/snline"
  907.     /* What privs (see above) this opertype has */
  908.     privs = "chanserv/auspex chanserv/no-register-limit memoserv/*
  909. nickserv/auspex nickserv/confirm"
  910.     /*
  911.      * Modes to be set on users when they identify to accounts
  912. linked to this opertype.
  913.      *
  914.      * This can be used to automatically oper users who identify for
  915. services operator accounts, and is
  916.      * useful for setting modes such as Plexus's user mode +N.
  917.      *
  918.      * Note that some IRCds, such as InspIRCd, do not allow directly
  919. setting +o, and this will not work.
  920.      */
  921.     #modes = "+o"
  922. }
  923. opertype {
  924.     name = "Services Administrator"
  925.     inherits = "Services Operator"
  926.     commands = "botserv/* chanserv/access/list chanserv/drop
  927. chanserv/getkey chanserv/saset/noexpire memoserv/sendall
  928. nickserv/saset/* nickserv/getemail operserv/news operserv/jupe
  929. operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid
  930. global/*"
  931.     privs = "*"
  932. }
  933. opertype {
  934.     name = "Services Root"
  935.     commands = "*"
  936.     privs = "*"
  937. }
  938. /*
  939.  * After defining different types of operators in the above opertype
  940. section, we now define who is in these groups
  941.  * through 'oper' blocks, similar to ircd access.
  942.  *
  943.  * The default is to comment these out (so NOBODY will have Services
  944. access).
  945.  * You probably want to add yourself and a few other people at minimum.
  946.  *
  947.  * As with all permissions, make sure to only give trustworthy people
  948. access to Services.
  949.  */
  950. #oper
  951. {
  952.     /* The nickname of this services oper */
  953.     name = "at"
  954.     /* The opertype this person will have */
  955.     type = "Services Root"
  956.     /* If set, the user must be an oper on the IRCd to gain their
  957. Services
  958.      * oper privileges.
  959.      */
  960.     require_oper = yes
  961.     /* An optional password. If defined the user must login using
  962. "/msg OperServ LOGIN" first */
  963.     #password = "secret"
  964.     /* An optional SSL fingerprint. If defined, it's required to be
  965. able to use this opertype. */
  966.     #certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
  967.     /* An optional list of user@host masks. If defined the user must
  968. be connected from one of them */
  969.     #host = "*@*.anope.org ident@*"
  970.     /* An optional vHost to set on users who identify for this oper
  971. block.
  972.      * This will override HostServ vHosts, and may not be available
  973. on all IRCds
  974.      */
  975.     #vhost = "oper.mynet"
  976. }
  977. #oper
  978. {
  979.     name = "nick2"
  980.     type = "Services Administrator"
  981. }
  982. #oper
  983. {
  984.     name = "nick3"
  985.     type = "Helper"
  986. }
  987. /*
  988.  * [OPTIONAL] Mail Config
  989.  *
  990.  * This section contains settings related to the use of e-mail from
  991. Services.
  992.  * If the usemail directive is set to yes, unless specified otherwise,
  993. all other
  994.  * directives are required.
  995.  *
  996.  * NOTE: Users can find the IP of the machine services is running on by
  997. examining
  998.  * mail headers. If you do not want your IP known, you should set up a
  999. mail relay
  1000.  * to strip the relevant headers.
  1001.  */ mail {
  1002.     /*
  1003.      * If set, this option enables the mail commands in Services.
  1004. You may choose
  1005.      * to disable it if you have no Sendmail-compatible mailer
  1006. installed. Whilst
  1007.      * this directive (and entire block) is optional, it is required
  1008. if
  1009.      * nickserv:registration is set to yes.
  1010.      */
  1011.     usemail = yes
  1012.     /*
  1013.      * This is the command-line that will be used to call the mailer
  1014. to send an
  1015.      * e-mail. It must be called with all the parameters needed to
  1016. make it
  1017.      * scan the mail input to find the mail recipient; consult your
  1018. mailer
  1019.      * documentation.
  1020.      *
  1021.      * Postfix users must use the compatible sendmail utility
  1022. provided with
  1023.      * it. This one usually needs no parameters on the command-line.
  1024. Most
  1025.      * sendmail applications (or replacements of it) require the -t
  1026. option
  1027.      * to be used.
  1028.      */
  1029.     sendmailpath = "/usr/sbin/sendmail -t"
  1030.     /*
  1031.      * This is the e-mail address from which all the e-mails are to
  1032. be sent from.
  1033.      * It should really exist.
  1034.      */
  1035.     sendfrom = "services@madness.ninja"
  1036.     /*
  1037.      * This controls the minimum amount of time a user must wait
  1038. before sending
  1039.      * another e-mail after they have sent one. It also controls the
  1040. minimum time
  1041.      * a user must wait before they can receive another e-mail.
  1042.      *
  1043.      * This feature prevents users from being mail bombed using
  1044. Services and
  1045.      * it is highly recommended that it be used.
  1046.      *
  1047.      * This directive is optional, but highly recommended.
  1048.      */
  1049.     delay = 5m
  1050.     /*
  1051.      * If set, Services will not attempt to put quotes around the
  1052. TO: fields
  1053.      * in e-mails.
  1054.      *
  1055.      * This directive is optional, and as far as we know, it's only
  1056. needed
  1057.      * if you are using ESMTP or QMail to send out e-mails.
  1058.      */
  1059.     #dontquoteaddresses = yes
  1060.     /*
  1061.      * The subject and message of emails sent to users when they
  1062. register accounts.
  1063.      */
  1064.     registration_subject = "Nickname registration for %n"
  1065.     registration_message = "Hi,
  1066.                 You have requested to register the
  1067. nickname %n on %N.
  1068.                 Please type \" /msg NickServ CONFIRM %c
  1069. \" to complete registration.
  1070.                 If you don't know why this mail was sent
  1071. to you, please ignore it silently.
  1072.                 %N administrators."
  1073.     /*
  1074.      * The subject and message of emails sent to users when they
  1075. request a new password.
  1076.      */
  1077.     reset_subject = "Reset password request for %n"
  1078.     reset_message = "Hi,
  1079.             You have requested to have the password for %n
  1080. reset.
  1081.             To reset your password, type \" /msg NickServ
  1082. CONFIRM %n %c \"
  1083.             If you don't know why this mail was sent to you,
  1084. please ignore it silently.
  1085.             %N administrators."
  1086.     /*
  1087.      * The subject and message of emails sent to users when they
  1088. request a new email address.
  1089.      */
  1090.     emailchange_subject = "Email confirmation"
  1091.     emailchange_message = "Hi,
  1092.             You have requested to change your email address
  1093. from %e to %E.
  1094.             Please type \" /msg NickServ CONFIRM %c \" to
  1095. confirm this change.
  1096.             If you don't know why this mail was sent to you,
  1097. please ignore it silently.
  1098.             %N administrators."
  1099.     /*
  1100.      * The subject and message of emails sent to users when they
  1101. receive a new memo.
  1102.      */
  1103.     memo_subject = "New memo"
  1104.     memo_message = "Hi %n,
  1105.             You've just received a new memo from %s. This is
  1106. memo number %d.
  1107.             Memo text:
  1108.             %t"
  1109. }
  1110. /*
  1111.  * [REQUIRED] Database configuration.
  1112.  *
  1113.  * This section is used to configure databases used by Anope.
  1114.  * You should at least load one database method, otherwise any data you
  1115.  * have will not be stored!
  1116.  */ /*
  1117.  * [DEPRECATED] db_old
  1118.  *
  1119.  * This is the old binary database format from late Anope 1.7.x, Anope
  1120. 1.8.x, and
  1121.  * early Anope 1.9.x. This module only loads these databases, and will
  1122. NOT save them.
  1123.  * You should only use this to upgrade old databases to a newer database
  1124. format by loading
  1125.  * other database modules in addition to this one, which will be used
  1126. when saving databases.
  1127.  */
  1128. #module
  1129. {
  1130.     name = "db_old"
  1131.     /*
  1132.      * This is the encryption type used by the databases. This must
  1133. be set correctly or
  1134.      * your passwords will not work. Valid options are: md5, oldmd5,
  1135. sha1, and plain.
  1136.      * You must also be sure to load the correct encryption module
  1137. below in the Encryption
  1138.      * Modules section so that your passwords work.
  1139.      */
  1140.     #hash = "md5"
  1141. }
  1142. /*
  1143.  * [RECOMMENDED] db_flatfile
  1144.  *
  1145.  * This is the default flatfile database format.
  1146.  */ module {
  1147.     name = "db_flatfile"
  1148.     /*
  1149.      * The database name db_flatfile should use
  1150.      */
  1151.     database = "anope.db"
  1152.     /*
  1153.      * Sets the number of days backups of databases are kept. If you
  1154. don't give it,
  1155.      * or if you set it to 0, Services won't backup the databases.
  1156.      *
  1157.      * NOTE: Services must run 24 hours a day for this feature to
  1158. work.
  1159.      *
  1160.      * This directive is optional, but recommended.
  1161.      */
  1162.     keepbackups = 3
  1163.     /*
  1164.      * Allows Services to continue file write operations (i.e.
  1165. database saving)
  1166.      * even if the original file cannot be backed up. Enabling this
  1167. option may
  1168.      * allow Services to continue operation under conditions where
  1169. it might
  1170.      * otherwise fail, such as a nearly-full disk.
  1171.      *
  1172.      * NOTE: Enabling this option can cause irrecoverable data loss
  1173. under some
  1174.      * conditions, so make CERTAIN you know what you're doing when
  1175. you enable it!
  1176.      *
  1177.      * This directive is optional, and you are discouraged against
  1178. enabling it.
  1179.      */
  1180.     #nobackupokay = yes
  1181.     /*
  1182.      * If enabled, services will fork a child process to save
  1183. databases.
  1184.      *
  1185.      * This is only useful with very large databases, with hundreds
  1186.      * of thousands of objects, that have a noticeable delay from
  1187.      * writing databases.
  1188.      *
  1189.      * If your database is large enough cause a noticeable delay
  1190. when
  1191.      * saving you should consider a more powerful alternative such
  1192.      * as db_sql or db_redis, which incrementally update their
  1193.      * databases asynchronously in real time.
  1194.      */
  1195.     fork = no
  1196. }
  1197. /*
  1198.  * db_sql and db_sql_live
  1199.  *
  1200.  * db_sql module allows saving and loading databases using one of the
  1201. SQL engines.
  1202.  * This module loads the databases once on startup, then incrementally
  1203. updates
  1204.  * objects in the database as they are changed within Anope in real
  1205. time. Changes
  1206.  * to the SQL tables not done by Anope will have no effect and will be
  1207. overwritten.
  1208.  *
  1209.  * db_sql_live module allows saving and loading databases using one of
  1210. the SQL engines.
  1211.  * This module reads and writes to SQL in real time. Changes to the SQL
  1212. tables
  1213.  * will be immediately reflected into Anope. This module should not be
  1214. loaded
  1215.  * in conjunction with db_sql.
  1216.  *
  1217.  */
  1218. #module
  1219. {
  1220.     name = "db_sql"
  1221.     #name = "db_sql_live"
  1222.     /*
  1223.      * The SQL service db_sql(_live) should use, these are
  1224. configured in modules.conf.
  1225.      * For MySQL, this should probably be mysql/main.
  1226.      */
  1227.     engine = "sqlite/main"
  1228.     /*
  1229.      * An optional prefix to prepended to the name of each created
  1230. table.
  1231.      * Do not use the same prefix for other programs.
  1232.      */
  1233.     #prefix = "anope_db_"
  1234.     /* Whether or not to import data from another database module in
  1235. to SQL on startup.
  1236.      * If you enable this, be sure that the database services is
  1237. configured to use is
  1238.      * empty and that another database module to import from is
  1239. loaded before db_sql.
  1240.      * After you enable this and do a database import you should
  1241. disable it for
  1242.      * subsequent restarts.
  1243.      *
  1244.      * Note that you can not import databases using db_sql_live. If
  1245. you want to import
  1246.      * databases and use db_sql_live you should import them using
  1247. db_sql, then shut down
  1248.      * and start services with db_sql_live.
  1249.      */
  1250.     import = false
  1251. }
  1252. /*
  1253.  * db_redis.
  1254.  *
  1255.  * This module allows using Redis (http://redis.io) as a database
  1256. backend.
  1257.  * This module requires that m_redis is loaded and configured properly.
  1258.  *
  1259.  * Redis 2.8 supports keyspace notifications which allows Redis to push
  1260. notifications
  1261.  * to Anope about outside modifications to the database. This module
  1262. supports this and
  1263.  * will internally reflect any changes made to the database immediately
  1264. once notified.
  1265.  * See docs/REDIS for more information regarding this.
  1266.  */
  1267. #module
  1268. {
  1269.     name = "db_redis"
  1270.     /*
  1271.      * Redis database to use. This must be configured with m_redis.
  1272.      */
  1273.     engine = "redis/main"
  1274. }
  1275. /*
  1276.  * [RECOMMENDED] Encryption modules.
  1277.  *
  1278.  * The encryption modules are used when dealing with passwords. This
  1279. determines how
  1280.  * the passwords are stored in the databases, and does not add any
  1281. security as
  1282.  * far as transmitting passwords over the network goes.
  1283.  *
  1284.  * Without any encryption modules loaded users will not be able to
  1285. authenticate unless
  1286.  * there is another module loaded that provides authentication checking,
  1287. such as
  1288.  * m_ldap_authentication or m_sql_authentication.
  1289.  *
  1290.  * With enc_none, passwords will be stored in plain text, allowing for
  1291. passwords
  1292.  * to be recovered later but it isn't secure and therefore is not
  1293. recommended.
  1294.  *
  1295.  * The other encryption modules use one-way encryption, so the passwords
  1296. can not
  1297.  * be recovered later if those are used.
  1298.  *
  1299.  * The first encryption module loaded is the primary encryption module.
  1300. All new passwords are
  1301.  * encrypted by this module. Old passwords stored in another encryption
  1302. method are
  1303.  * automatically re-encrypted by the primary encryption module on next
  1304. identify.
  1305.  *
  1306.  * enc_md5, enc_sha1, and enc_old are deprecated, and are provided for
  1307. users
  1308.  * to upgrade to a newer encryption module. Do not use them as the
  1309. primary
  1310.  * encryption module. They will be removed in a future release.
  1311.  *
  1312.  */
  1313. #module { name = "enc_bcrypt" }
  1314. module { name = "enc_sha256" } /*
  1315.  * When using enc_none, passwords will be stored without encryption.
  1316. This isn't secure
  1317.  * therefore it is not recommended.
  1318.  */
  1319. #module { name = "enc_none" }
  1320. /* Deprecated encryption modules */
  1321. #module { name = "enc_md5" } module { name = "enc_sha1" }
  1322. /*
  1323.  * enc_old is Anope's previous (broken) MD5 implementation used from
  1324. 1.4.x to 1.7.16.
  1325.  * If your databases were made using that module, load it here to allow
  1326. conversion to the primary
  1327.  * encryption method.
  1328.  */
  1329. #module { name = "enc_old" }
  1330. /* Extra (optional) modules. */ include {
  1331.     type = "file"
  1332.     name = "modules.example.conf"
  1333. }
  1334. /*
  1335.  * Chanstats module.
  1336.  * Requires a MySQL Database.
  1337.  */
  1338. #include
  1339. {
  1340.     type = "file"
  1341.     name = "chanstats.example.conf"
  1342. }
  1343. /*
  1344.  * IRC2SQL Gateway
  1345.  * This module collects data about users, channels and servers. It
  1346. doesn't build stats
  1347.  * itself, however, it gives you the database, it's up to you how you
  1348. use it.
  1349.  *
  1350.  * Requires a MySQL Database and MySQL version 5.5 or higher
  1351.  */
  1352. #include
  1353. {
  1354.     type = "file"
  1355.     name = "irc2sql.example.conf"
  1356. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top