diff options
Diffstat (limited to 'data')
| -rw-r--r-- | data/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | data/commands.example.conf | 336 | ||||
| -rw-r--r-- | data/example.conf | 1868 | ||||
| -rw-r--r-- | data/modules.example.conf | 528 | ||||
| -rw-r--r-- | data/mysql/tables.sql | 21 |
5 files changed, 1414 insertions, 1341 deletions
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 461ea287a..b0d99e11e 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -1,6 +1,6 @@ # Only install example.chk and example.conf from this directory # NOTE: I would've had this just find all files in the directory, but that would include files not needed (like this file) -set(DATA example.chk example.conf mysql/tables.sql) +set(DATA example.chk commands.example.conf example.conf modules.example.conf mysql/tables.sql) install(FILES ${DATA} DESTINATION data ) diff --git a/data/commands.example.conf b/data/commands.example.conf new file mode 100644 index 000000000..a3481bc11 --- /dev/null +++ b/data/commands.example.conf @@ -0,0 +1,336 @@ + +/* + * [RECOMMENDED] Core modules and command configuration + * + * In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules + * are loaded you can then configure the commands to be added to any client you like with any name you like. + * + * Sane defaults are below. + */ + +module { name = "help" } +command { service = "BotServ"; name = "HELP"; command = "generic/help"; } +command { service = "ChanServ"; name = "HELP"; command = "generic/help"; } +command { service = "Global"; name = "HELP"; command = "generic/help"; } +command { service = "HostServ"; name = "HELP"; command = "generic/help"; } +command { service = "MemoServ"; name = "HELP"; command = "generic/help"; } +command { service = "NickServ"; name = "HELP"; command = "generic/help"; } +command { service = "OperServ"; name = "HELP"; command = "generic/help"; } + +module { name = "bs_assign" } +command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; } +command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; } +module { name = "bs_badwords" } +command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; } +module { name = "bs_bot" } +command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; } +module { name = "bs_botlist" } +command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; } +module { name = "bs_control" } +command { service = "BotServ"; name = "ACT"; command = "botserv/act"; } +command { service = "BotServ"; name = "SAY"; command = "botserv/say"; } +module { name = "bs_info" } +command { service = "BotServ"; name = "INFO"; command = "botserv/info"; } +module { name = "bs_kick" } +command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; } +module { name = "bs_set" } +command { service = "BotServ"; name = "SET"; command = "botserv/set"; } + +module { name = "cs_access" } +command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; } +command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; } +module { name = "cs_akick" } +command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; } +module { name = "cs_ban" } +command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; } +command { service = "ChanServ"; name = "KB"; command = "chanserv/ban"; } +module { name = "cs_clearusers" } +command { service = "ChanServ"; name = "CLEARUSERS"; command = "chanserv/clearusers"; } +module { name = "cs_clone" } +command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; } +module { name = "cs_drop" } +command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; } +module { name = "cs_getkey" } +command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; } +module { name = "cs_info" } +command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; } +module { name = "cs_invite" } +command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; } +module { name = "cs_kick" } +command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; } +command { service = "ChanServ"; name = "K"; command = "chanserv/kick"; } +module { name = "cs_list" } +command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; } +module { name = "cs_mode" } +command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; } +module { name = "cs_modes" } +command { service = "ChanServ"; name = "OP"; command = "chanserv/op"; } +command { service = "ChanServ"; name = "DEOP"; command = "chanserv/deop"; } +command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/halfop"; } +command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/dehalfop"; } +command { service = "ChanServ"; name = "VOICE"; command = "chanserv/voice"; } +command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/devoice"; } +command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/protect"; } +command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/deprotect"; } +command { service = "ChanServ"; name = "OWNER"; command = "chanserv/owner"; } +command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/deowner"; } +module { name = "cs_register" } +command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; } +module { name = "cs_set" } +command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; } +module { name = "cs_saset" } +command { service = "ChanServ"; name = "SASET"; command = "chanserv/saset"; } +module { name = "cs_set_bantype" } +command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; } +command { service = "ChanServ"; name = "SASET BANTYPE"; command = "chanserv/saset/bantype"; } +module { name = "cs_set_description" } +command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; } +command { service = "ChanServ"; name = "SASET DESCRIPTION"; command = "chanserv/saset/description"; } +module { name = "cs_set_founder" } +command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; } +command { service = "ChanServ"; name = "SASET FOUNDER"; command = "chanserv/saset/founder"; } +module { name = "cs_set_keeptopic" } +command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; } +command { service = "ChanServ"; name = "SASET KEEPTOPIC"; command = "chanserv/saset/keeptopic"; } +module { name = "cs_set_opnotice" } +command { service = "ChanServ"; name = "SET OPNOTICE"; command = "chanserv/set/opnotice"; } +command { service = "ChanServ"; name = "SASET OPNOTICE"; command = "chanserv/saset/opnotice"; } +module { name = "cs_set_peace" } +command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; } +command { service = "ChanServ"; name = "SASET PEACE"; command = "chanserv/saset/peace"; } +module { name = "cs_set_persist" } +command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; } +command { service = "ChanServ"; name = "SASET PERSIST"; command = "chanserv/saset/persist"; } +module { name = "cs_set_private" } +command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; } +command { service = "ChanServ"; name = "SASET PRIVATE"; command = "chanserv/saset/private"; } +module { name = "cs_set_restricted" } +command { service = "ChanServ"; name = "SET RESITRCTED"; command = "chanserv/set/restricted"; } +command { service = "ChanServ"; name = "SASET RESITRCTED"; command = "chanserv/saset/restricted"; } +module { name = "cs_set_secure" } +command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; } +command { service = "ChanServ"; name = "SASET SECURE"; command = "chanserv/saset/secure"; } +module { name = "cs_set_securefounder" } +command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; } +command { service = "ChanServ"; name = "SASET SECUREFOUNDER"; command = "chanserv/saset/securefounder"; } +module { name = "cs_set_secureops" } +command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; } +command { service = "ChanServ"; name = "SASET SECUREOPS"; command = "chanserv/saset/secureops"; } +module { name = "cs_set_signkick" } +command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; } +command { service = "ChanServ"; name = "SASET SIGNKICK"; command = "chanserv/saset/signkick"; } +module { name = "cs_set_successor" } +command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; } +command { service = "ChanServ"; name = "SASET SUCCESSOR"; command = "chanserv/saset/successor"; } +module { name = "cs_set_topiclock" } +command { service = "ChanServ"; name = "SET TOPICLOCK"; command = "chanserv/set/topiclock"; } +command { service = "ChanServ"; name = "SASET TOPICLOCK"; command = "chanserv/saset/topiclock"; } +module { name = "cs_set_xop" } +command { service = "ChanServ"; name = "SET XOP"; command = "chanserv/set/xop"; } +command { service = "ChanServ"; name = "SASET XOP"; command = "chanserv/saset/xop"; } +module { name = "cs_saset_noexpire" } +command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/set/noexpire"; } +module { name = "cs_status" } +command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; } +module { name = "cs_suspend" } +command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; } +command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; } +module { name = "cs_topic" } +command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; } +module { name = "cs_unban" } +command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; } +module { name = "cs_xop" } +command { service = "ChanServ"; name = "QOP"; command = "chanserv/qop"; } +command { service = "ChanServ"; name = "SOP"; command = "chanserv/sop"; } +command { service = "ChanServ"; name = "AOP"; command = "chanserv/aop"; } +command { service = "ChanServ"; name = "HOP"; command = "chanserv/hop"; } +command { service = "ChanServ"; name = "VOP"; command = "chanserv/vop"; } + +module { name = "gl_global" } +command { service = "Global"; name = "GLOBAL"; command = "global/global"; } + +module { name = "hs_del" } +command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; } +command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; } +module { name = "hs_group" } +command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; } +module { name = "hs_list" } +command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; } +module { name = "hs_off" } +command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; } +module { name = "hs_on" } +command { service = "HostServ"; name = "ON"; command = "hostserv/on"; } +module { name = "hs_set" } +command { service = "HostServ"; name = "SET"; command = "hostserv/set"; } +command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; } + +module { name = "ms_cancel" } +command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; } +module { name = "ms_check" } +command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; } +module { name = "ms_del" } +command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; } +module { name = "ms_ignore" } +command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; } +module { name = "ms_info" } +command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; } +module { name = "ms_list" } +command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; } +module { name = "ms_read" } +command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; } +module { name = "ms_rsend" } +command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; } +module { name = "ms_send" } +command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; } +module { name = "ms_sendall" } +command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; } +module { name = "ms_set" } +command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; } +module { name = "ms_staff" } +command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; } + +module { name = "ns_access" } +command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; } +module { name = "ns_ajoin" } +command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; } +module { name = "ns_alist" } +command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; } +module { name = "ns_cert" } +command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; } +module { name = "ns_drop" } +command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; } +module { name = "ns_getemail" } +command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; } +module { name = "ns_getpass" } +command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; } +module { name = "ns_ghost" } +command { service = "NickServ"; name = "GHOST"; command = "nickserv/ghost"; } +module { name = "ns_group" } +command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; } +command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; } +command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; } +module { name = "ns_identify" } +command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; } +module { name = "ns_info" } +command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; } +module { name = "ns_list" } +command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; } +module { name = "ns_logout" } +command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; } +module { name = "ns_recover" } +command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; } +module { name = "ns_register" } +command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; } +command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; } +command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; } +module { name = "ns_release" } +command { service = "NickServ"; name = "RELEASE"; command = "nickserv/release"; } +module { name = "ns_resetpass" } +command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; } +module { name = "ns_saset" } +command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; } +command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; } +command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; } +module { name = "ns_set" } +command { service = "NickServ"; name = "SET"; command = "nickserv/set"; } +command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; } +command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; } +module { name = "ns_set_autoop" } +command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; } +command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; } +module { name = "ns_set_email" } +command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; } +command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; } +module { name = "ns_set_greet" } +command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; } +command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; } +module { name = "ns_set_hide" } +command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; } +command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; } +module { name = "ns_set_kill" } +command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; } +command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; } +module { name = "ns_set_language" } +command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; } +command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; } +module { name = "ns_set_message" } +command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; } +command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; } +module { name = "ns_set_private" } +command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; } +command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/set/private"; } +module { name = "ns_set_secure" } +command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; } +command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/set/secure"; } +module { name = "ns_saset_noexpire" } +command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; } +module { name = "ns_sendpass" } +command { service = "NickServ"; name = "SENDPASS"; command = "nickserv/sendpass"; } +module { name = "ns_status" } +command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; } +module { name = "ns_suspend" } +command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; } +command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; } +module { name = "ns_update" } +command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; } + +module { name = "os_akill" } +command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; } +module { name = "os_chankill" } +command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; } +module { name = "os_list" } +command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; } +command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; } +module { name = "os_config" } +command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; } +module { name = "os_forbid" } +command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; } +module { name = "os_ignore" } +command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; } +module { name = "os_jupe" } +command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; } +module { name = "os_kick" } +command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; } +module { name = "os_login" } +command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; } +module { name = "os_mode" } +command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; } +module { name = "os_modinfo" } +command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; } +command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; } +module { name = "os_module" } +command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; } +command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; } +command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; } +module { name = "os_news" } +command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; } +command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; } +command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; } +module { name = "os_noop" } +command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; } +module { name = "os_oline" } +command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; } +module { name = "os_oper" } +command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; } +module { name = "os_reload" } +command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; } +module { name = "os_session" } +command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; } +command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; } +module { name = "os_set" } +command { service = "OperServ"; name = "SET"; command = "operserv/set"; } +module { name = "os_shutdown" } +command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; } +command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; } +command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; } +module { name = "os_stats" } +command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; } +module { name = "os_svsnick" } +command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; } +module { name = "os_sxline" } +command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; } +command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; } +command { service = "OperServ"; name = "SZLINE"; command = "operserv/szline"; } +module { name = "os_update" } +command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; } + diff --git a/data/example.conf b/data/example.conf index 8e5e49c92..754cfe598 100644 --- a/data/example.conf +++ b/data/example.conf @@ -157,12 +157,6 @@ serverinfo #id = "00A" /* - * These identify the ident@hostname which will be used by the Services pesudoclients. - */ - ident = "services" - hostname = "localhost.net" - - /* * The filename containing the Services process ID. The path is relative to the * services executable. If not given, defaults to "services.pid". */ @@ -469,598 +463,167 @@ options } /* - * [RECOMMENDED] Logging Configuration + * [RECOMMENDED] Service client configuration * - * This section is used for configuring what is logged and where it is logged to. - * You may have multiple log blocks if you wish. Remember to properly secure any - * channels you choose to have Anope log to! + * Defines some of the core services. Commands are later added to these services. */ -log -{ - /* - * Target(s) to log to, which may be one of the following: - * - a channel name - * - a filename - * - globops - */ - target = "services.log" - /* Log to both services.log and the channel #services */ - #target = "services.log #services" - - /* - * The source(s) to only accept log messages from. Leave commented to allow all sources. - * This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name. - */ - #source = "" - - /* - * The number of days to keep logfiles, only useful if you are logging to a file. - * Set to 0 to never delete old logfiles. - * - * Note that Anope must run 24 hours a day for this feature to work correctly. - */ - logage = 7 - - /* - * Enable to have the core services clients join and stay in the log channel(s) when logging. - * Note: on some IRCds this is not optional, and is enforced on. - */ - inhabitlogchannel = yes +service +{ /* - * What types of log messages should be logged by this block. There are nine general categories: - * - * admin - Execution of admin commands (OperServ, etc). - * override - A services operator using their powers to execute a command they couldn't normally. - * commands - Execution of general commands. - * servers - Server actions, linking, squitting, etc. - * channels - Actions in channels such as joins, parts, kicks, etc. - * users - User actions such as connecting, disconnecting, changing name, etc. - * other - All other messages without a category. - * rawio - Logs raw input and output from services - * debug - Debug messages (log files can become VERY large from this). - * - * These options determine what messages from the categories should be logged. Wildcards are accepted, and - * you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv - * messages except for operserv/akill. Note that processing stops at the first matching option, which - * means "* ~operserv/*" would log everything because * matches everything. - * - * Valid admin, override, and command options are: - * pesudo-serv/commandname (eg, operserv/akill, chanserv/set) - * - * Valid server options are: - * connect, quit, sync - * - * Valid channel options are: - * create, destroy, join, part, kick, leave, mode - * - * Valid user options are: - * connect, disconnect, quit, nick, ident, host, mode, maxusers - * - * Rawio and debug are simple yes/no answers, there are no types for them. - * - * Note that modules may add their own values to these options. + * The nick, user name, host, and real name of the service. */ - admin = "operserv/*" - override = "chanserv/* nickserv/* memoserv/set botserv/* ~botserv/set" - commands = "~operserv/* *" - servers = "*" - #channels = "~mode *" - users = "connect disconnect nick" - other = "*" - rawio = no - debug = no + nick = "BotServ" + user = "services" + host = "localhost.net" + gecos = "Bot Service" } -/* - * A log block to globops some useful things. - */ -log +service { - target = "globops" - admin = "global/* operserv/mode operserv/kick opeserv/akill operserv/s*line operserv/noop operserv/jupe */forbid nickserv/getpass */drop" -} - -/* - * [RECOMMENDED] Oper Access Config - * - * This section is used to set up staff access to restricted oper only commands. - * You may define groups of commands and privileges, as well as who may use them. - * - * This block is recommended, as without it you will be unable to access most oper commands. - * It replaces the old ServicesRoot directive amongst others. - * - * Note that third party modules may add additional commands and privileges to this list. - * - * Available privileges: - * botserv/administration - Can perform certain BotServ administrative tasks - * chanserv/access/modify - Can modify channel access and akick lists - * chanserv/auspex - Can see any information with /chanserv info - * chanserv/no-register-limit - May register an unlimited number of channels and nicknames - * chanserv/set - Can modify the settings of any channel (incl. changing of the owner and password!) - * memoserv/info - Can see any information with /memoserv info - * memoserv/set-limit - Can set the limit of max stored memos on any user and channel - * memoserv/no-limit - Can send memos through limits and throttles - * nickserv/auspex - Can see any information with /nickserv info - * nickserv/confirm - Can confirm other users nicknames - * nickserv/drop - Can drop other users nicks - * - * Available commands: - * botserv/bot/del botserv/bot/add botserv/bot/change botserv/assign/private - * botserv/botlist botserv/set/private botserv/set/nobot - * - * chanserv/access/list chanserv/drop chanserv/forbid chanserv/getkey - * chanserv/list chanserv/suspend chanserv/topic chanserv/status - * chanserv/mode - * - * chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/entrymsg - * chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/opnotice chanserv/saset/restricted - * chanserv/saset/peace chanserv/saset/persist chanserv/saset/private - * chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops - * chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock - * chanserv/saset/url chanserv/saset/xop - * - * memoserv/sendall memoserv/staff - * - * nickserv/getpass nickserv/sendpass nickserv/getemail nickserv/suspend - * nickserv/resetpass - * - * nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet - * nickserv/saset/icq nickserv/saset/kill nickserv/saset/language nickserv/saset/message - * nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire - * - * hostserv/set hostserv/del - * - * global/global - * - * operserv/news operserv/stats operserv/kick - * operserv/mode operserv/session operserv/modlist operserv/ignore - * operserv/chankill operserv/akill operserv/sqline operserv/snline - * operserv/szline operserv/staff operserv/config - * operserv/modload operserv/jupe operserv/set operserv/noop - * operserv/quit operserv/update operserv/reload operserv/restart - * operserv/shutdown operserv/svsnick operserv/oline - * - * Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc). - * These can contain commands for oper-only strings (see above) which grants access to that specific command, - * and privileges (which grant access to more general permissions for the named area). - * Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands. - * - * Below are some default example types, but this is by no means exhaustive, - * and it is recommended that you configure them to your needs. - */ - -opertype -{ - /* The name of this opertype */ - name = "Helper" - - /* What commands (see above) this opertype has */ - commands = "hostserv/*" -} - -opertype -{ - /* The name of this opertype */ - name = "Services Operator" - - /* What opertype(s) this inherits from. Seperate with a comma. */ - inherits = "Helper, Another Helper" - - /* What commands (see above) this opertype may use */ - commands = "chanserv/list chanserv/suspend chanserv/status chanserv/topic memoserv/staff nickserv/sendpass nickserv/resetpass nickserv/suspend operserv/mode operserv/chankill operserv/szline operserv/akill operserv/session operserv/modlist operserv/sqline operserv/staff operserv/kick operserv/ignore operserv/snline" - - /* What privs (see above) this opertype has */ - privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auxpex nickserv/confirm" -} - -opertype -{ - name = "Services Administrator" - - inherits = "Services Operator" - - commands = "chanserv/access/list chanserv/drop chanserv/forbid chanserv/getkey chanserv/set/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svsnick operserv/stats operserv/oline operserv/noop global/*" - - privs = "*" + nick = "ChanServ" + user = "services" + host = "localhost.net" + gecos = "Channel Registration Service" } -opertype +service { - name = "Services Root" - - commands = "*" - - privs = "*" -} - -/* - * After defining different types of operators in the above opertype section, we now define who is in these groups - * through 'oper' blocks, similar to ircd access. - * - * The default is to comment these out (so NOBODY will have Services access). - * You probably want to add yourself and a few other people at minimum. - * - * As with all permissions, make sure to only give trustworthy people access to Services. - */ - -oper -{ - /* The nickname of this services oper */ - #name = "nick1" - - /* The opertype this person will have */ - type = "Services Root" - - /* An optional password. If defined the user must login using /operserv login first */ - #password = "secret" - - /* An optional SSL fingerprint. If defined is required to use this opertype. */ - #certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7" + nick = "Global" + user = "services" + host = "localhost.net" + gecos = "Global Noticer" } -/* -oper +service { - name = "nick2" - type = "Services Administrator" + nick = "HostServ" + user = "services" + host = "localhost.net" + gecos = "vHost Service" } -oper +service { - name = "nick3" - type = "Helper" + nick = "MemoServ" + user = "services" + host = "localhost.net" + gecos = "Memo Service" } -*/ -/* - * [OPTIONAL] Mail Config - * - * This section contains settings related to the use of e-mail from Services. - * If the usemail directive is set to yes, unless specified otherwise, all other - * directives are required. - */ -mail +service { - /* - * If set, this option enables the mail commands in Services. You may choose - * to disable it if you have no Sendmail-compatible mailer installed. Whilst - * this directive (and entire block) is optional, it is required if the - * nickserv:emailregistration is set to yes. - */ - usemail = yes - - /* - * This is the command-line that will be used to call the mailer to send an - * e-mail. It must be called with all the parameters needed to make it - * scan the mail input to find the mail recipient; consult your mailer - * documentation. - * - * Postfix users must use the compatible sendmail utility provided with - * it. This one usually needs no parameters on the command-line. Most - * sendmail applications (or replacements of it) require the -t option - * to be used. - */ - sendmailpath = "/usr/sbin/sendmail -t" - - /* - * This is the e-mail address from which all the e-mails are to be sent from. - * It should really exist. - */ - sendfrom = "services@localhost.net" - - /* - * If set, SENDPASS and RESETPASS will be restricted to IRC operators. - * This directive is optional. - * - * WARNING: If you choose to not enable this option, you should limit the - * number of processes that the services user can have at a time (you can - * create a special user for this; remember to NEVER launch Services as - * root). - */ - restrict = yes - - /* - * This controls the minimum amount of time a user must wait before sending - * another e-mail after they have sent one. It also controls the minimum time - * a user must wait before they can receive another e-mail. - * - * This feature prevents users from being mail bombed using Services and - * it is highly recommended that it be used. - * - * This directive is optional, but highly recommended. - */ - delay = 5m - - /* - * If set, Services will not attempt to put quotes around the TO: fields - * in e-mails. - * - * This directive is optional, and as far as we know, it's only needed - * if you are using ESMTP or QMail to send out e-mails. - */ - #dontquoteaddresses = yes + nick = "NickServ" + user = "services" + host = "localhost.net" + gecos = "Nickname Registration Service" } -/* - * [OPTIONAL] DNS Config - * - * This section is used to configure DNS. - * At this time DNS is only used by a few modules (m_dnsbl) - * and is not required by the core to function. - */ -dns +service { - /* - * The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file. - * The below should work fine on all unix like systems. Windows users will have to find their nameservers - * from ipconfig /all and put the IP here - */ - nameserver = "/etc/resolv.conf" - #nameserver = "127.0.0.1" - - /* - * How long to wait in seconds before a DNS query has timed out - */ - timeout = 5 + nick = "OperServ" + user = "services" + host = "localhost.net" + gecos = "Operator Service" } /* - * [RECOMMENDED] NickServ - * - * Comment the following line to disable NickServ. + * [RECOMMENDED] Core clients */ -module { name = "ns_main" } -/* - * [REQUIRED] NickServ Config - * - * This section is used to set up the Nickname Registration Service pseudo-client. - * Unless specified otherwise, all directives are required. - */ -nickserv +module { name = "bs_main" } +botserv { /* - * The nickname of the NickServ client. - */ - nick = "NickServ" - - /* - * The description of the NickServ client, which will be used as the GECOS - * (real name) of the client. + * The name of the client that should be BotServ. + * Clients are configured above. */ - description = "Nickname Registration Service" - - /* - * The core modules to load for NickServ. This is a space separated list that corresponds - * to the base names of the modules for NickServ. - * - * This directive is optional, but highly recommended. - */ - modules = "ns_help ns_register ns_group ns_identify ns_access ns_cert ns_set ns_saset ns_set_autoop ns_set_email ns_set_greet ns_set_hide ns_set_kill ns_set_language ns_set_message ns_set_private ns_set_secure ns_saset_noexpire ns_drop ns_recover ns_release ns_sendpass ns_ghost ns_alist ns_info ns_list ns_logout ns_status ns_update ns_getpass ns_getemail ns_suspend ns_resetpass ns_ajoin" - - /* - * Force users to give an e-mail address when they register a nick. - * - * This directive is recommended to be enabled, and required if e-mail registration is enabled. - */ - forceemail = yes - - /* - * Require users who change their email address to confirm they - * own it. - */ - confirmemailchanges = no - - /* - * Require an e-mail to be sent to the user before they can register their nick. - */ - #emailregistration = yes + nick = "BotServ" /* - * The default options for newly registered nicks. Note that changing these options - * will have no effect on nicks which are already registered. The list must be separated + * The default bot options for newly registered channels. Note that changing these options + * will have no effect on channels which are already registered. The list must be separated * by spaces. * * The options are: - * - kill: Kill nick if not identified within 60 seconds - * - killquick: Kill nick if not identified within 20 seconds, this one overrides the above - * option and the above must be specified with this one - * - secure: Enable nickname security, requiring the nick's password before any operations - * can be done on it - * - private: Hide the nick from NickServ's LIST command - * - hideemail: Hide's the nick's e-mail address from NickServ's INFO command - * - hideusermask: Hide's the nick's last or current user@host from NickServ's INFO command - * - hidequit: Hide's the nick's last quit message - * - memosignon: Notify user if they have a new memo when they sign into the nick - * - memoreceive: Notify user if they have a new memo as soon as it's received - * - autoop: User will be automatically opped in channels they enter and have access to - * - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires UsePrivmsg - * to be enabled as well - * - * This directive is optional, if left blank, the options will default to secure, memosignon, and - * memoreceive. If you really want no defaults, use "none" by itself as the option. - */ - defaults="secure private hideemail hideusermask memosignon memoreceive autoop" - - /* - * A list of languages to load on startup that will be available in /nickserv set language. - * Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE). - * Note that english should not be listed here because it is the base language. - */ - languages = "ca_ES de_DE el_GR es_ES fr_FR hu_HU it_IT nl_NL pl_PL pt_PT ru_RU tr_TR" - - /* - * Default language that non- and newly-registered nicks will receive messages in. - * Leave empty to default to English. - */ - #defaultlanguage = "es_ES" - - /* - * The minimum length of time between consecutive uses of NickServ's REGISTER command. This - * directive is optional, but recommended. If not set, this restriction will be disabled. - */ - regdelay = 30s - - /* - * The minimum length of time between consecutive uses of NickServ's RESEND command. - * - * This directive is optional, but recommended. If not set, |
