Guest User

Untitled

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