Advertisement
Guest User

Anope 1.9.9 Config reference

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