summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/bahamut.example.conf2
-rw-r--r--data/botserv.example.conf38
-rw-r--r--data/chanserv.example.conf130
-rw-r--r--data/chanstats.example.conf2
-rw-r--r--data/example.conf35
-rw-r--r--data/global.example.conf6
-rw-r--r--data/hostserv.example.conf30
-rw-r--r--data/hybrid.example.conf2
-rw-r--r--data/inspircd20.example.conf2
-rw-r--r--data/memoserv.example.conf52
-rw-r--r--data/modules.example.conf122
-rw-r--r--data/ngircd.example.conf2
-rw-r--r--data/nickserv.example.conf96
-rw-r--r--data/operserv.example.conf124
-rw-r--r--data/plexus.example.conf2
-rw-r--r--data/ratbox.example.conf2
-rw-r--r--data/stats.standalone.example.conf512
-rw-r--r--data/unreal.example.conf2
-rw-r--r--modules/CMakeLists.txt43
-rw-r--r--modules/botserv/CMakeLists.txt1
-rw-r--r--modules/botserv/assign.cpp (renamed from modules/commands/bs_assign.cpp)0
-rw-r--r--modules/botserv/autoassign.cpp (renamed from modules/bs_autoassign.cpp)0
-rw-r--r--modules/botserv/badwords.cpp (renamed from modules/commands/bs_badwords.cpp)0
-rw-r--r--modules/botserv/bot.cpp (renamed from modules/commands/bs_bot.cpp)0
-rw-r--r--modules/botserv/botlist.cpp (renamed from modules/commands/bs_botlist.cpp)0
-rw-r--r--modules/botserv/control.cpp (renamed from modules/commands/bs_control.cpp)0
-rw-r--r--modules/botserv/info.cpp (renamed from modules/commands/bs_info.cpp)0
-rw-r--r--modules/botserv/kick.cpp (renamed from modules/commands/bs_kick.cpp)0
-rw-r--r--modules/botserv/main/CMakeLists.txt (renamed from modules/pseudoclients/botserv/CMakeLists.txt)0
-rw-r--r--modules/botserv/main/botserv.cpp (renamed from modules/pseudoclients/botserv/botserv.cpp)0
-rw-r--r--modules/botserv/set.cpp (renamed from modules/commands/bs_set.cpp)0
-rw-r--r--modules/chanserv/CMakeLists.txt1
-rw-r--r--modules/chanserv/akick.cpp (renamed from modules/commands/cs_akick.cpp)0
-rw-r--r--modules/chanserv/ban.cpp (renamed from modules/commands/cs_ban.cpp)0
-rw-r--r--modules/chanserv/clone.cpp (renamed from modules/commands/cs_clone.cpp)0
-rw-r--r--modules/chanserv/cs_access.old (renamed from modules/commands/cs_access.cpp)5
-rw-r--r--modules/chanserv/cs_flags.old (renamed from modules/commands/cs_flags.cpp)6
-rw-r--r--modules/chanserv/cs_xop.old (renamed from modules/commands/cs_xop.cpp)5
-rw-r--r--modules/chanserv/drop.cpp (renamed from modules/commands/cs_drop.cpp)0
-rw-r--r--modules/chanserv/enforce.cpp (renamed from modules/commands/cs_enforce.cpp)0
-rw-r--r--modules/chanserv/entrymsg.cpp (renamed from modules/commands/cs_entrymsg.cpp)0
-rw-r--r--modules/chanserv/getkey.cpp (renamed from modules/commands/cs_getkey.cpp)0
-rw-r--r--modules/chanserv/info.cpp (renamed from modules/commands/cs_info.cpp)0
-rw-r--r--modules/chanserv/invite.cpp (renamed from modules/commands/cs_invite.cpp)0
-rw-r--r--modules/chanserv/kick.cpp (renamed from modules/commands/cs_kick.cpp)0
-rw-r--r--modules/chanserv/list.cpp (renamed from modules/commands/cs_list.cpp)0
-rw-r--r--modules/chanserv/log.cpp (renamed from modules/commands/cs_log.cpp)0
-rw-r--r--modules/chanserv/main/CMakeLists.txt (renamed from modules/pseudoclients/chanserv/CMakeLists.txt)0
-rw-r--r--modules/chanserv/main/chanaccess.cpp (renamed from modules/pseudoclients/chanserv/chanaccess.cpp)0
-rw-r--r--modules/chanserv/main/chanaccess.h (renamed from modules/pseudoclients/chanserv/chanaccess.h)0
-rw-r--r--modules/chanserv/main/chanaccesstype.h (renamed from modules/pseudoclients/chanserv/chanaccesstype.h)0
-rw-r--r--modules/chanserv/main/channel.cpp (renamed from modules/pseudoclients/chanserv/channel.cpp)0
-rw-r--r--modules/chanserv/main/channel.h (renamed from modules/pseudoclients/chanserv/channel.h)0
-rw-r--r--modules/chanserv/main/channeltype.cpp (renamed from modules/pseudoclients/chanserv/channeltype.cpp)0
-rw-r--r--modules/chanserv/main/channeltype.h (renamed from modules/pseudoclients/chanserv/channeltype.h)0
-rw-r--r--modules/chanserv/main/chanserv.cpp (renamed from modules/pseudoclients/chanserv/chanserv.cpp)0
-rw-r--r--modules/chanserv/main/level.cpp (renamed from modules/pseudoclients/chanserv/level.cpp)0
-rw-r--r--modules/chanserv/main/level.h (renamed from modules/pseudoclients/chanserv/level.h)0
-rw-r--r--modules/chanserv/main/leveltype.h (renamed from modules/pseudoclients/chanserv/leveltype.h)0
-rw-r--r--modules/chanserv/main/mode.cpp (renamed from modules/pseudoclients/chanserv/mode.cpp)0
-rw-r--r--modules/chanserv/main/mode.h (renamed from modules/pseudoclients/chanserv/mode.h)0
-rw-r--r--modules/chanserv/main/modetype.h (renamed from modules/pseudoclients/chanserv/modetype.h)0
-rw-r--r--modules/chanserv/mode.cpp (renamed from modules/commands/cs_mode.cpp)0
-rw-r--r--modules/chanserv/register.cpp (renamed from modules/commands/cs_register.cpp)0
-rw-r--r--modules/chanserv/seen.cpp (renamed from modules/commands/cs_seen.cpp)0
-rw-r--r--modules/chanserv/set.cpp (renamed from modules/commands/cs_set.cpp)0
-rw-r--r--modules/chanserv/set_misc.cpp (renamed from modules/commands/cs_set_misc.cpp)0
-rw-r--r--modules/chanserv/status.cpp (renamed from modules/commands/cs_status.cpp)0
-rw-r--r--modules/chanserv/statusupdate.cpp (renamed from modules/cs_statusupdate.cpp)0
-rw-r--r--modules/chanserv/suspend.cpp (renamed from modules/commands/cs_suspend.cpp)0
-rw-r--r--modules/chanserv/sync.cpp (renamed from modules/commands/cs_sync.cpp)0
-rw-r--r--modules/chanserv/topic.cpp (renamed from modules/commands/cs_topic.cpp)0
-rw-r--r--modules/chanserv/unban.cpp (renamed from modules/commands/cs_unban.cpp)0
-rw-r--r--modules/chanserv/updown.cpp (renamed from modules/commands/cs_updown.cpp)0
-rw-r--r--modules/database/CMakeLists.txt1
-rw-r--r--modules/database/flatfile.cpp (renamed from modules/database/db_flatfile.cpp)0
-rw-r--r--modules/database/old.cpp (renamed from modules/database/db_old.cpp)0
-rw-r--r--modules/database/redis.cpp (renamed from modules/database/db_redis.cpp)0
-rw-r--r--modules/database/sql.cpp (renamed from modules/database/db_sql.cpp)0
-rw-r--r--modules/dns.cpp (renamed from modules/m_dns.cpp)0
-rw-r--r--modules/dnsbl.cpp (renamed from modules/m_dnsbl.cpp)0
-rw-r--r--modules/encryption/CMakeLists.txt1
-rw-r--r--modules/encryption/bcrypt.cpp (renamed from modules/encryption/enc_bcrypt.cpp)0
-rw-r--r--modules/encryption/md5.cpp (renamed from modules/encryption/enc_md5.cpp)0
-rw-r--r--modules/encryption/none.cpp (renamed from modules/encryption/enc_none.cpp)0
-rw-r--r--modules/encryption/old.cpp (renamed from modules/encryption/enc_old.cpp)0
-rw-r--r--modules/encryption/sha1.cpp (renamed from modules/encryption/enc_sha1.cpp)0
-rw-r--r--modules/encryption/sha256.cpp (renamed from modules/encryption/enc_sha256.cpp)0
-rw-r--r--modules/extra/ldap.cpp (renamed from modules/extra/m_ldap.cpp)0
-rw-r--r--modules/extra/ldap_authentication.cpp (renamed from modules/extra/m_ldap_authentication.cpp)0
-rw-r--r--modules/extra/ldap_oper.cpp (renamed from modules/extra/m_ldap_oper.cpp)0
-rw-r--r--modules/extra/mysql.cpp (renamed from modules/extra/m_mysql.cpp)0
-rw-r--r--modules/extra/sasl_dh-aes.cpp (renamed from modules/extra/m_sasl_dh-aes.cpp)0
-rw-r--r--modules/extra/sasl_dh-blowfish.cpp (renamed from modules/extra/m_sasl_dh-blowfish.cpp)0
-rw-r--r--modules/extra/sql_authentication.cpp (renamed from modules/extra/m_sql_authentication.cpp)0
-rw-r--r--modules/extra/sql_log.cpp (renamed from modules/extra/m_sql_log.cpp)0
-rw-r--r--modules/extra/sql_oper.cpp (renamed from modules/extra/m_sql_oper.cpp)0
-rw-r--r--modules/extra/sqlite.cpp (renamed from modules/extra/m_sqlite.cpp)0
-rw-r--r--modules/extra/ssl_gnutls.cpp (renamed from modules/extra/m_ssl_gnutls.cpp)0
-rw-r--r--modules/extra/ssl_openssl.cpp (renamed from modules/extra/m_ssl_openssl.cpp)0
-rw-r--r--modules/extra/stats/chanstats.cpp (renamed from modules/extra/stats/m_chanstats.cpp)0
-rw-r--r--modules/global/CMakeLists.txt1
-rw-r--r--modules/global/global.cpp (renamed from modules/commands/gl_global.cpp)0
-rw-r--r--modules/global/main/CMakeLists.txt (renamed from modules/pseudoclients/memoserv/CMakeLists.txt)0
-rw-r--r--modules/global/main/global.cpp (renamed from modules/pseudoclients/global.cpp)0
-rw-r--r--modules/greet.cpp (renamed from modules/commands/greet.cpp)0
-rw-r--r--modules/help.cpp (renamed from modules/commands/help.cpp)0
-rw-r--r--modules/helpchan.cpp (renamed from modules/m_helpchan.cpp)0
-rw-r--r--modules/hostserv/CMakeLists.txt1
-rw-r--r--modules/hostserv/del.cpp (renamed from modules/commands/hs_del.cpp)0
-rw-r--r--modules/hostserv/group.cpp (renamed from modules/commands/hs_group.cpp)0
-rw-r--r--modules/hostserv/list.cpp (renamed from modules/commands/hs_list.cpp)0
-rw-r--r--modules/hostserv/main/CMakeLists.txt (renamed from modules/pseudoclients/nickserv/CMakeLists.txt)0
-rw-r--r--modules/hostserv/main/hostserv.cpp (renamed from modules/pseudoclients/hostserv.cpp)0
-rw-r--r--modules/hostserv/off.cpp (renamed from modules/commands/hs_off.cpp)0
-rw-r--r--modules/hostserv/on.cpp (renamed from modules/commands/hs_on.cpp)0
-rw-r--r--modules/hostserv/request.cpp (renamed from modules/commands/hs_request.cpp)0
-rw-r--r--modules/hostserv/set.cpp (renamed from modules/commands/hs_set.cpp)0
-rw-r--r--modules/httpd.cpp (renamed from modules/m_httpd.cpp)0
-rw-r--r--modules/memoserv/CMakeLists.txt1
-rw-r--r--modules/memoserv/cancel.cpp (renamed from modules/commands/ms_cancel.cpp)0
-rw-r--r--modules/memoserv/check.cpp (renamed from modules/commands/ms_check.cpp)0
-rw-r--r--modules/memoserv/del.cpp (renamed from modules/commands/ms_del.cpp)0
-rw-r--r--modules/memoserv/ignore.cpp (renamed from modules/commands/ms_ignore.cpp)0
-rw-r--r--modules/memoserv/info.cpp (renamed from modules/commands/ms_info.cpp)0
-rw-r--r--modules/memoserv/list.cpp (renamed from modules/commands/ms_list.cpp)0
-rw-r--r--modules/memoserv/main/CMakeLists.txt1
-rw-r--r--modules/memoserv/main/ignore.cpp (renamed from modules/pseudoclients/memoserv/ignore.cpp)0
-rw-r--r--modules/memoserv/main/ignore.h (renamed from modules/pseudoclients/memoserv/ignore.h)0
-rw-r--r--modules/memoserv/main/ignoretype.cpp (renamed from modules/pseudoclients/memoserv/ignoretype.cpp)0
-rw-r--r--modules/memoserv/main/ignoretype.h (renamed from modules/pseudoclients/memoserv/ignoretype.h)0
-rw-r--r--modules/memoserv/main/memo.cpp (renamed from modules/pseudoclients/memoserv/memo.cpp)0
-rw-r--r--modules/memoserv/main/memo.h (renamed from modules/pseudoclients/memoserv/memo.h)0
-rw-r--r--modules/memoserv/main/memoinfo.cpp (renamed from modules/pseudoclients/memoserv/memoinfo.cpp)0
-rw-r--r--modules/memoserv/main/memoinfo.h (renamed from modules/pseudoclients/memoserv/memoinfo.h)0
-rw-r--r--modules/memoserv/main/memoinfotype.cpp (renamed from modules/pseudoclients/memoserv/memoinfotype.cpp)0
-rw-r--r--modules/memoserv/main/memoinfotype.h (renamed from modules/pseudoclients/memoserv/memoinfotype.h)0
-rw-r--r--modules/memoserv/main/memoserv.cpp (renamed from modules/pseudoclients/memoserv/memoserv.cpp)0
-rw-r--r--modules/memoserv/main/memotype.cpp (renamed from modules/pseudoclients/memoserv/memotype.cpp)0
-rw-r--r--modules/memoserv/main/memotype.h (renamed from modules/pseudoclients/memoserv/memotype.h)0
-rw-r--r--modules/memoserv/read.cpp (renamed from modules/commands/ms_read.cpp)0
-rw-r--r--modules/memoserv/rsend.cpp (renamed from modules/commands/ms_rsend.cpp)0
-rw-r--r--modules/memoserv/send.cpp (renamed from modules/commands/ms_send.cpp)0
-rw-r--r--modules/memoserv/sendall.cpp (renamed from modules/commands/ms_sendall.cpp)0
-rw-r--r--modules/memoserv/set.cpp (renamed from modules/commands/ms_set.cpp)0
-rw-r--r--modules/memoserv/staff.cpp (renamed from modules/commands/ms_staff.cpp)0
-rw-r--r--modules/nickserv/CMakeLists.txt1
-rw-r--r--modules/nickserv/access.cpp (renamed from modules/commands/ns_access.cpp)0
-rw-r--r--modules/nickserv/ajoin.cpp (renamed from modules/commands/ns_ajoin.cpp)0
-rw-r--r--modules/nickserv/alist.cpp (renamed from modules/commands/ns_alist.cpp)0
-rw-r--r--modules/nickserv/cert.cpp (renamed from modules/commands/ns_cert.cpp)0
-rw-r--r--modules/nickserv/drop.cpp (renamed from modules/commands/ns_drop.cpp)0
-rw-r--r--modules/nickserv/getemail.cpp (renamed from modules/commands/ns_getemail.cpp)0
-rw-r--r--modules/nickserv/getpass.cpp (renamed from modules/commands/ns_getpass.cpp)0
-rw-r--r--modules/nickserv/group.cpp (renamed from modules/commands/ns_group.cpp)0
-rw-r--r--modules/nickserv/identify.cpp (renamed from modules/commands/ns_identify.cpp)0
-rw-r--r--modules/nickserv/info.cpp (renamed from modules/commands/ns_info.cpp)0
-rw-r--r--modules/nickserv/list.cpp (renamed from modules/commands/ns_list.cpp)0
-rw-r--r--modules/nickserv/logout.cpp (renamed from modules/commands/ns_logout.cpp)0
-rw-r--r--modules/nickserv/main/CMakeLists.txt1
-rw-r--r--modules/nickserv/main/account.cpp (renamed from modules/pseudoclients/nickserv/account.cpp)0
-rw-r--r--modules/nickserv/main/account.h (renamed from modules/pseudoclients/nickserv/account.h)0
-rw-r--r--modules/nickserv/main/accounttype.cpp (renamed from modules/pseudoclients/nickserv/accounttype.cpp)0
-rw-r--r--modules/nickserv/main/accounttype.h (renamed from modules/pseudoclients/nickserv/accounttype.h)0
-rw-r--r--modules/nickserv/main/identifyrequest.cpp (renamed from modules/pseudoclients/nickserv/identifyrequest.cpp)0
-rw-r--r--modules/nickserv/main/identifyrequest.h (renamed from modules/pseudoclients/nickserv/identifyrequest.h)0
-rw-r--r--modules/nickserv/main/mode.cpp (renamed from modules/pseudoclients/nickserv/mode.cpp)0
-rw-r--r--modules/nickserv/main/mode.h (renamed from modules/pseudoclients/nickserv/mode.h)0
-rw-r--r--modules/nickserv/main/modetype.h (renamed from modules/pseudoclients/nickserv/modetype.h)0
-rw-r--r--modules/nickserv/main/nick.cpp (renamed from modules/pseudoclients/nickserv/nick.cpp)0
-rw-r--r--modules/nickserv/main/nick.h (renamed from modules/pseudoclients/nickserv/nick.h)0
-rw-r--r--modules/nickserv/main/nickserv.cpp (renamed from modules/pseudoclients/nickserv/nickserv.cpp)0
-rw-r--r--modules/nickserv/main/nicktype.cpp (renamed from modules/pseudoclients/nickserv/nicktype.cpp)0
-rw-r--r--modules/nickserv/main/nicktype.h (renamed from modules/pseudoclients/nickserv/nicktype.h)0
-rw-r--r--modules/nickserv/maxemail.cpp (renamed from modules/ns_maxemail.cpp)0
-rw-r--r--modules/nickserv/recover.cpp (renamed from modules/commands/ns_recover.cpp)0
-rw-r--r--modules/nickserv/register.cpp (renamed from modules/commands/ns_register.cpp)0
-rw-r--r--modules/nickserv/resetpass.cpp (renamed from modules/commands/ns_resetpass.cpp)0
-rw-r--r--modules/nickserv/set.cpp (renamed from modules/commands/ns_set.cpp)0
-rw-r--r--modules/nickserv/set_misc.cpp (renamed from modules/commands/ns_set_misc.cpp)0
-rw-r--r--modules/nickserv/status.cpp (renamed from modules/commands/ns_status.cpp)0
-rw-r--r--modules/nickserv/suspend.cpp (renamed from modules/commands/ns_suspend.cpp)0
-rw-r--r--modules/nickserv/update.cpp (renamed from modules/commands/ns_update.cpp)0
-rw-r--r--modules/operserv/CMakeLists.txt1
-rw-r--r--modules/operserv/akill.cpp (renamed from modules/commands/os_akill.cpp)0
-rw-r--r--modules/operserv/chankill.cpp (renamed from modules/commands/os_chankill.cpp)0
-rw-r--r--modules/operserv/config.cpp (renamed from modules/commands/os_config.cpp)0
-rw-r--r--modules/operserv/defcon.cpp (renamed from modules/commands/os_defcon.cpp)0
-rw-r--r--modules/operserv/dns.cpp (renamed from modules/commands/os_dns.cpp)0
-rw-r--r--modules/operserv/forbid.cpp (renamed from modules/commands/os_forbid.cpp)0
-rw-r--r--modules/operserv/ignore.cpp (renamed from modules/commands/os_ignore.cpp)0
-rw-r--r--modules/operserv/info.cpp (renamed from modules/commands/os_info.cpp)0
-rw-r--r--modules/operserv/jupe.cpp (renamed from modules/commands/os_jupe.cpp)0
-rw-r--r--modules/operserv/kick.cpp (renamed from modules/commands/os_kick.cpp)0
-rw-r--r--modules/operserv/kill.cpp (renamed from modules/commands/os_kill.cpp)0
-rw-r--r--modules/operserv/list.cpp (renamed from modules/commands/os_list.cpp)0
-rw-r--r--modules/operserv/login.cpp (renamed from modules/commands/os_login.cpp)0
-rw-r--r--modules/operserv/logsearch.cpp (renamed from modules/commands/os_logsearch.cpp)0
-rw-r--r--modules/operserv/main/CMakeLists.txt1
-rw-r--r--modules/operserv/main/operserv.cpp (renamed from modules/pseudoclients/operserv.cpp)0
-rw-r--r--modules/operserv/mode.cpp (renamed from modules/commands/os_mode.cpp)0
-rw-r--r--modules/operserv/modinfo.cpp (renamed from modules/commands/os_modinfo.cpp)0
-rw-r--r--modules/operserv/module.cpp (renamed from modules/commands/os_module.cpp)0
-rw-r--r--modules/operserv/news.cpp (renamed from modules/commands/os_news.cpp)0
-rw-r--r--modules/operserv/noop.cpp (renamed from modules/commands/os_noop.cpp)0
-rw-r--r--modules/operserv/oline.cpp (renamed from modules/commands/os_oline.cpp)0
-rw-r--r--modules/operserv/oper.cpp (renamed from modules/commands/os_oper.cpp)0
-rw-r--r--modules/operserv/reload.cpp (renamed from modules/commands/os_reload.cpp)0
-rw-r--r--modules/operserv/session.cpp (renamed from modules/commands/os_session.cpp)0
-rw-r--r--modules/operserv/set.cpp (renamed from modules/commands/os_set.cpp)0
-rw-r--r--modules/operserv/shutdown.cpp (renamed from modules/commands/os_shutdown.cpp)0
-rw-r--r--modules/operserv/stats.cpp (renamed from modules/commands/os_stats.cpp)0
-rw-r--r--modules/operserv/svs.cpp (renamed from modules/commands/os_svs.cpp)0
-rw-r--r--modules/operserv/sxline.cpp (renamed from modules/commands/os_sxline.cpp)0
-rw-r--r--modules/operserv/update.cpp (renamed from modules/commands/os_update.cpp)0
-rw-r--r--modules/protocol/CMakeLists.txt1
-rw-r--r--modules/proxyscan.cpp (renamed from modules/m_proxyscan.cpp)0
-rw-r--r--modules/redis.cpp (renamed from modules/m_redis.cpp)0
-rw-r--r--modules/rewrite.cpp (renamed from modules/m_rewrite.cpp)0
-rw-r--r--modules/sasl.cpp (renamed from modules/m_sasl.cpp)0
-rw-r--r--modules/xmlrpc.cpp (renamed from modules/m_xmlrpc.cpp)0
-rw-r--r--modules/xmlrpc_main.cpp (renamed from modules/m_xmlrpc_main.cpp)0
222 files changed, 368 insertions, 865 deletions
diff --git a/data/bahamut.example.conf b/data/bahamut.example.conf
index e43e2409f..894d03411 100644
--- a/data/bahamut.example.conf
+++ b/data/bahamut.example.conf
@@ -1,7 +1,7 @@
module
{
- name = "bahamut"
+ name = "protocol/bahamut"
}
usermode
diff --git a/data/botserv.example.conf b/data/botserv.example.conf
index 83154e0c4..817188bc8 100644
--- a/data/botserv.example.conf
+++ b/data/botserv.example.conf
@@ -76,7 +76,7 @@ service
*/
module
{
- name = "botserv"
+ name = "botserv/main"
/*
* The name of the client that should be BotServ.
@@ -148,7 +148,7 @@ module
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
- * bs_assign
+ * botserv/gassign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
@@ -157,19 +157,19 @@ command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
*
* Used for assigning and unassigning bots to channels.
*/
-module { name = "bs_assign" }
+module { name = "botserv/assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
- * bs_autoassign
+ * botserv/gautoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
- name = "bs_autoassign"
+ name = "botserv/autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
@@ -178,7 +178,7 @@ command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"
}
/*
- * bs_badwords
+ * botserv/gbadwords
*
* Provides the command botserv/badwords.
*
@@ -186,7 +186,7 @@ command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"
*/
module
{
- name = "bs_badwords"
+ name = "botserv/badwords"
/*
* The maximum number of entries a single bad words list can have.
@@ -203,48 +203,48 @@ module
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
- * bs_bot
+ * botserv/gbot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
-module { name = "bs_bot" }
+module { name = "botserv/gbot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; permission = "botserv/bot"; }
/*
- * bs_botlist
+ * botserv/gbotlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
-module { name = "bs_botlist" }
+module { name = "botserv/gbotlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
- * bs_control
+ * botserv/gcontrol
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
-module { name = "bs_control" }
+module { name = "botserv/gcontrol" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
- * bs_info
+ * botserv/ginfo
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
-module { name = "bs_info" }
+module { name = "botserv/ginfo" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
- * bs_kick
+ * botserv/gkick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
@@ -265,7 +265,7 @@ command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
*/
module
{
- name = "bs_kick"
+ name = "botserv/gkick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
@@ -299,12 +299,12 @@ command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/s
/*
- * bs_set
+ * botserv/gset
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
-module { name = "bs_set" }
+module { name = "botserv/gset" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
diff --git a/data/chanserv.example.conf b/data/chanserv.example.conf
index 86ca969fc..a12071f3a 100644
--- a/data/chanserv.example.conf
+++ b/data/chanserv.example.conf
@@ -49,7 +49,7 @@ service
*/
module
{
- name = "chanserv"
+ name = "chanserv/main"
/*
* The name of the client that should be ChanServ.
@@ -65,9 +65,9 @@ module
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
- * - cs_private: Hide the channel from ChanServ's LIST command
+ * - chanserv/private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
- * - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
+ * - chanserv/secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
@@ -78,14 +78,14 @@ module
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
- * - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
+ * - chanserv/keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
- * This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
+ * This directive is optional, if left blank, the options will default to keeptopic, chanserv/secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
- defaults = "keeptopic peace cs_secure securefounder signkick"
+ defaults = "keeptopic peace chanserv/secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
@@ -175,14 +175,14 @@ module
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
- * If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
+ * If you load chanserv/access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
- * If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
+ * If you load chanserv/flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
- * If you load cs_xop, you may define a XOP command to associate the privilege with.
+ * If you load chanserv/xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
@@ -822,7 +822,7 @@ command_group
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
- * cs_access
+ * chanserv/access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
@@ -831,15 +831,15 @@ command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
- * entries not added by cs_access. The "level" of these entries will be the representation of the access
+ * entries not added by chanserv/access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
-module { name = "cs_access" }
+module { name = "chanserv/access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
- * cs_akick
+ * chanserv/akick
*
* Provides the command chanserv/akick.
*
@@ -847,7 +847,7 @@ command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; gr
*/
module
{
- name = "cs_akick"
+ name = "chanserv/akick"
/*
* The maximum number of entries on a channel's autokick list.
@@ -862,7 +862,7 @@ module
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
- * cs_ban
+ * chanserv/ban
*
* Provides the command chanserv/ban.
*
@@ -874,41 +874,41 @@ command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; grou
*
* Used for banning users from channels.
*/
-module { name = "cs_ban" }
+module { name = "chanserv/ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
- * cs_clone
+ * chanserv/clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
-module { name = "cs_clone" }
+module { name = "chanserv/clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
- * cs_drop
+ * chanserv/drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
-module { name = "cs_drop" }
+module { name = "chanserv/drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
- * cs_enforce
+ * chanserv/enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
-module { name = "cs_enforce" }
+module { name = "chanserv/enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
- * cs_entrymsg
+ * chanserv/entrymsg
*
* Provides the command chanserv/entrymsg.
*
@@ -916,7 +916,7 @@ command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce";
*/
module
{
- name = "cs_entrymsg"
+ name = "chanserv/entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
@@ -924,7 +924,7 @@ module
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
- * cs_flags
+ * chanserv/flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
@@ -932,54 +932,54 @@ command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
- * entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
+ * entries not added by chanserv/flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
-module { name = "cs_flags" }
+module { name = "chanserv/flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
- * cs_getkey
+ * chanserv/getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
-module { name = "cs_getkey" }
+module { name = "chanserv/getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
- * cs_info
+ * chanserv/info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
-module { name = "cs_info" }
+module { name = "chanserv/info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
- * cs_invite
+ * chanserv/invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
-module { name = "cs_invite" }
+module { name = "chanserv/invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
- * cs_kick
+ * chanserv/kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
-module { name = "cs_kick" }
+module { name = "chanserv/kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
- * cs_list
+ * chanserv/list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
@@ -987,7 +987,7 @@ command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
*/
module
{
- name = "cs_list"
+ name = "chanserv/list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
@@ -1000,7 +1000,7 @@ command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/pr
/*
- * cs_log
+ * chanserv/log
*
* Provides the command chanserv/log.
*
@@ -1008,7 +1008,7 @@ command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/pr
*/
module
{
- name = "cs_log"
+ name = "chanserv/log"
/* Default log settings for newly registered channels */
@@ -1041,7 +1041,7 @@ module
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
- * cs_mode
+ * chanserv/mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
@@ -1051,7 +1051,7 @@ command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group =
*/
module
{
- name = "cs_mode"
+ name = "chanserv/mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
@@ -1086,17 +1086,17 @@ command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; gr
/*
- * cs_register
+ * chanserv/register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
-module { name = "cs_register" }
+module { name = "chanserv/register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
- * cs_seen
+ * chanserv/seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
@@ -1105,7 +1105,7 @@ command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"
*/
module
{
- name = "cs_seen"
+ name = "chanserv/seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
@@ -1119,7 +1119,7 @@ module
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
- * cs_set
+ * chanserv/set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
@@ -1142,7 +1142,7 @@ command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permis
*/
module
{
- name = "cs_set"
+ name = "chanserv/set"
/*
* The default ban type for newly registered channels.
@@ -1180,30 +1180,30 @@ command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
- * cs_set_misc
+ * chanserv/set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
-module { name = "cs_set_misc" }
+module { name = "chanserv/set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
- * cs_status
+ * chanserv/status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
-module { name = "cs_status" }
+module { name = "chanserv/status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
- * cs_suspend
+ * chanserv/suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
@@ -1211,7 +1211,7 @@ command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
*/
module
{
- name = "cs_suspend"
+ name = "chanserv/suspend"
/*
* The length of time before a suspended channel expires.
@@ -1232,50 +1232,50 @@ command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend";
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
- * cs_sync
+ * chanserv/sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
-module { name = "cs_sync" }
+module { name = "chanserv/sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
- * cs_topic
+ * chanserv/topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
-module { name = "cs_topic" }
+module { name = "chanserv/topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
- * cs_unban
+ * chanserv/unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
-module { name = "cs_unban" }
+module { name = "chanserv/unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
- * cs_updown
+ * chanserv/updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
-module { name = "cs_updown" }
+module { name = "chanserv/updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
- * cs_xop
+ * chanserv/xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
@@ -1288,7 +1288,7 @@ command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "c
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
-module { name = "cs_xop" }
+module { name = "chanserv/xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
@@ -1301,9 +1301,9 @@ command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group =
*/
/*
- * cs_statusupdate
+ * chanserv/statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
-module { name = "cs_statusupdate" }
+module { name = "chanserv/statusupdate" }
diff --git a/data/chanstats.example.conf b/data/chanstats.example.conf
index 64f57da30..df19374a2 100644
--- a/data/chanstats.example.conf
+++ b/data/chanstats.example.conf
@@ -5,7 +5,7 @@
module
{
- name = "m_chanstats"
+ name = "chanstats"
/*
* The name of this engine.
diff --git a/data/example.conf b/data/example.conf
index 02f7f9016..6843c8021 100644
--- a/data/example.conf
+++ b/data/example.conf
@@ -1046,7 +1046,7 @@ mail
*/
#module
{
- name = "db_old"
+ name = "database/old"
/*
* This is the encryption type used by the databases. This must be set correctly or
@@ -1064,7 +1064,7 @@ mail
*/
module
{
- name = "db_flatfile"
+ name = "database/flatfile"
/*
* The database name db_flatfile should use
@@ -1105,10 +1105,10 @@ module
*/
#module
{
- name = "db_sql"
+ name = "database/sql"
/*
- * The SQL service db_sql should use, these are configured in modules.conf.
+ * The SQL service database/sql should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
@@ -1123,14 +1123,14 @@ module
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
- * This module requires that m_redis is loaded and configured properly.
+ * This module requires the module redis to be loaded and configured properly.
*/
#module
{
- name = "db_redis"
+ name = "database/redis"
/*
- * Redis database to use. This must be configured with m_redis.
+ * Redis database to use. This must be configured with the module redis.
*/
engine = "redis/main"
}
@@ -1144,9 +1144,9 @@ module
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
- * m_ldap_authentication or m_sql_authentication.
+ * ldap_authentication or sql_authentication.
*
- * With enc_none, passwords will be stored in plain text, allowing for passwords
+ * With encryption/none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
@@ -1158,21 +1158,16 @@ module
*
*/
-#module { name = "enc_bcrypt" }
-module { name = "enc_sha256" }
-
-/*
- * When using enc_none, passwords will be stored without encryption. This isn't secure
- * therefore it is not recommended.
- */
-#module { name = "enc_none" }
+#module { name = "encryption/bcrypt" }
+module { name = "encryption/sha256" }
/*
* [DEPRECATED] Deprecated encryption modules.
*/
-#module { name = "enc_md5" }
-#module { name = "enc_sha1" }
-#module { name = "enc_old" }
+#module { name = "encryption/md5" }
+#module { name = "encryption/sha1" }
+#module { name = "encryption/old" }
+#module { name = "encryption/none" }
/* Extra (optional) modules. */
diff --git a/data/global.example.conf b/data/global.example.conf
index a299885aa..d6c856aea 100644
--- a/data/global.example.conf
+++ b/data/global.example.conf
@@ -49,7 +49,7 @@ service
*/
module
{
- name = "global"
+ name = "global/main"
/*
* The name of the client that should be Global.
@@ -96,11 +96,11 @@ module
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
- * gl_global
+ * global/global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
-module { name = "gl_global" }
+module { name = "global/global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
diff --git a/data/hostserv.example.conf b/data/hostserv.example.conf
index 47fa6f44f..685eb9722 100644
--- a/data/hostserv.example.conf
+++ b/data/hostserv.example.conf
@@ -49,7 +49,7 @@ service
*/
module
{
- name = "hostserv"
+ name = "hostserv/main"
/*
* The name of the client that should be HostServ.
@@ -77,18 +77,18 @@ module
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
- * hs_del
+ * hostserv/del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
-module { name = "hs_del" }
+module { name = "hostserv/del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
- * hs_group
+ * hostserv/group
*
* Provides the command hostserv/group.
*
@@ -96,7 +96,7 @@ command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; pe
*/
module
{
- name = "hs_group"
+ name = "hostserv/group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
@@ -111,37 +111,37 @@ module
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
- * hs_list
+ * hostserv/list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
-module { name = "hs_list" }
+module { name = "hostserv/list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
- * hs_off
+ * hostserv/off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
-module { name = "hs_off" }
+module { name = "hostserv/off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
- * hs_on
+ * hostserv/on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
-module { name = "hs_on" }
+module { name = "hostserv/on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
- * hs_request
+ * hostserv/request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
@@ -149,7 +149,7 @@ command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
*/
module
{
- name = "hs_request"
+ name = "hostserv/request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
@@ -168,12 +168,12 @@ command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; pe
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
- * hs_set
+ * hostserv/set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
-module { name = "hs_set" }
+module { name = "hostserv/set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
diff --git a/data/hybrid.example.conf b/data/hybrid.example.conf
index 2af525c28..c44e67ca9 100644
--- a/data/hybrid.example.conf
+++ b/data/hybrid.example.conf
@@ -1,7 +1,7 @@
module
{
- name = "hybrid"
+ name = "protocol/hybrid"
}
usermode
diff --git a/data/inspircd20.example.conf b/data/inspircd20.example.conf
index 133b86089..db3611519 100644
--- a/data/inspircd20.example.conf
+++ b/data/inspircd20.example.conf
@@ -1,7 +1,7 @@
module
{
- name = "inspircd20"
+ name = "protocol/inspircd20"
/*
* Enables mode locks server-side. This reduces the spam caused by
diff --git a/data/memoserv.example.conf b/data/memoserv.example.conf
index c001fa93d..cda9a02ae 100644
--- a/data/memoserv.example.conf
+++ b/data/memoserv.example.conf
@@ -49,7 +49,7 @@ service
*/
module
{
- name = "memoserv"
+ name = "memoserv/main"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
@@ -92,37 +92,37 @@ module
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
- * ms_cancel
+ * memoserv/cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
-module { name = "ms_cancel" }
+module { name = "memoserv/cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
- * ms_check
+ * memoserv/check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
-module { name = "ms_check" }
+module { name = "memoserv/check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
- * ms_del
+ * memoserv/del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
-module { name = "ms_del" }
+module { name = "memoserv/del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
- * ms_ignore
+ * memoserv/ignore
*
* Provides the command memoserv/ignore.
*
@@ -130,7 +130,7 @@ command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
*/
module
{
- name = "ms_ignore"
+ name = "memoserv/ignore"
/*
* The maximum number of entries that may be on a memo ignore list.
@@ -142,37 +142,37 @@ module
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
- * ms_info
+ * memoserv/info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
-module { name = "ms_info" }
+module { name = "memoserv/info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
- * ms_list
+ * memoserv/list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
-module { name = "ms_list" }
+module { name = "memoserv/list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
- * ms_read
+ * memoserv/read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
-module { name = "ms_read" }
+module { name = "memoserv/read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
- * ms_rsend
+ * memoserv/rsend
*
* Provides the command memoserv/rsend.
*
@@ -182,10 +182,10 @@ command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
*/
#module
{
- name = "ms_rsend"
+ name = "memoserv/rsend"
/*
- * Only allow Services Operators to use ms_rsend.
+ * Only allow Services Operators to use memoserv/rsend.
*
* This directive is optional.
*/
@@ -194,41 +194,41 @@ command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
- * ms_send
+ * memoserv/send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
-module { name = "ms_send" }
+module { name = "memoserv/send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
- * ms_sendall
+ * memoserv/sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
-module { name = "ms_sendall" }
+module { name = "memoserv/sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
- * ms_set
+ * memoserv/set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
-module { name = "ms_set" }
+module { name = "memoserv/set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
- * ms_staff
+ * memoserv/staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
-module { name = "ms_staff" }
+module { name = "memoserv/staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
diff --git a/data/modules.example.conf b/data/modules.example.conf
index c5d8fb3a4..7048e5e43 100644
--- a/data/modules.example.conf
+++ b/data/modules.example.conf
@@ -19,14 +19,14 @@
module { name = "help" }
/*
- * m_dns
+ * dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
- * but other modules such as m_dnsbl and os_dns require this.
+ * but other modules such as dnsbl and operserv/dns require this.
*/
#module
{
- name = "m_dns"
+ name = "dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
@@ -42,7 +42,7 @@ module { name = "help" }
timeout = 5
- /* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
+ /* Only edit below if you are expecting to use operserv/dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
@@ -80,7 +80,7 @@ module { name = "help" }
}
/*
- * m_dnsbl
+ * dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
@@ -88,7 +88,7 @@ module { name = "help" }
*/
#module
{
- name = "m_dnsbl"
+ name = "dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
@@ -179,19 +179,19 @@ module { name = "help" }
}
/*
- * m_helpchan
+ * helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
- name = "m_helpchan"
+ name = "helpchan"
helpchannel = "#help"
}
/*
- * m_httpd
+ * httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
@@ -200,7 +200,7 @@ module { name = "help" }
*/
#module
{
- name = "m_httpd"
+ name = "httpd"
httpd
{
@@ -232,13 +232,13 @@ module { name = "help" }
}
/*
- * m_ldap [EXTRA]
+ * ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
- name = "m_ldap"
+ name = "ldap"
ldap
{
@@ -253,14 +253,14 @@ module { name = "help" }
}
/*
- * m_ldap_authentication [EXTRA]
+ * ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
- * LDAP to authenticate users. Requires m_ldap.
+ * LDAP to authenticate users. Requires ldap.
*/
#module
{
- name = "m_ldap_authentication"
+ name = "ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
@@ -313,16 +313,16 @@ module { name = "help" }
}
/*
- * m_ldap_oper [EXTRA]
+ * ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
- * via LDAP group membership. Requires m_ldap.
+ * via LDAP group membership. Requires ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
- name = "m_ldap_oper"
+ name = "ldap_oper"
/*
* An optional binddn to use when searching for groups.
@@ -354,13 +354,13 @@ module { name = "help" }
}
/*
- * m_mysql [EXTRA]
+ * mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
- name = "m_mysql"
+ name = "mysql"
mysql
{
@@ -374,13 +374,13 @@ module { name = "help" }
}
}
/*
- * m_redis
+ * redis
*
* This module allows other modules to use Redis.
*/
#module
{
- name = "m_redis"
+ name = "redis"
/* A redis database */
redis
@@ -399,16 +399,16 @@ module { name = "help" }
}
/*
- * m_rewrite
+ * rewrite
*
* Allows rewriting commands sent to/from clients.
*/
-#module { name = "m_rewrite" }
+#module { name = "rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
- /* Enable m_rewrite. */
+ /* Enable rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
@@ -429,7 +429,7 @@ module { name = "help" }
}
/*
- * m_proxyscan
+ * proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
@@ -443,7 +443,7 @@ module { name = "help" }
*/
#module
{
- name = "m_proxyscan"
+ name = "proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
@@ -511,47 +511,47 @@ module { name = "help" }
}
/*
- * m_sasl
+ * sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
-#module { name = "m_sasl" }
+#module { name = "sasl" }
/*
- * m_sasl_dh-aes [EXTRA]
+ * sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
- * Requires m_sasl to be loaded.
+ * Requires sasl to be loaded.
* Requires openssl.
*/
-#module { name = "m_sasl_dh-aes" }
+#module { name = "sasl_dh-aes" }
/*
- * m_sasl_dh-blowfish [EXTRA]
+ * sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
- * Requires m_sasl to be loaded.
+ * Requires sasl to be loaded.
* Requires openssl.
*/
-#module { name = "m_sasl_dh-blowfish" }
+#module { name = "sasl_dh-blowfish" }
/*
- * m_ssl_gnutls [EXTRA]
+ * ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
- * You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
+ * You may only load either ssl_gnutls or ssl_openssl, bot not both.
*/
#module
{
- name = "m_ssl_gnutls"
+ name = "ssl_gnutls"
/*
- * An optional certificate and key for m_ssl_gnutls to give to the uplink.
+ * An optional certificate and key for ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
@@ -577,20 +577,20 @@ module { name = "help" }
}
/*
- * m_ssl_openssl [EXTRA]
+ * ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
- * You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
+ * You may only load either ssl_openssl or ssl_gnutls, bot not both.
*
*/
#module
{
- name = "m_ssl_openssl"
+ name = "ssl_openssl"
/*
- * An optional certificate and key for m_ssl_openssl to give to the uplink.
+ * An optional certificate and key for ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
@@ -610,16 +610,16 @@ module { name = "help" }
}
/*
- * m_sql_authentication [EXTRA]
+ * sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
- name = "m_sql_authentication"
+ name = "sql_authentication"
- /* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
+ /* SQL engine to use. Should be configured elsewhere with mysql, sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
@@ -661,7 +661,7 @@ module { name = "help" }
}
/*
- * m_sql_log [EXTRA]
+ * sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
@@ -678,19 +678,19 @@ module { name = "help" }
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
-#module { name = "m_sql_log" }
+#module { name = "sql_log" }
/*
- * m_sql_oper [EXTRA]
+ * sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
- name = "m_sql_oper"
+ name = "sql_oper"
- /* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
+ /* SQL engine to use. Should be configured elsewhere with mysql, sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
@@ -707,13 +707,13 @@ module { name = "help" }
}
/*
- * m_sqlite [EXTRA]
+ * sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
- name = "m_sqlite"
+ name = "sqlite"
/* A SQLite database */
sqlite
@@ -733,7 +733,7 @@ module { name = "help" }
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
- * This module requires m_httpd.
+ * This module requires httpd.
*/
#module
{
@@ -750,23 +750,23 @@ module { name = "help" }
}
/*
- * m_xmlrpc
+ * xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
- * By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
+ * By itself this module does nothing, but allows other modules (xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
- name = "m_xmlrpc"
+ name = "xmlrpc"
- /* Web service to use. Requires m_httpd. */
+ /* Web service to use. Requires httpd. */
server = "httpd/main"
}
/*
- * m_xmlrpc_main
+ * xmlrpc_main
*
* Adds the main XMLRPC core functions.
- * Requires m_xmlrpc.
+ * Requires xmlrpc.
*/
-#module { name = "m_xmlrpc_main" }
+#module { name = "xmlrpc_main" }
diff --git a/data/ngircd.example.conf b/data/ngircd.example.conf
index 641b2cc20..7df67ce64 100644
--- a/data/ngircd.example.conf
+++ b/data/ngircd.example.conf
@@ -1,7 +1,7 @@
module
{
- name = "ngircd"
+ name = "protocol/ngircd"
}
usermode
diff --git a/data/nickserv.example.conf b/data/nickserv.example.conf
index f8ffade33..0109aa104 100644
--- a/data/nickserv.example.conf
+++ b/data/nickserv.example.conf
@@ -49,7 +49,7 @@ service
*/
module
{
- name = "nickserv"
+ name = "nickserv/main"
/*
* The name of the client that should be NickServ.
@@ -85,9 +85,9 @@ module
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
- * - ns_secure: Enable nickname security, requiring the nick's password before any operations
+ * - nickserv/secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
- * - ns_private: Hide the nick from NickServ's LIST command
+ * - nickserv/private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
@@ -97,12 +97,12 @@ module
* - 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
* options:useprivmsg to be enabled as well
- * - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
+ * - nickserv/keepmodes: Enables keepmodes, which retains user modes across sessions
*
- * This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
+ * This directive is optional, if left blank, the options will default to nickserv/secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
- defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
+ defaults = "nickserv/secure nickserv/private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
@@ -229,7 +229,7 @@ command_group
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
- * ns_access
+ * nickserv/access
*
* Provides the command nickserv/access.
*
@@ -237,7 +237,7 @@ command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
*/
module
{
- name = "ns_access"
+ name = "nickserv/access"
/*
* The maximum number of entries allowed on a nickname's access list.
@@ -256,7 +256,7 @@ module
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
- * ns_ajoin
+ * nickserv/ajoin
*
* Provides the command nickserv/ajoin.
*
@@ -264,7 +264,7 @@ command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
*/
module
{
- name = "ns_ajoin"
+ name = "nickserv/ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
@@ -274,17 +274,17 @@ module
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
- * ns_alist
+ * nickserv/alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
-module { name = "ns_alist" }
+module { name = "nickserv/alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
- * ns_cert
+ * nickserv/cert
*
* Provides the command nickserv/cert.
*
@@ -292,7 +292,7 @@ command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
*/
module
{
- name = "ns_cert"
+ name = "nickserv/cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
@@ -303,27 +303,27 @@ module
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
- * ns_drop
+ * nickserv/drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
-module { name = "ns_drop" }
+module { name = "nickserv/drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
- * ns_getemail
+ * nickserv/getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
-module { name = "ns_getemail" }
+module { name = "nickserv/getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
- * ns_getpass
+ * nickserv/getpass
*
* Provides the command nickserv/getpass.
*
@@ -331,11 +331,11 @@ command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"
*
* Requires no encryption is being used.
*/
-#module { name = "ns_getpass" }
+#module { name = "nickserv/getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
- * ns_group
+ * nickserv/group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
@@ -343,7 +343,7 @@ command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"
*/
module
{
- name = "ns_group"
+ name = "nickserv/group"
/*
* The maximum number of nicks allowed in a group.
@@ -366,7 +366,7 @@ command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
- * ns_identify
+ * nickserv/identify
*
* Provides the command nickserv/identify.
*
@@ -374,7 +374,7 @@ command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup";
*/
module
{
- name = "ns_identify"
+ name = "nickserv/identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
@@ -385,14 +385,14 @@ command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
- * ns_info
+ * nickserv/info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
-module { name = "ns_info" }
+module { name = "nickserv/info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
@@ -400,7 +400,7 @@ command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/h
/*
- * ns_list
+ * nickserv/list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
@@ -409,7 +409,7 @@ command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/h
*/
module
{
- name = "ns_list"
+ name = "nickserv/list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
@@ -423,17 +423,17 @@ command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/sase
/*
- * ns_logout
+ * nickserv/logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
-module { name = "ns_logout" }
+module { name = "nickserv/logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
- * ns_recover
+ * nickserv/recover
*
* Provides the command nickserv/recover.
*
@@ -441,7 +441,7 @@ command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
*/
module
{
- name = "ns_recover"
+ name = "nickserv/recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
@@ -457,7 +457,7 @@ command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover";
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
- * ns_register
+ * nickserv/register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
@@ -465,7 +465,7 @@ command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover";
*/
module
{
- name = "ns_register"
+ name = "nickserv/register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
@@ -500,17 +500,17 @@ command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
- * ns_resetpass
+ * nickserv/resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
-module { name = "ns_resetpass" }
+module { name = "nickserv/resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
- * ns_set
+ * nickserv/set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
@@ -527,7 +527,7 @@ command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpas
*/
module
{
- name = "ns_set"
+ name = "nickserv/set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
@@ -571,14 +571,14 @@ command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/sas
/*
- * ns_set_misc
+ * nickserv/set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
-module { name = "ns_set_misc" }
+module { name = "nickserv/set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
@@ -589,17 +589,17 @@ command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/mi
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
- * ns_status
+ * nickserv/status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
-module { name = "ns_status" }
+module { name = "nickserv/status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
- * ns_suspend
+ * nickserv/suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
@@ -607,7 +607,7 @@ command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
*/
module
{
- name = "ns_suspend"
+ name = "nickserv/suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
@@ -627,13 +627,13 @@ command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend";
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
- * ns_update
+ * nickserv/update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
-module { name = "ns_update" }
+module { name = "nickserv/update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
@@ -642,14 +642,14 @@ command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
*/
/*
- * ns_maxemail
+ * nickserv/maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
- name = "ns_maxemail"
+ name = "nickserv/maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
diff --git a/data/operserv.example.conf b/data/operserv.example.conf
index 5554dcb42..1c83bede1 100644
--- a/data/operserv.example.conf
+++ b/data/operserv.example.conf
@@ -49,7 +49,7 @@ service
*/
module
{
- name = "operserv"
+ name = "operserv/main"
/*
* The name of the client that should be OperServ.
@@ -126,27 +126,27 @@ module
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
- * os_akill
+ * operserv/akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
-module { name = "os_akill" }
+module { name = "operserv/akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
- * os_chankill
+ * operserv/chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
-module { name = "os_chankill" }
+module { name = "operserv/chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
- * os_defcon
+ * operserv/defcon
*
* Provides the command operserv/defcon.
*
@@ -155,7 +155,7 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"
*/
#module
{
- name = "os_defcon"
+ name = "operserv/defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
@@ -254,7 +254,7 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; }
/*
- * os_dns
+ * operserv/dns
*
* Provides the command operserv/dns.
*
@@ -286,7 +286,7 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"
*/
#module
{
- name = "os_dns"
+ name = "operserv/dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
@@ -315,99 +315,99 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
- * os_config
+ * operserv/config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
-module { name = "os_config" }
+module { name = "operserv/config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
- * os_forbid
+ * operserv/forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
-module { name = "os_forbid" }
+module { name = "operserv/forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
- * os_ignore
+ * operserv/ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
-module { name = "os_ignore" }
+module { name = "operserv/ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
- * os_info
+ * operserv/info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
-module { name = "os_info" }
+module { name = "operserv/info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
- * os_jupe
+ * operserv/jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
-module { name = "os_jupe" }
+module { name = "operserv/jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
- * os_kick
+ * operserv/kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
-module { name = "os_kick" }
+module { name = "operserv/kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
- * os_kill
+ * operserv/kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
-module { name = "os_kill" }
+module { name = "operserv/kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
- * os_list
+ * operserv/list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
-module { name = "os_list" }
+module { name = "operserv/list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
- * os_login
+ * operserv/login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
-module { name = "os_login" }
+module { name = "operserv/login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
- * os_logsearch
+ * operserv/logsearch
*
* Provides the command operserv/logsearch.
*
@@ -415,7 +415,7 @@ command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
*/
module
{
- name = "os_logsearch"
+ name = "operserv/logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
@@ -425,41 +425,41 @@ module
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
- * os_mode
+ * operserv/mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
-module { name = "os_mode" }
+module { name = "operserv/mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
- * os_modinfo
+ * operserv/modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
-module { name = "os_modinfo" }
+module { name = "operserv/modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
- * os_module
+ * operserv/module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
-module { name = "os_module" }
+module { name = "operserv/module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
- * os_news
+ * operserv/news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
@@ -467,7 +467,7 @@ command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunloa
*/
module
{
- name = "os_news"
+ name = "operserv/news"
/*
* The service bot names to use to send news to users on connection
@@ -488,48 +488,48 @@ command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
- * os_noop
+ * operserv/noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
-module { name = "os_noop" }
+module { name = "operserv/noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
- * os_oline
+ * operserv/oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
-module { name = "os_oline" }
+module { name = "operserv/oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
- * os_oper
+ * operserv/oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
-module { name = "os_oper" }
+module { name = "operserv/oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
- * os_reload
+ * operserv/reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
-module { name = "os_reload" }
+module { name = "operserv/reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
- * os_session
+ * operserv/session
*
* Provides the commands operserv/exception and operserv/session.
*
@@ -542,27 +542,27 @@ command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; pe
*/
module
{
- name = "os_session"
+ name = "operserv/session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
- * This directive is required if os_session is loaded.
+ * This directive is required if operserv/session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
- * This directive is required if os_session is loaded.
+ * This directive is required if operserv/session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
- * This directive is required if os_session is loaded.
+ * This directive is required if operserv/session is loaded.
*/
exceptionexpiry = 1d
@@ -615,7 +615,7 @@ command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exceptio
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
- * os_set
+ * operserv/set
*
* Provides the command operserv/set.
*
@@ -623,7 +623,7 @@ command { service = "OperServ"; name = "SESSION"; command = "operserv/session";
*/
module
{
- name = "os_set"
+ name = "operserv/set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
@@ -636,56 +636,56 @@ module
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
- * os_shutdown
+ * operserv/shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
-module { name = "os_shutdown" }
+module { name = "operserv/shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
- * os_stats
+ * operserv/stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
-module { name = "os_stats" }
+module { name = "operserv/stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
- * os_svs
+ * operserv/svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
-module { name = "os_svs" }
+module { name = "operserv/svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
- * os_sxline
+ * operserv/sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
-module { name = "os_sxline" }
+module { name = "operserv/sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
- * os_update
+ * operserv/update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
-module { name = "os_update" }
+module { name = "operserv/update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
diff --git a/data/plexus.example.conf b/data/plexus.example.conf
index 5d9feace8..9d1204828 100644
--- a/data/plexus.example.conf
+++ b/data/plexus.example.conf
@@ -1,7 +1,7 @@
module
{
- name = "plexus"
+ name = "protocol/plexus"
}
usermode
diff --git a/data/ratbox.example.conf b/data/ratbox.example.conf
index f3f191974..b5fc4546d 100644
--- a/data/ratbox.example.conf
+++ b/data/ratbox.example.conf
@@ -1,7 +1,7 @@
module
{
- name = "ratbox"
+ name = "protocol/ratbox"
}
usermode
diff --git a/data/stats.standalone.example.conf b/data/stats.standalone.example.conf
deleted file mode 100644
index 3f9bf30c2..000000000
--- a/data/stats.standalone.example.conf
+++ /dev/null
@@ -1,512 +0,0 @@
-/*
- * Example configuration file for Services. After making the appropriate
- * changes to this file, place it in the Services conf directory (as
- * specified in the "configure" script, default /home/username/services/conf)
- * under the name "services.conf".
- *
- * The format of this file is fairly simple: three types of comments are supported:
- * - All text after a '#' on a line is ignored, as in shell scripting
- * - All text after '//' on a line is ignored, as in C++
- * - A block of text like this one is ignored, as in C
- *
- * Outside of comments, there are three structures: blocks, keys, and values.
- *
- * A block is a named container, which contains a number of key to value pairs
- * - you may think of this as an array.
- *
- * A block is created like so:
- * foobar
- * {
- * moo = "cow"
- * foo = bar
- * }
- *
- * Note that nameless blocks are allowed and are often used with comments to allow
- * easily commenting an entire block, for example:
- * #foobar
- * {
- * moo = "cow"
- * foo = bar
- * }
- * is an entirely commented block.
- *
- * Keys are case insensitive. Values depend on what key - generally, information is
- * given in the key comment. The quoting of values (and most other syntax) is quite
- * flexible, however, please do not forget to quote your strings:
- *
- * "This is a parameter string with spaces in it"
- *
- * If you need to include a double quote inside a quoted string, precede it
- * by a backslash:
- *
- * "This string has \"double quotes\" in it"
- *
- * Time parameters can be specified either as an integer representing a
- * number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
- * specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
- * Combinations (such as "1h30m") are not permitted. Examples (all of which
- * represent the same length of time, one day):
- *
- * "86400", "86400s", "1440m", "24h", "1d"
- *
- * In the documentation for each directive, one of the following will be
- * included to indicate whether an option is required:
- *
- * [REQUIRED]
- * Indicates a directive which must be given. Without it, Services will
- * not start.
- *
- * [RECOMMENDED]
- * Indicates a directive which may be omitted, but omitting it may cause
- * undesirable side effects.
- *
- * [OPTIONAL]
- * Indicates a directive which is optional. If not given, the feature
- * will typically be disabled. If this is not the case, more
- * information will be given in the documentation.
- *
- * [DISCOURAGED]
- * Indicates a directive which may cause undesirable side effects if
- * specified.
- *
- * [DEPRECATED]
- * Indicates a directive which will disappear in a future version of
- * Services, usually because its functionality has been either
- * superseded by that of other directives or incorporated into the main
- * program.
- */
-
-/*
- * [OPTIONAL] Defines
- *
- * You can define values to other values, which can be used to easily change
- * many values in the configuration. at once.
- */
-
-/*
- * The services.host define is used in multiple different locations throughout the
- * configuration for services clients hostnames.
- */
-define
-{
- name = "services.host"
- value = "services.localhost.net"
-}
-
-/*
- * [OPTIONAL] Additional Includes
- *
- * You can include additional configuration files here.
- * You may also include executable files, which will be executed and
- * the output from it will be included into your configuration.
- */
-
-#include
-{
- type = "file"
- name = "some.conf"
-}
-
-#include
-{
- type = "executable"
- name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
-}
-
-/*
- * [REQUIRED] IRCd Config
- *
- * This section is used to set up Anope to connect to your IRC network.
- * This section can be included multiple times, and Anope will attempt to
- * connect to each server until it finally connects.
- *
- * Each uplink IRCd should have a corresponding configuration to allow Services
- * to link to it.
- *
- * An example configuration for InspIRCd that is compatible with the below uplink
- * and serverinfo configuration would look like:
- *
- * <link name="services.localhost.net"
- * ipaddr="127.0.0.1"
- * port="7000"
- * sendpass="mypassword"
- * recvpass="mypassword">
- * <uline server="services.localhost.net" silent="yes">
- * <bind address="127.0.0.1" port="7000" type="servers">
- *
- * An example configuration for UnrealIRCd that is compatible with the below uplink
- * and serverinfo configuration would look like:
- *
- * link services.localhost.net
- * {
- * username *;
- * hostname *;
- * bind-ip "127.0.0.1";
- * port 7000;
- * hub *;
- * password-connect "mypassword";
- * password-receive "mypassword";
- * class servers;
- * };
- * ulines { services.localhost.net; };
- * listen 127.0.0.1:7000;
- */
-uplink
-{
- /*
- * The IP or hostname of the IRC server you wish to connect Services to.
- * Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
- *
- * NOTE: On some shell providers, this will not be an option.
- */
- host = "127.0.0.1"
-
- /*
- * Enable if Services should connect using IPv6.
- */
- ipv6 = no
-
- /*
- * Enable if Services should connect using SSL.
- * You must have an SSL module loaded for this to work.
- */
- ssl = no
-
- /*
- * The port to connect to.
- * The IRCd *MUST* be configured to listen on this port, and to accept
- * server connections.
- *
- * Refer to your IRCd documentation for how this is to be done.
- */
- port = 7000
-
- /*
- * The password to send to the IRC server for authentication.
- * This must match the link block on your IRCd.
- *
- * Refer to your IRCd documentation for more information on link blocks.
- */
- password = "mypassword"
-}
-
-/*
- * [REQUIRED] Server Information
- *
- * This section contains information about the Services server.
- */
-serverinfo
-{
- /*
- * The hostname that Services will be seen as, it must have no conflicts with any
- * other server names on the rest of your IRC network. Note that it does not have
- * to be an existing hostname, just one that isn't on your network already.
- */
- name = "stats.localhost.net"
-
- /*
- * The text which should appear as the server's information in /whois and similar
- * queries.
- */
- description = "Stats for IRC Networks"
-
- /*
- * The local address that Services will bind to before connecting to the remote
- * server. This may be useful for multihomed hosts. If omitted, Services will let
- * the Operating System choose the local address. This directive is optional.
- *
- * If you don't know what this means or don't need to use it, just leave this
- * directive commented out.
- */
- #localhost = "nowhere."
-
- /*
- * What Server ID to use for this connection?
- * Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
- * to see if this is needed.
- */
- #id = "00A"
-
- /*
- * The filename containing the Services process ID. The path is relative to the
- * services root directory.
- */
- pid = "data/services.pid"
-
- /*
- * The filename containing the Message of the Day. The path is relative to the
- * services root directory.
- */
- motd = "conf/services.motd"
-}
-
-/*
- * [REQUIRED] Protocol module
- *
- * This directive tells Anope which IRCd Protocol to speak when connecting.
- * You MUST modify this to match the IRCd you run.
- *
- * Supported:
- * - bahamut
- * - charybdis
- * - hybrid
- * - inspircd20
- * - ngircd
- * - plexus
- * - ratbox
- * - unreal
- */
-module
-{
- name = "inspircd20"
-}
-
-/*
- * [REQUIRED] Network Information
- *
- * This section contains information about the IRC network that Services will be
- * connecting to.
- */
-networkinfo
-{
- /*
- * This is the name of the network that Services will be running on.
- */
- networkname = "LocalNet"
-
- /*
- * Set this to the maximum allowed nick length on your network.
- * Be sure to set this correctly, as setting this wrong can result in
- * Services being disconnected from the network.
- */
- nicklen = 31
-
- /* Set this to the maximum allowed ident length on your network.
- * Be sure to set this correctly, as setting this wrong can result in
- * Services being disconnected from the network.
- */
- userlen = 10
-
- /* Set this to the maximum allowed hostname length on your network.
- * Be sure to set this correctly, as setting this wrong can result in
- * Services being disconnected from the network.
- */
- hostlen = 64
-
- /* Set this to the maximum allowed channel length on your network.
- */
- chanlen = 32
-
- /* The maximum number of list modes settable on a channel (such as b, e, I).
- * Comment out or set to 0 to disable.
- */
- modelistsize = 100
-
- /*
- * The characters allowed in hostnames. This is used for validating hostnames given
- * to services, such as BotServ bot hostnames and user vhosts. Changing this is not
- * recommended unless you know for sure your IRCd supports whatever characters you are
- * wanting to use. Telling services to set a vHost containing characters your IRCd
- * disallows could potentially break the IRCd and/or Services.
- *
- * It is recommended you DON'T change this.
- */
- vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
-
- /*
- * If set to true, allows vHosts to not contain dots (.).
- * Newer IRCds generally do not have a problem with this, but the same warning as
- * vhost_chars applies.
- *
- * It is recommended you DON'T change this.
- */
- allow_undotted_vhosts = false
-
- /*
- * The characters that are not allowed to be at the very beginning or very ending
- * of a vHost. The same warning as vhost_chars applies.
- *
- * It is recommended you DON'T change this.
- */
- disallow_start_or_end = ".-"
-}
-
-/*
- * [REQUIRED] Services Options
- *
- * This section contains various options which determine how Services will operate.
- */
-options
-{
- /*
- * On Linux/UNIX systems Anope can setuid and setgid to this user and group
- * after starting up. This is useful if Anope has to bind to privileged ports
- */
- #user = "anope"
- #group = "anope"
-
- /*
- * The case mapping used by services. This must be set to a valid locale name
- * installed on your machine. Services use this case map to compare, with
- * case insensitivity, things such as nick names, channel names, etc.
- *
- * We provide two special casemaps shipped with Anope, ascii and rfc1459.
- *
- * This value should be set to what your IRCd uses, which is probably rfc1459,
- * however Anope has always used ascii for comparison, so the default is ascii.
- *
- * Changing this value once set is not recommended.
- */
- casemap = "ascii"
-
- /*
- * Sets the timeout period for reading from the uplink.
- */
- readtimeout = 5s
-
- /*
- * Sets the interval between sending warning messages for program errors via
- * WALLOPS/GLOBOPS.
- */
- warningtimeout = 4h
-
- /*
- * If set, Services will only show /stats o to IRC Operators. This directive
- * is optional.
- */
- #hidestatso = yes
-
- /*
- * A space-separated list of ulined servers on your network, it is assumed that
- * the servers in this list are allowed to set channel modes and Services will
- * not attempt to reverse their mode changes.
- *
- * WARNING: Do NOT put your normal IRC user servers in this directive.
- *
- * This directive is optional.
- */
- #ulineservers = "services.your.network"
-
- /*
- * How long to wait between connection retries with the uplink(s).
- */
- retrywait = 60s
-}
-
-/*
- * [RECOMMENDED] Logging 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!
- */
-log
-{
- /*
- * Target(s) to log to, which may be one of the following:
- * - a channel name
- * - a filename
- * - globops
- */
- target = "stats.log"
-
- /* Log to both services.log and the channel #services
- *
- * Note that some older IRCds, such as Ratbox, require services to be in the
- * log channel to be able to message it. To do this, configure service:channels to
- * join your logging channel.
- */
- #target = "stats.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 bot used to log generic messages which have no predefined sender if there
- * is a channel in the target directive.
- */
- bot = "Global"
-
- /*
- * 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
-
- /*
- * What types of log messages should be logged by this block. There are nine general categories:
- *
- * 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 server options are:
- * connect, quit, sync, squit
- *
- * Valid channel options are:
- * create, destroy, join, part, kick, leave, mode
- *
- * Valid user options are:
- * connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
- *
- * 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.
- */
- servers = "*"
- #channels = "~mode *"
- users = "connect disconnect nick"
- other = "*"
- rawio = no
- debug = no
-}
-
-/*
- * [REQUIRED] MySQL Database configuration.
- *
- * m_mysql
- *
- * This module allows other modules to use MySQL.
- */
-module
-{
- name = "m_mysql"
-
- mysql
- {
- /* The name of this service. */
- name = "mysql/main"
- database = "anope"
- server = "127.0.0.1"
- username = "anope"
- password = "mypassword"
- port = 3306
- }
-}
-
-/*
- * IRC2SQL Gateway
- * This module collects data about users, channels and servers. It doesn't build stats
- * itself, however, it gives you the database, it's up to you how you use it.
- *
- * Requires a MySQL Database and MySQL version 5.5 or higher
- */
-include
-{
- type = "file"
- name = "irc2sql.example.conf"
-}
-
diff --git a/data/unreal.example.conf b/data/unreal.example.conf
index d46f118c2..ddcafd906 100644
--- a/data/unreal.example.conf
+++ b/data/unreal.example.conf
@@ -1,7 +1,7 @@
module
{
- name = "unreal"
+ name = "protocol/unreal"
/*
* Enforces mode locks server-side. This reduces the spam caused by
diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt
index 522ceb674..68a2a89b0 100644
--- a/modules/CMakeLists.txt
+++ b/modules/CMakeLists.txt
@@ -20,6 +20,13 @@ macro(build_modules SRC)
# Convert the real source file extension to have a .so extension
string(REGEX REPLACE "\\.cpp$" "" SO ${FNAME})
+ file(RELATIVE_PATH DEST "${Anope_SOURCE_DIR}/modules" ${SRC})
+ if(DEST)
+ set(TARG "module_${DEST}.${SO}")
+ else(DEST)
+ set(TARG "module_${SO}")
+ endif(DEST)
+
# Reset linker flags
set(TEMP_LDFLAGS)
# Reset extra dependencies
@@ -33,31 +40,31 @@ macro(build_modules SRC)
set(WIN32_MEMORY)
endif(MSVC)
# Generate the module and set its linker flags, also set it to depend on the main Anope executable to be built beforehand
- add_library(${SO} MODULE ${MODULE_SRC})
+ add_library(${TARG} MODULE ${MODULE_SRC})
# Windows requires this because it's weird
if(WIN32)
set(WIN32_NO_LIBS "/nodefaultlib:\"libcmt.lib\" /OPT:NOREF")
else(WIN32)
set(WIN32_NO_LIBS)
endif(WIN32)
- set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" SUFFIX ".so" LINK_FLAGS "${TEMP_LDFLAGS} ${WIN32_NO_LIBS}" INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON)
- add_dependencies(${SO} ${PROGRAM_NAME})
+ set_target_properties(${TARG} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" LINK_FLAGS "${TEMP_LDFLAGS} ${WIN32_NO_LIBS}" INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON OUTPUT_NAME "${SO}")
+ add_dependencies(${TARG} ${PROGRAM_NAME})
if(GETTEXT_FOUND)
- add_dependencies(${SO} module_language)
+ add_dependencies(${TARG} module_language)
endif(GETTEXT_FOUND)
- target_link_libraries(${SO} ${TEMP_DEPENDENCIES})
+ target_link_libraries(${TARG} ${TEMP_DEPENDENCIES})
# For Windows only, have the module link to the export library of Anope as well as wsock32 and Ws2_32 libraries (most of the modules probably don't need this, but this is to be on the safe side), also set its version
if(WIN32)
- target_link_libraries(${SO} ${PROGRAM_NAME} wsock32 Ws2_32 ${WIN32_MEMORY})
+ target_link_libraries(${TARG} ${PROGRAM_NAME} wsock32 Ws2_32 ${WIN32_MEMORY})
set_target_properties(${PROGRAM_NAME} PROPERTIES VERSION "${VERSION_DOTTED}")
else(WIN32)
if(APPLE)
- target_link_libraries(${SO} ${PROGRAM_NAME})
+ target_link_libraries(${TARG} ${PROGRAM_NAME})
endif(APPLE)
endif(WIN32)
calculate_dependencies(${MODULE_SRC})
# Set the module to be installed to the module directory under the data directory
- install(TARGETS ${SO} DESTINATION ${LIB_DIR}/modules)
+ install(TARGETS ${TARG} DESTINATION ${LIB_DIR}/modules/${DEST})
endif(CPP)
endif(IS_DIRECTORY "${MODULE_SRC}")
endforeach(MODULE_SRC ${MODULES_SRCS})
@@ -68,8 +75,14 @@ macro(build_subdir)
file(GLOB_RECURSE MODULES_SUBDIR_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp")
list(SORT MODULES_SUBDIR_SRCS)
- GET_FILENAME_COMPONENT(FOLDER_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
- set(SO "${FOLDER_NAME}")
+ file(RELATIVE_PATH DEST "${Anope_SOURCE_DIR}/modules" ${CMAKE_CURRENT_SOURCE_DIR})
+ GET_FILENAME_COMPONENT(DIR_NAME ${DEST} DIRECTORY)
+ GET_FILENAME_COMPONENT(FOLDER_NAME ${DEST} NAME)
+ if(DIR_NAME)
+ set(SO "${DIR_NAME}.${FOLDER_NAME}")
+ else(DIR_NAME)
+ set(SO "${FOLDER_NAME}")
+ endif(DIR_NAME)
# Set all the files to use C++ as well as set their compile flags (use the module-specific compile flags, though)
set_source_files_properties(${MODULES_SUBDIR_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${CXXFLAGS}")
@@ -107,15 +120,15 @@ macro(build_subdir)
set(WIN32_MEMORY)
endif(MSVC)
- # Generate the module and set it's linker flags, also set it to depend on the main Anope executable to be built beforehand
+ # Generate the module and set its linker flags, also set it to depend on the main Anope executable to be built beforehand
add_library(${SO} MODULE ${MODULES_SUBDIR_SRCS})
- set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" SUFFIX ".so" LINK_FLAGS "${SUBDIR_LDFLAGS}" INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON)
+ set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" LINK_FLAGS "${SUBDIR_LDFLAGS}" INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON OUTPUT_NAME "${FOLDER_NAME}")
add_dependencies(${SO} ${PROGRAM_NAME})
if(GETTEXT_FOUND)
add_dependencies(${SO} module_language)
endif(GETTEXT_FOUND)
target_link_libraries(${SO} ${SUBDIR_EXTRA_DEPENDS})
- # For Windows only, have the module link to the export library of Anope as well as wsock32 and Ws2_32 libraries (most of the modules probably don't need this, but this is to be on the safe side), also set it's version
+ # For Windows only, have the module link to the export library of Anope as well as wsock32 and Ws2_32 libraries (most of the modules probably don't need this, but this is to be on the safe side), also set its version
if(WIN32)
target_link_libraries(${SO} ${PROGRAM_NAME} wsock32 Ws2_32 ${WIN32_MEMORY})
set_target_properties(${PROGRAM_NAME} PROPERTIES VERSION "${VERSION_DOTTED}")
@@ -125,10 +138,8 @@ macro(build_subdir)
endif(APPLE)
endif(WIN32)
- # Set the module to be installed to the module directory under the data directory
- install(TARGETS ${SO} DESTINATION ${LIB_DIR}/modules)
+ install(TARGETS ${SO} DESTINATION ${LIB_DIR}/modules/${DIR_NAME})
endmacro(build_subdir)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/botserv/CMakeLists.txt b/modules/botserv/CMakeLists.txt
new file mode 100644
index 000000000..cd225a94d
--- /dev/null
+++ b/modules/botserv/CMakeLists.txt
@@ -0,0 +1 @@
+build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/commands/bs_assign.cpp b/modules/botserv/assign.cpp
index 840651dfc..840651dfc 100644
--- a/modules/commands/bs_assign.cpp
+++ b/modules/botserv/assign.cpp
diff --git a/modules/bs_autoassign.cpp b/modules/botserv/autoassign.cpp
index 8978499ed..8978499ed 100644
--- a/modules/bs_autoassign.cpp
+++ b/modules/botserv/autoassign.cpp
diff --git a/modules/commands/bs_badwords.cpp b/modules/botserv/badwords.cpp
index 0f8e9e7d0..0f8e9e7d0 100644
--- a/modules/commands/bs_badwords.cpp
+++ b/modules/botserv/badwords.cpp
diff --git a/modules/commands/bs_bot.cpp b/modules/botserv/bot.cpp
index 726c02ab2..726c02ab2 100644
--- a/modules/commands/bs_bot.cpp
+++ b/modules/botserv/bot.cpp
diff --git a/modules/commands/bs_botlist.cpp b/modules/botserv/botlist.cpp
index ce899719e..ce899719e 100644
--- a/modules/commands/bs_botlist.cpp
+++ b/modules/botserv/botlist.cpp
diff --git a/modules/commands/bs_control.cpp b/modules/botserv/control.cpp
index 52c0933c5..52c0933c5 100644
--- a/modules/commands/bs_control.cpp
+++ b/modules/botserv/control.cpp
diff --git a/modules/commands/bs_info.cpp b/modules/botserv/info.cpp
index 6d74c308e..6d74c308e 100644
--- a/modules/commands/bs_info.cpp
+++ b/modules/botserv/info.cpp
diff --git a/modules/commands/bs_kick.cpp b/modules/botserv/kick.cpp
index 70ed5b2ad..70ed5b2ad 100644
--- a/modules/commands/bs_kick.cpp
+++ b/modules/botserv/kick.cpp
diff --git a/modules/pseudoclients/botserv/CMakeLists.txt b/modules/botserv/main/CMakeLists.txt
index 781f0ef1f..781f0ef1f 100644
--- a/modules/pseudoclients/botserv/CMakeLists.txt
+++ b/modules/botserv/main/CMakeLists.txt
diff --git a/modules/pseudoclients/botserv/botserv.cpp b/modules/botserv/main/botserv.cpp
index 0b51691fc..0b51691fc 100644
--- a/modules/pseudoclients/botserv/botserv.cpp
+++ b/modules/botserv/main/botserv.cpp
diff --git a/modules/commands/bs_set.cpp b/modules/botserv/set.cpp
index 6e2ae998f..6e2ae998f 100644
--- a/modules/commands/bs_set.cpp
+++ b/modules/botserv/set.cpp
diff --git a/modules/chanserv/CMakeLists.txt b/modules/chanserv/CMakeLists.txt
new file mode 100644
index 000000000..cd225a94d
--- /dev/null
+++ b/modules/chanserv/CMakeLists.txt
@@ -0,0 +1 @@
+build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/commands/cs_akick.cpp b/modules/chanserv/akick.cpp
index 8cd1f778a..8cd1f778a 100644
--- a/modules/commands/cs_akick.cpp
+++ b/modules/chanserv/akick.cpp
diff --git a/modules/commands/cs_ban.cpp b/modules/chanserv/ban.cpp
index f797eda0f..f797eda0f 100644
--- a/modules/commands/cs_ban.cpp
+++ b/modules/chanserv/ban.cpp
diff --git a/modules/commands/cs_clone.cpp b/modules/chanserv/clone.cpp
index 256446bd1..256446bd1 100644
--- a/modules/commands/cs_clone.cpp
+++ b/modules/chanserv/clone.cpp
diff --git a/modules/commands/cs_access.cpp b/modules/chanserv/cs_access.old
index f8ecc6c38..b363e9757 100644
--- a/modules/commands/cs_access.cpp
+++ b/modules/chanserv/cs_access.old
@@ -9,13 +9,12 @@
* Based on the original code of Services by Andy Church.
*/
-/* Dependencies: chanserv */
#include "module.h"
#include "modules/chanserv.h"
#include "modules/cs_access.h"
-#include "../pseudoclients/chanserv/chanaccess.h"
-#include "../pseudoclients/chanserv/chanaccesstype.h"
+#include "main/chanaccess.h"
+#include "main/chanaccesstype.h"
class AccessChanAccess : public ChanAccessImpl
{
diff --git a/modules/commands/cs_flags.cpp b/modules/chanserv/cs_flags.old
index 88cc501ac..9a29a491f 100644
--- a/modules/commands/cs_flags.cpp
+++ b/modules/chanserv/cs_flags.old
@@ -9,12 +9,10 @@
* Based on the original code of Services by Andy Church.
*/
-/* Dependencies: chanserv */
-
#include "module.h"
#include "modules/cs_access.h"
-#include "../pseudoclients/chanserv/chanaccess.h"
-#include "../pseudoclients/chanserv/chanaccesstype.h"
+#include "main/chanaccess.h"
+#include "main/chanaccesstype.h"
static std::map<Anope::string, char> defaultFlags;
diff --git a/modules/commands/cs_xop.cpp b/modules/chanserv/cs_xop.old
index 891ac77e7..eae8c73a6 100644
--- a/modules/commands/cs_xop.cpp
+++ b/modules/chanserv/cs_xop.old
@@ -9,12 +9,11 @@
* Based on the original code of Services by Andy Church.
*/
-/* Dependencies: chanserv */
#include "module.h"
#include "modules/cs_access.h"
-#include "../pseudoclients/chanserv/chanaccess.h"
-#include "../pseudoclients/chanserv/chanaccesstype.h"
+#include "main/chanaccess.h"
+#include "main/chanaccesstype.h"
namespace
{
diff --git a/modules/commands/cs_drop.cpp b/modules/chanserv/drop.cpp
index a1020bcab..a1020bcab 100644
--- a/modules/commands/cs_drop.cpp
+++ b/modules/chanserv/drop.cpp
diff --git a/modules/commands/cs_enforce.cpp b/modules/chanserv/enforce.cpp
index 10069d3f8..10069d3f8 100644
--- a/modules/commands/cs_enforce.cpp
+++ b/modules/chanserv/enforce.cpp
diff --git a/modules/commands/cs_entrymsg.cpp b/modules/chanserv/entrymsg.cpp
index 31253599e..31253599e 100644
--- a/modules/commands/cs_entrymsg.cpp
+++ b/modules/chanserv/entrymsg.cpp
diff --git a/modules/commands/cs_getkey.cpp b/modules/chanserv/getkey.cpp
index 31fe56ec5..31fe56ec5 100644
--- a/modules/commands/cs_getkey.cpp
+++ b/modules/chanserv/getkey.cpp
diff --git a/modules/commands/cs_info.cpp b/modules/chanserv/info.cpp
index 267aee66a..267aee66a 100644
--- a/modules/commands/cs_info.cpp
+++ b/modules/chanserv/info.cpp
diff --git a/modules/commands/cs_invite.cpp b/modules/chanserv/invite.cpp
index 8e6f94d6c..8e6f94d6c 100644
--- a/modules/commands/cs_invite.cpp
+++ b/modules/chanserv/invite.cpp
diff --git a/modules/commands/cs_kick.cpp b/modules/chanserv/kick.cpp
index 89536df7f..89536df7f 100644
--- a/modules/commands/cs_kick.cpp
+++ b/modules/chanserv/kick.cpp
diff --git a/modules/commands/cs_list.cpp b/modules/chanserv/list.cpp
index 5a4c58bff..5a4c58bff 100644
--- a/modules/commands/cs_list.cpp
+++ b/modules/chanserv/list.cpp
diff --git a/modules/commands/cs_log.cpp b/modules/chanserv/log.cpp
index 6a90115f5..6a90115f5 100644
--- a/modules/commands/cs_log.cpp
+++ b/modules/chanserv/log.cpp
diff --git a/modules/pseudoclients/chanserv/CMakeLists.txt b/modules/chanserv/main/CMakeLists.txt
index 781f0ef1f..781f0ef1f 100644
--- a/modules/pseudoclients/chanserv/CMakeLists.txt
+++ b/modules/chanserv/main/CMakeLists.txt
diff --git a/modules/pseudoclients/chanserv/chanaccess.cpp b/modules/chanserv/main/chanaccess.cpp
index 1601260c2..1601260c2 100644
--- a/modules/pseudoclients/chanserv/chanaccess.cpp
+++ b/modules/chanserv/main/chanaccess.cpp
diff --git a/modules/pseudoclients/chanserv/chanaccess.h b/modules/chanserv/main/chanaccess.h
index bb65f79c5..bb65f79c5 100644
--- a/modules/pseudoclients/chanserv/chanaccess.h
+++ b/modules/chanserv/main/chanaccess.h
diff --git a/modules/pseudoclients/chanserv/chanaccesstype.h b/modules/chanserv/main/chanaccesstype.h
index ca8dc1b79..ca8dc1b79 100644
--- a/modules/pseudoclients/chanserv/chanaccesstype.h
+++ b/modules/chanserv/main/chanaccesstype.h
diff --git a/modules/pseudoclients/chanserv/channel.cpp b/modules/chanserv/main/channel.cpp
index b24edcc0c..b24edcc0c 100644
--- a/modules/pseudoclients/chanserv/channel.cpp
+++ b/modules/chanserv/main/channel.cpp
diff --git a/modules/pseudoclients/chanserv/channel.h b/modules/chanserv/main/channel.h
index 86e42a8f9..86e42a8f9 100644
--- a/modules/pseudoclients/chanserv/channel.h
+++ b/modules/chanserv/main/channel.h
diff --git a/modules/pseudoclients/chanserv/channeltype.cpp b/modules/chanserv/main/channeltype.cpp
index 4143285a8..4143285a8 100644
--- a/modules/pseudoclients/chanserv/channeltype.cpp
+++ b/modules/chanserv/main/channeltype.cpp
diff --git a/modules/pseudoclients/chanserv/channeltype.h b/modules/chanserv/main/channeltype.h
index 7bc22a8f6..7bc22a8f6 100644
--- a/modules/pseudoclients/chanserv/channeltype.h
+++ b/modules/chanserv/main/channeltype.h
diff --git a/modules/pseudoclients/chanserv/chanserv.cpp b/modules/chanserv/main/chanserv.cpp
index 420051252..420051252 100644
--- a/modules/pseudoclients/chanserv/chanserv.cpp
+++ b/modules/chanserv/main/chanserv.cpp
diff --git a/modules/pseudoclients/chanserv/level.cpp b/modules/chanserv/main/level.cpp
index d31c98d64..d31c98d64 100644
--- a/modules/pseudoclients/chanserv/level.cpp
+++ b/modules/chanserv/main/level.cpp
diff --git a/modules/pseudoclients/chanserv/level.h b/modules/chanserv/main/level.h
index c9ffd0dfb..c9ffd0dfb 100644
--- a/modules/pseudoclients/chanserv/level.h
+++ b/modules/chanserv/main/level.h
diff --git a/modules/pseudoclients/chanserv/leveltype.h b/modules/chanserv/main/leveltype.h
index 12e4c132f..12e4c132f 100644
--- a/modules/pseudoclients/chanserv/leveltype.h
+++ b/modules/chanserv/main/leveltype.h
diff --git a/modules/pseudoclients/chanserv/mode.cpp b/modules/chanserv/main/mode.cpp
index 066e2cfd5..066e2cfd5 100644
--- a/modules/pseudoclients/chanserv/mode.cpp
+++ b/modules/chanserv/main/mode.cpp
diff --git a/modules/pseudoclients/chanserv/mode.h b/modules/chanserv/main/mode.h
index cd94e5ad1..cd94e5ad1 100644
--- a/modules/pseudoclients/chanserv/mode.h
+++ b/modules/chanserv/main/mode.h
diff --git a/modules/pseudoclients/chanserv/modetype.h b/modules/chanserv/main/modetype.h
index b30c0491f..b30c0491f 100644
--- a/modules/pseudoclients/chanserv/modetype.h
+++ b/modules/chanserv/main/modetype.h
diff --git a/modules/commands/cs_mode.cpp b/modules/chanserv/mode.cpp
index 121179a58..121179a58 100644
--- a/modules/commands/cs_mode.cpp
+++ b/modules/chanserv/mode.cpp
diff --git a/modules/commands/cs_register.cpp b/modules/chanserv/register.cpp
index eb2832074..eb2832074 100644
--- a/modules/commands/cs_register.cpp
+++ b/modules/chanserv/register.cpp
diff --git a/modules/commands/cs_seen.cpp b/modules/chanserv/seen.cpp
index b97ffe238..b97ffe238 100644
--- a/modules/commands/cs_seen.cpp
+++ b/modules/chanserv/seen.cpp
diff --git a/modules/commands/cs_set.cpp b/modules/chanserv/set.cpp
index 06c996f52..06c996f52 100644
--- a/modules/commands/cs_set.cpp
+++ b/modules/chanserv/set.cpp
diff --git a/modules/commands/cs_set_misc.cpp b/modules/chanserv/set_misc.cpp
index 7af347087..7af347087 100644
--- a/modules/commands/cs_set_misc.cpp
+++ b/modules/chanserv/set_misc.cpp
diff --git a/modules/commands/cs_status.cpp b/modules/chanserv/status.cpp
index 35676fa53..35676fa53 100644
--- a/modules/commands/cs_status.cpp
+++ b/modules/chanserv/status.cpp
diff --git a/modules/cs_statusupdate.cpp b/modules/chanserv/statusupdate.cpp
index e2e37c60d..e2e37c60d 100644
--- a/modules/cs_statusupdate.cpp
+++ b/modules/chanserv/statusupdate.cpp
diff --git a/modules/commands/cs_suspend.cpp b/modules/chanserv/suspend.cpp
index 73a034192..73a034192 100644
--- a/modules/commands/cs_suspend.cpp
+++ b/modules/chanserv/suspend.cpp
diff --git a/modules/commands/cs_sync.cpp b/modules/chanserv/sync.cpp
index 37b56798c..37b56798c 100644
--- a/modules/commands/cs_sync.cpp
+++ b/modules/chanserv/sync.cpp
diff --git a/modules/commands/cs_topic.cpp b/modules/chanserv/topic.cpp
index a132900a6..a132900a6 100644
--- a/modules/commands/cs_topic.cpp
+++ b/modules/chanserv/topic.cpp
diff --git a/modules/commands/cs_unban.cpp b/modules/chanserv/unban.cpp
index 73391ac30..73391ac30 100644
--- a/modules/commands/cs_unban.cpp
+++ b/modules/chanserv/unban.cpp
diff --git a/modules/commands/cs_updown.cpp b/modules/chanserv/updown.cpp
index 383cc6e17..383cc6e17 100644
--- a/modules/commands/cs_updown.cpp
+++ b/modules/chanserv/updown.cpp
diff --git a/modules/database/CMakeLists.txt b/modules/database/CMakeLists.txt
new file mode 100644
index 000000000..cd225a94d
--- /dev/null
+++ b/modules/database/CMakeLists.txt
@@ -0,0 +1 @@
+build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/database/db_flatfile.cpp b/modules/database/flatfile.cpp
index 122134960..122134960 100644
--- a/modules/database/db_flatfile.cpp
+++ b/modules/database/flatfile.cpp
diff --git a/modules/database/db_old.cpp b/modules/database/old.cpp
index 3d9b92922..3d9b92922 100644
--- a/modules/database/db_old.cpp
+++ b/modules/database/old.cpp
diff --git a/modules/database/db_redis.cpp b/modules/database/redis.cpp
index 72f25a16e..72f25a16e 100644
--- a/modules/database/db_redis.cpp
+++ b/modules/database/redis.cpp
diff --git a/modules/database/db_sql.cpp b/modules/database/sql.cpp
index fed0050e4..fed0050e4 100644
--- a/modules/database/db_sql.cpp
+++ b/modules/database/sql.cpp
diff --git a/modules/m_dns.cpp b/modules/dns.cpp
index 1ea70a6ed..1ea70a6ed 100644
--- a/modules/m_dns.cpp
+++ b/modules/dns.cpp
diff --git a/modules/m_dnsbl.cpp b/modules/dnsbl.cpp
index 49739a80c..49739a80c 100644
--- a/modules/m_dnsbl.cpp
+++ b/modules/dnsbl.cpp
diff --git a/modules/encryption/CMakeLists.txt b/modules/encryption/CMakeLists.txt
new file mode 100644
index 000000000..cd225a94d
--- /dev/null
+++ b/modules/encryption/CMakeLists.txt
@@ -0,0 +1 @@
+build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/encryption/enc_bcrypt.cpp b/modules/encryption/bcrypt.cpp
index 74d729491..74d729491 100644
--- a/modules/encryption/enc_bcrypt.cpp
+++ b/modules/encryption/bcrypt.cpp
diff --git a/modules/encryption/enc_md5.cpp b/modules/encryption/md5.cpp
index a92f5a4f9..a92f5a4f9 100644
--- a/modules/encryption/enc_md5.cpp
+++ b/modules/encryption/md5.cpp
diff --git a/modules/encryption/enc_none.cpp b/modules/encryption/none.cpp
index 8164534eb..8164534eb 100644
--- a/modules/encryption/enc_none.cpp
+++ b/modules/encryption/none.cpp
diff --git a/modules/encryption/enc_old.cpp b/modules/encryption/old.cpp
index 4e3e70f7d..4e3e70f7d 100644
--- a/modules/encryption/enc_old.cpp
+++ b/modules/encryption/old.cpp
diff --git a/modules/encryption/enc_sha1.cpp b/modules/encryption/sha1.cpp
index a99bc834e..a99bc834e 100644
--- a/modules/encryption/enc_sha1.cpp
+++ b/modules/encryption/sha1.cpp
diff --git a/modules/encryption/enc_sha256.cpp b/modules/encryption/sha256.cpp
index a138b3756..a138b3756 100644
--- a/modules/encryption/enc_sha256.cpp
+++ b/modules/encryption/sha256.cpp
diff --git a/modules/extra/m_ldap.cpp b/modules/extra/ldap.cpp
index 71c31b9ac..71c31b9ac 100644
--- a/modules/extra/m_ldap.cpp
+++ b/modules/extra/ldap.cpp
diff --git a/modules/extra/m_ldap_authentication.cpp b/modules/extra/ldap_authentication.cpp
index dd63fd3fb..dd63fd3fb 100644
--- a/modules/extra/m_ldap_authentication.cpp
+++ b/modules/extra/ldap_authentication.cpp
diff --git a/modules/extra/m_ldap_oper.cpp b/modules/extra/ldap_oper.cpp
index 31653544e..31653544e 100644
--- a/modules/extra/m_ldap_oper.cpp
+++ b/modules/extra/ldap_oper.cpp
diff --git a/modules/extra/m_mysql.cpp b/modules/extra/mysql.cpp
index 843a2ba0a..843a2ba0a 100644
--- a/modules/extra/m_mysql.cpp
+++ b/modules/extra/mysql.cpp
diff --git a/modules/extra/m_sasl_dh-aes.cpp b/modules/extra/sasl_dh-aes.cpp
index dd06d118b..dd06d118b 100644
--- a/modules/extra/m_sasl_dh-aes.cpp
+++ b/modules/extra/sasl_dh-aes.cpp
diff --git a/modules/extra/m_sasl_dh-blowfish.cpp b/modules/extra/sasl_dh-blowfish.cpp
index f6e4b27b3..f6e4b27b3 100644
--- a/modules/extra/m_sasl_dh-blowfish.cpp
+++ b/modules/extra/sasl_dh-blowfish.cpp
diff --git a/modules/extra/m_sql_authentication.cpp b/modules/extra/sql_authentication.cpp
index 1c2dbe729..1c2dbe729 100644
--- a/modules/extra/m_sql_authentication.cpp
+++ b/modules/extra/sql_authentication.cpp
diff --git a/modules/extra/m_sql_log.cpp b/modules/extra/sql_log.cpp
index 6922d168e..6922d168e 100644
--- a/modules/extra/m_sql_log.cpp
+++ b/modules/extra/sql_log.cpp
diff --git a/modules/extra/m_sql_oper.cpp b/modules/extra/sql_oper.cpp
index 6bddbf0eb..6bddbf0eb 100644
--- a/modules/extra/m_sql_oper.cpp
+++ b/modules/extra/sql_oper.cpp
diff --git a/modules/extra/m_sqlite.cpp b/modules/extra/sqlite.cpp
index 9370a0d77..9370a0d77 100644
--- a/modules/extra/m_sqlite.cpp
+++ b/modules/extra/sqlite.cpp
diff --git a/modules/extra/m_ssl_gnutls.cpp b/modules/extra/ssl_gnutls.cpp
index 93a56f03a..93a56f03a 100644
--- a/modules/extra/m_ssl_gnutls.cpp
+++ b/modules/extra/ssl_gnutls.cpp
diff --git a/modules/extra/m_ssl_openssl.cpp b/modules/extra/ssl_openssl.cpp
index c5e2feefc..c5e2feefc 100644
--- a/modules/extra/m_ssl_openssl.cpp
+++ b/modules/extra/ssl_openssl.cpp
diff --git a/modules/extra/stats/m_chanstats.cpp b/modules/extra/stats/chanstats.cpp
index 687c077b5..687c077b5 100644
--- a/modules/extra/stats/m_chanstats.cpp
+++ b/modules/extra/stats/chanstats.cpp
diff --git a/modules/global/CMakeLists.txt b/modules/global/CMakeLists.txt
new file mode 100644
index 000000000..cd225a94d
--- /dev/null
+++ b/modules/global/CMakeLists.txt
@@ -0,0 +1 @@
+build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/commands/gl_global.cpp b/modules/global/global.cpp
index d6106b2be..d6106b2be 100644
--- a/modules/commands/gl_global.cpp
+++ b/modules/global/global.cpp
diff --git a/modules/pseudoclients/memoserv/CMakeLists.txt b/modules/global/main/CMakeLists.txt
index 781f0ef1f..781f0ef1f 100644
--- a/modules/pseudoclients/memoserv/CMakeLists.txt
+++ b/modules/global/main/CMakeLists.txt
diff --git a/modules/pseudoclients/global.cpp b/modules/global/main/global.cpp
index f31605acb..f31605acb 100644
--- a/modules/pseudoclients/global.cpp
+++ b/modules/global/main/global.cpp
diff --git a/modules/commands/greet.cpp b/modules/greet.cpp
index ebc8c1612..ebc8c1612 100644
--- a/modules/commands/greet.cpp
+++ b/modules/greet.cpp
diff --git a/modules/commands/help.cpp b/modules/help.cpp
index debb25837..debb25837 100644
--- a/modules/commands/help.cpp
+++ b/modules/help.cpp
diff --git a/modules/m_helpchan.cpp b/modules/helpchan.cpp
index 3897b2b5a..3897b2b5a 100644
--- a/modules/m_helpchan.cpp
+++ b/modules/helpchan.cpp
diff --git a/modules/hostserv/CMakeLists.txt b/modules/hostserv/CMakeLists.txt
new file mode 100644
index 000000000..cd225a94d
--- /dev/null
+++ b/modules/hostserv/CMakeLists.txt
@@ -0,0 +1 @@
+build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/commands/hs_del.cpp b/modules/hostserv/del.cpp
index b45c10a61..b45c10a61 100644
--- a/modules/commands/hs_del.cpp
+++ b/modules/hostserv/del.cpp
diff --git a/modules/commands/hs_group.cpp b/modules/hostserv/group.cpp
index c3971fdea..c3971fdea 100644
--- a/modules/commands/hs_group.cpp
+++ b/modules/hostserv/group.cpp
diff --git a/modules/commands/hs_list.cpp b/modules/hostserv/list.cpp
index 738f9f1bd..738f9f1bd 100644
--- a/modules/commands/hs_list.cpp
+++ b/modules/hostserv/list.cpp
diff --git a/modules/pseudoclients/nickserv/CMakeLists.txt b/modules/hostserv/main/CMakeLists.txt
index 781f0ef1f..781f0ef1f 100644
--- a/modules/pseudoclients/nickserv/CMakeLists.txt
+++ b/modules/hostserv/main/CMakeLists.txt
diff --git a/modules/pseudoclients/hostserv.cpp b/modules/hostserv/main/hostserv.cpp
index 285ea893b..285ea893b 100644
--- a/modules/pseudoclients/hostserv.cpp
+++ b/modules/hostserv/main/hostserv.cpp
diff --git a/modules/commands/hs_off.cpp b/modules/hostserv/off.cpp
index 8f3c7e3da..8f3c7e3da 100644
--- a/modules/commands/hs_off.cpp
+++ b/modules/hostserv/off.cpp
diff --git a/modules/commands/hs_on.cpp b/modules/hostserv/on.cpp
index 409d56ac5..409d56ac5 100644
--- a/modules/commands/hs_on.cpp
+++ b/modules/hostserv/on.cpp
diff --git a/modules/commands/hs_request.cpp b/modules/hostserv/request.cpp
index 8a064a84c..8a064a84c 100644
--- a/modules/commands/hs_request.cpp
+++ b/modules/hostserv/request.cpp
diff --git a/modules/commands/hs_set.cpp b/modules/hostserv/set.cpp
index a86afead4..a86afead4 100644
--- a/modules/commands/hs_set.cpp
+++ b/modules/hostserv/set.cpp
diff --git a/modules/m_httpd.cpp b/modules/httpd.cpp
index 17f80d376..17f80d376 100644
--- a/modules/m_httpd.cpp
+++ b/modules/httpd.cpp
diff --git a/modules/memoserv/CMakeLists.txt b/modules/memoserv/CMakeLists.txt
new file mode 100644
index 000000000..cd225a94d
--- /dev/null
+++ b/modules/memoserv/CMakeLists.txt
@@ -0,0 +1 @@
+build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/commands/ms_cancel.cpp b/modules/memoserv/cancel.cpp
index e3da82581..e3da82581 100644
--- a/modules/commands/ms_cancel.cpp
+++ b/modules/memoserv/cancel.cpp
diff --git a/modules/commands/ms_check.cpp b/modules/memoserv/check.cpp
index 75a8ee3d0..75a8ee3d0 100644
--- a/modules/commands/ms_check.cpp
+++ b/modules/memoserv/check.cpp
diff --git a/modules/commands/ms_del.cpp b/modules/memoserv/del.cpp
index 79af11adc..79af11adc 100644
--- a/modules/commands/ms_del.cpp
+++ b/modules/memoserv/del.cpp
diff --git a/modules/commands/ms_ignore.cpp b/modules/memoserv/ignore.cpp
index c454444ea..c454444ea 100644
--- a/modules/commands/ms_ignore.cpp
+++ b/modules/memoserv/ignore.cpp
diff --git a/modules/commands/ms_info.cpp b/modules/memoserv/info.cpp
index d9bee1cb5..d9bee1cb5 100644
--- a/modules/commands/ms_info.cpp
+++ b/modules/memoserv/info.cpp
diff --git a/modules/commands/ms_list.cpp b/modules/memoserv/list.cpp
index 8215315b0..8215315b0 100644
--- a/modules/commands/ms_list.cpp
+++ b/modules/memoserv/list.cpp
diff --git a/modules/memoserv/main/CMakeLists.txt b/modules/memoserv/main/CMakeLists.txt
new file mode 100644
index 000000000..781f0ef1f
--- /dev/null
+++ b/modules/memoserv/main/CMakeLists.txt
@@ -0,0 +1 @@
+build_subdir(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/pseudoclients/memoserv/ignore.cpp b/modules/memoserv/main/ignore.cpp
index e85011c00..e85011c00 100644
--- a/modules/pseudoclients/memoserv/ignore.cpp
+++ b/modules/memoserv/main/ignore.cpp
diff --git a/modules/pseudoclients/memoserv/ignore.h b/modules/memoserv/main/ignore.h
index c98b44adf..c98b44adf 100644
--- a/modules/pseudoclients/memoserv/ignore.h
+++ b/modules/memoserv/main/ignore.h
diff --git a/modules/pseudoclients/memoserv/ignoretype.cpp b/modules/memoserv/main/ignoretype.cpp
index 375f83272..375f83272 100644
--- a/modules/pseudoclients/memoserv/ignoretype.cpp
+++ b/modules/memoserv/main/ignoretype.cpp
diff --git a/modules/pseudoclients/memoserv/ignoretype.h b/modules/memoserv/main/ignoretype.h
index 5c656f9b8..5c656f9b8 100644
--- a/modules/pseudoclients/memoserv/ignoretype.h
+++ b/modules/memoserv/main/ignoretype.h
diff --git a/modules/pseudoclients/memoserv/memo.cpp b/modules/memoserv/main/memo.cpp
index bfae64284..bfae64284 100644
--- a/modules/pseudoclients/memoserv/memo.cpp
+++ b/modules/memoserv/main/memo.cpp
diff --git a/modules/pseudoclients/memoserv/memo.h b/modules/memoserv/main/memo.h
index 1a230c1e9..1a230c1e9 100644
--- a/modules/pseudoclients/memoserv/memo.h
+++ b/modules/memoserv/main/memo.h
diff --git a/modules/pseudoclients/memoserv/memoinfo.cpp b/modules/memoserv/main/memoinfo.cpp
index 45d95533e..45d95533e 100644
--- a/modules/pseudoclients/memoserv/memoinfo.cpp
+++ b/modules/memoserv/main/memoinfo.cpp
diff --git a/modules/pseudoclients/memoserv/memoinfo.h b/modules/memoserv/main/memoinfo.h
index 22ea0734f..22ea0734f 100644
--- a/modules/pseudoclients/memoserv/memoinfo.h
+++ b/modules/memoserv/main/memoinfo.h
diff --git a/modules/pseudoclients/memoserv/memoinfotype.cpp b/modules/memoserv/main/memoinfotype.cpp
index 7eb3af72c..7eb3af72c 100644
--- a/modules/pseudoclients/memoserv/memoinfotype.cpp
+++ b/modules/memoserv/main/memoinfotype.cpp
diff --git a/modules/pseudoclients/memoserv/memoinfotype.h b/modules/memoserv/main/memoinfotype.h
index 724a898b5..724a898b5 100644
--- a/modules/pseudoclients/memoserv/memoinfotype.h
+++ b/modules/memoserv/main/memoinfotype.h
diff --git a/modules/pseudoclients/memoserv/memoserv.cpp b/modules/memoserv/main/memoserv.cpp
index a52ee746c..a52ee746c 100644
--- a/modules/pseudoclients/memoserv/memoserv.cpp
+++ b/modules/memoserv/main/memoserv.cpp
diff --git a/modules/pseudoclients/memoserv/memotype.cpp b/modules/memoserv/main/memotype.cpp
index c9144bbaa..c9144bbaa 100644
--- a/modules/pseudoclients/memoserv/memotype.cpp
+++ b/modules/memoserv/main/memotype.cpp
diff --git a/modules/pseudoclients/memoserv/memotype.h b/modules/memoserv/main/memotype.h
index 16ac6f082..16ac6f082 100644
--- a/modules/pseudoclients/memoserv/memotype.h
+++ b/modules/memoserv/main/memotype.h
diff --git a/modules/commands/ms_read.cpp b/modules/memoserv/read.cpp
index 687843124..687843124 100644
--- a/modules/commands/ms_read.cpp
+++ b/modules/memoserv/read.cpp
diff --git a/modules/commands/ms_rsend.cpp b/modules/memoserv/rsend.cpp
index 16f6105fa..16f6105fa 100644
--- a/modules/commands/ms_rsend.cpp
+++ b/modules/memoserv/rsend.cpp
diff --git a/modules/commands/ms_send.cpp b/modules/memoserv/send.cpp
index 0d26b8684..0d26b8684 100644
--- a/modules/commands/ms_send.cpp
+++ b/modules/memoserv/send.cpp
diff --git a/modules/commands/ms_sendall.cpp b/modules/memoserv/sendall.cpp
index 7c5365c4d..7c5365c4d 100644
--- a/modules/commands/ms_sendall.cpp
+++ b/modules/memoserv/sendall.cpp
diff --git a/modules/commands/ms_set.cpp b/modules/memoserv/set.cpp
index c924d0ea0..c924d0ea0 100644
--- a/modules/commands/ms_set.cpp
+++ b/modules/memoserv/set.cpp
diff --git a/modules/commands/ms_staff.cpp b/modules/memoserv/staff.cpp
index f563fd9ea..f563fd9ea 100644
--- a/modules/commands/ms_staff.cpp
+++ b/modules/memoserv/staff.cpp
diff --git a/modules/nickserv/CMakeLists.txt b/modules/nickserv/CMakeLists.txt
new file mode 100644
index 000000000..cd225a94d
--- /dev/null
+++ b/modules/nickserv/CMakeLists.txt
@@ -0,0 +1 @@
+build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/commands/ns_access.cpp b/modules/nickserv/access.cpp
index ba2116ac9..ba2116ac9 100644
--- a/modules/commands/ns_access.cpp
+++ b/modules/nickserv/access.cpp
diff --git a/modules/commands/ns_ajoin.cpp b/modules/nickserv/ajoin.cpp
index 135beb403..135beb403 100644
--- a/modules/commands/ns_ajoin.cpp
+++ b/modules/nickserv/ajoin.cpp
diff --git a/modules/commands/ns_alist.cpp b/modules/nickserv/alist.cpp
index e4aaff38b..e4aaff38b 100644
--- a/modules/commands/ns_alist.cpp
+++ b/modules/nickserv/alist.cpp
diff --git a/modules/commands/ns_cert.cpp b/modules/nickserv/cert.cpp
index fc87f8cb0..fc87f8cb0 100644
--- a/modules/commands/ns_cert.cpp
+++ b/modules/nickserv/cert.cpp
diff --git a/modules/commands/ns_drop.cpp b/modules/nickserv/drop.cpp
index 62ee41970..62ee41970 100644
--- a/modules/commands/ns_drop.cpp
+++ b/modules/nickserv/drop.cpp
diff --git a/modules/commands/ns_getemail.cpp b/modules/nickserv/getemail.cpp
index 7b94efbea..7b94efbea 100644
--- a/modules/commands/ns_getemail.cpp
+++ b/modules/nickserv/getemail.cpp
diff --git a/modules/commands/ns_getpass.cpp b/modules/nickserv/getpass.cpp
index a526986ec..a526986ec 100644
--- a/modules/commands/ns_getpass.cpp
+++ b/modules/nickserv/getpass.cpp
diff --git a/modules/commands/ns_group.cpp b/modules/nickserv/group.cpp
index 9a9b933f4..9a9b933f4 100644
--- a/modules/commands/ns_group.cpp
+++ b/modules/nickserv/group.cpp
diff --git a/modules/commands/ns_identify.cpp b/modules/nickserv/identify.cpp
index 122378d8a..122378d8a 100644
--- a/modules/commands/ns_identify.cpp
+++ b/modules/nickserv/identify.cpp
diff --git a/modules/commands/ns_info.cpp b/modules/nickserv/info.cpp
index 7091e53fd..7091e53fd 100644
--- a/modules/commands/ns_info.cpp
+++ b/modules/nickserv/info.cpp
diff --git a/modules/commands/ns_list.cpp b/modules/nickserv/list.cpp
index 2820326d2..2820326d2 100644
--- a/modules/commands/ns_list.cpp
+++ b/modules/nickserv/list.cpp
diff --git a/modules/commands/ns_logout.cpp b/modules/nickserv/logout.cpp
index 9bcb543fc..9bcb543fc 100644
--- a/modules/commands/ns_logout.cpp
+++ b/modules/nickserv/logout.cpp
diff --git a/modules/nickserv/main/CMakeLists.txt b/modules/nickserv/main/CMakeLists.txt
new file mode 100644
index 000000000..781f0ef1f
--- /dev/null
+++ b/modules/nickserv/main/CMakeLists.txt
@@ -0,0 +1 @@
+build_subdir(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/pseudoclients/nickserv/account.cpp b/modules/nickserv/main/account.cpp
index 85adf1a33..85adf1a33 100644
--- a/modules/pseudoclients/nickserv/account.cpp
+++ b/modules/nickserv/main/account.cpp
diff --git a/modules/pseudoclients/nickserv/account.h b/modules/nickserv/main/account.h
index 584548563..584548563 100644
--- a/modules/pseudoclients/nickserv/account.h
+++ b/modules/nickserv/main/account.h
diff --git a/modules/pseudoclients/nickserv/accounttype.cpp b/modules/nickserv/main/accounttype.cpp
index 3dad436b4..3dad436b4 100644
--- a/modules/pseudoclients/nickserv/accounttype.cpp
+++ b/modules/nickserv/main/accounttype.cpp
diff --git a/modules/pseudoclients/nickserv/accounttype.h b/modules/nickserv/main/accounttype.h
index 792629877..792629877 100644
--- a/modules/pseudoclients/nickserv/accounttype.h
+++ b/modules/nickserv/main/accounttype.h
diff --git a/modules/pseudoclients/nickserv/identifyrequest.cpp b/modules/nickserv/main/identifyrequest.cpp
index 4fc2f9989..4fc2f9989 100644
--- a/modules/pseudoclients/nickserv/identifyrequest.cpp
+++ b/modules/nickserv/main/identifyrequest.cpp
diff --git a/modules/pseudoclients/nickserv/identifyrequest.h b/modules/nickserv/main/identifyrequest.h
index e74d3129e..e74d3129e 100644
--- a/modules/pseudoclients/nickserv/identifyrequest.h
+++ b/modules/nickserv/main/identifyrequest.h
diff --git a/modules/pseudoclients/nickserv/mode.cpp b/modules/nickserv/main/mode.cpp
index 61fe551c1..61fe551c1 100644
--- a/modules/pseudoclients/nickserv/mode.cpp
+++ b/modules/nickserv/main/mode.cpp
diff --git a/modules/pseudoclients/nickserv/mode.h b/modules/nickserv/main/mode.h
index 9fc4c331e..9fc4c331e 100644
--- a/modules/pseudoclients/nickserv/mode.h
+++ b/modules/nickserv/main/mode.h
diff --git a/modules/pseudoclients/nickserv/modetype.h b/modules/nickserv/main/modetype.h
index 0c4aefecc..0c4aefecc 100644
--- a/modules/pseudoclients/nickserv/modetype.h
+++ b/modules/nickserv/main/modetype.h
diff --git a/modules/pseudoclients/nickserv/nick.cpp b/modules/nickserv/main/nick.cpp
index 0ac55ff93..0ac55ff93 100644
--- a/modules/pseudoclients/nickserv/nick.cpp
+++ b/modules/nickserv/main/nick.cpp
diff --git a/modules/pseudoclients/nickserv/nick.h b/modules/nickserv/main/nick.h
index 043d7c052..043d7c052 100644
--- a/modules/pseudoclients/nickserv/nick.h
+++ b/modules/nickserv/main/nick.h
diff --git a/modules/pseudoclients/nickserv/nickserv.cpp b/modules/nickserv/main/nickserv.cpp
index 26f1457cc..26f1457cc 100644
--- a/modules/pseudoclients/nickserv/nickserv.cpp
+++ b/modules/nickserv/main/nickserv.cpp
diff --git a/modules/pseudoclients/nickserv/nicktype.cpp b/modules/nickserv/main/nicktype.cpp
index 9607aaa2f..9607aaa2f 100644
--- a/modules/pseudoclients/nickserv/nicktype.cpp
+++ b/modules/nickserv/main/nicktype.cpp
diff --git a/modules/pseudoclients/nickserv/nicktype.h b/modules/nickserv/main/nicktype.h
index d205845e9..d205845e9 100644
--- a/modules/pseudoclients/nickserv/nicktype.h
+++ b/modules/nickserv/main/nicktype.h
diff --git a/modules/ns_maxemail.cpp b/modules/nickserv/maxemail.cpp
index 38054f819..38054f819 100644
--- a/modules/ns_maxemail.cpp
+++ b/modules/nickserv/maxemail.cpp
diff --git a/modules/commands/ns_recover.cpp b/modules/nickserv/recover.cpp
index 65033bab9..65033bab9 100644
--- a/modules/commands/ns_recover.cpp
+++ b/modules/nickserv/recover.cpp
diff --git a/modules/commands/ns_register.cpp b/modules/nickserv/register.cpp
index c7e6e5af2..c7e6e5af2 100644
--- a/modules/commands/ns_register.cpp
+++ b/modules/nickserv/register.cpp
diff --git a/modules/commands/ns_resetpass.cpp b/modules/nickserv/resetpass.cpp
index 3be5a4c06..3be5a4c06 100644
--- a/modules/commands/ns_resetpass.cpp
+++ b/modules/nickserv/resetpass.cpp
diff --git a/modules/commands/ns_set.cpp b/modules/nickserv/set.cpp
index a75386743..a75386743 100644
--- a/modules/commands/ns_set.cpp
+++ b/modules/nickserv/set.cpp
diff --git a/modules/commands/ns_set_misc.cpp b/modules/nickserv/set_misc.cpp
index 5d03797b1..5d03797b1 100644
--- a/modules/commands/ns_set_misc.cpp
+++ b/modules/nickserv/set_misc.cpp
diff --git a/modules/commands/ns_status.cpp b/modules/nickserv/status.cpp
index 7dc751d8b..7dc751d8b 100644
--- a/modules/commands/ns_status.cpp
+++ b/modules/nickserv/status.cpp
diff --git a/modules/commands/ns_suspend.cpp b/modules/nickserv/suspend.cpp
index 2859eacc1..2859eacc1 100644
--- a/modules/commands/ns_suspend.cpp
+++ b/modules/nickserv/suspend.cpp
diff --git a/modules/commands/ns_update.cpp b/modules/nickserv/update.cpp
index 0022f389d..0022f389d 100644
--- a/modules/commands/ns_update.cpp
+++ b/modules/nickserv/update.cpp
diff --git a/modules/operserv/CMakeLists.txt b/modules/operserv/CMakeLists.txt
new file mode 100644
index 000000000..cd225a94d
--- /dev/null
+++ b/modules/operserv/CMakeLists.txt
@@ -0,0 +1 @@
+build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/commands/os_akill.cpp b/modules/operserv/akill.cpp
index 7f366e0c9..7f366e0c9 100644
--- a/modules/commands/os_akill.cpp
+++ b/modules/operserv/akill.cpp
diff --git a/modules/commands/os_chankill.cpp b/modules/operserv/chankill.cpp
index 8d3773e9d..8d3773e9d 100644
--- a/modules/commands/os_chankill.cpp
+++ b/modules/operserv/chankill.cpp
diff --git a/modules/commands/os_config.cpp b/modules/operserv/config.cpp
index 257f8fee4..257f8fee4 100644
--- a/modules/commands/os_config.cpp
+++ b/modules/operserv/config.cpp
diff --git a/modules/commands/os_defcon.cpp b/modules/operserv/defcon.cpp
index 804b66c27..804b66c27 100644
--- a/modules/commands/os_defcon.cpp
+++ b/modules/operserv/defcon.cpp
diff --git a/modules/commands/os_dns.cpp b/modules/operserv/dns.cpp
index a231a1e74..a231a1e74 100644
--- a/modules/commands/os_dns.cpp
+++ b/modules/operserv/dns.cpp
diff --git a/modules/commands/os_forbid.cpp b/modules/operserv/forbid.cpp
index 0a7b1c209..0a7b1c209 100644
--- a/modules/commands/os_forbid.cpp
+++ b/modules/operserv/forbid.cpp
diff --git a/modules/commands/os_ignore.cpp b/modules/operserv/ignore.cpp
index d9563cc29..d9563cc29 100644
--- a/modules/commands/os_ignore.cpp
+++ b/modules/operserv/ignore.cpp
diff --git a/modules/commands/os_info.cpp b/modules/operserv/info.cpp
index 7b292d4b2..7b292d4b2 100644
--- a/modules/commands/os_info.cpp
+++ b/modules/operserv/info.cpp
diff --git a/modules/commands/os_jupe.cpp b/modules/operserv/jupe.cpp
index e2dd30b3a..e2dd30b3a 100644
--- a/modules/commands/os_jupe.cpp
+++ b/modules/operserv/jupe.cpp
diff --git a/modules/commands/os_kick.cpp b/modules/operserv/kick.cpp
index d97e21602..d97e21602 100644
--- a/modules/commands/os_kick.cpp
+++ b/modules/operserv/kick.cpp
diff --git a/modules/commands/os_kill.cpp b/modules/operserv/kill.cpp
index ef6f11ebe..ef6f11ebe 100644
--- a/modules/commands/os_kill.cpp
+++ b/modules/operserv/kill.cpp
diff --git a/modules/commands/os_list.cpp b/modules/operserv/list.cpp
index ed825f373..ed825f373 100644
--- a/modules/commands/os_list.cpp
+++ b/modules/operserv/list.cpp
diff --git a/modules/commands/os_login.cpp b/modules/operserv/login.cpp
index 650c48e3d..650c48e3d 100644
--- a/modules/commands/os_login.cpp
+++ b/modules/operserv/login.cpp
diff --git a/modules/commands/os_logsearch.cpp b/modules/operserv/logsearch.cpp
index 0fa425aba..0fa425aba 100644
--- a/modules/commands/os_logsearch.cpp
+++ b/modules/operserv/logsearch.cpp
diff --git a/modules/operserv/main/CMakeLists.txt b/modules/operserv/main/CMakeLists.txt
new file mode 100644
index 000000000..781f0ef1f
--- /dev/null
+++ b/modules/operserv/main/CMakeLists.txt
@@ -0,0 +1 @@
+build_subdir(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/pseudoclients/operserv.cpp b/modules/operserv/main/operserv.cpp
index 0a4f1b692..0a4f1b692 100644
--- a/modules/pseudoclients/operserv.cpp
+++ b/modules/operserv/main/operserv.cpp
diff --git a/modules/commands/os_mode.cpp b/modules/operserv/mode.cpp
index 30e1d502b..30e1d502b 100644
--- a/modules/commands/os_mode.cpp
+++ b/modules/operserv/mode.cpp
diff --git a/modules/commands/os_modinfo.cpp b/modules/operserv/modinfo.cpp
index f3c6db00f..f3c6db00f 100644
--- a/modules/commands/os_modinfo.cpp
+++ b/modules/operserv/modinfo.cpp
diff --git a/modules/commands/os_module.cpp b/modules/operserv/module.cpp
index 14bc897e3..14bc897e3 100644
--- a/modules/commands/os_module.cpp
+++ b/modules/operserv/module.cpp
diff --git a/modules/commands/os_news.cpp b/modules/operserv/news.cpp
index 03a1e3a57..03a1e3a57 100644
--- a/modules/commands/os_news.cpp
+++ b/modules/operserv/news.cpp
diff --git a/modules/commands/os_noop.cpp b/modules/operserv/noop.cpp
index a12bef6a2..a12bef6a2 100644
--- a/modules/commands/os_noop.cpp
+++ b/modules/operserv/noop.cpp
diff --git a/modules/commands/os_oline.cpp b/modules/operserv/oline.cpp
index 34c13a4a3..34c13a4a3 100644
--- a/modules/commands/os_oline.cpp
+++ b/modules/operserv/oline.cpp
diff --git a/modules/commands/os_oper.cpp b/modules/operserv/oper.cpp
index 923137013..923137013 100644
--- a/modules/commands/os_oper.cpp
+++ b/modules/operserv/oper.cpp
diff --git a/modules/commands/os_reload.cpp b/modules/operserv/reload.cpp
index 217194e18..217194e18 100644
--- a/modules/commands/os_reload.cpp
+++ b/modules/operserv/reload.cpp
diff --git a/modules/commands/os_session.cpp b/modules/operserv/session.cpp
index 997914360..997914360 100644
--- a/modules/commands/os_session.cpp
+++ b/modules/operserv/session.cpp
diff --git a/modules/commands/os_set.cpp b/modules/operserv/set.cpp
index 45515fa4b..45515fa4b 100644
--- a/modules/commands/os_set.cpp
+++ b/modules/operserv/set.cpp
diff --git a/modules/commands/os_shutdown.cpp b/modules/operserv/shutdown.cpp
index 642be5d84..642be5d84 100644
--- a/modules/commands/os_shutdown.cpp
+++ b/modules/operserv/shutdown.cpp
diff --git a/modules/commands/os_stats.cpp b/modules/operserv/stats.cpp
index 6e74303ce..6e74303ce 100644
--- a/modules/commands/os_stats.cpp
+++ b/modules/operserv/stats.cpp
diff --git a/modules/commands/os_svs.cpp b/modules/operserv/svs.cpp
index 35c3136a8..35c3136a8 100644
--- a/modules/commands/os_svs.cpp
+++ b/modules/operserv/svs.cpp
diff --git a/modules/commands/os_sxline.cpp b/modules/operserv/sxline.cpp
index 3465faae7..3465faae7 100644
--- a/modules/commands/os_sxline.cpp
+++ b/modules/operserv/sxline.cpp
diff --git a/modules/commands/os_update.cpp b/modules/operserv/update.cpp
index 8ff39fb69..8ff39fb69 100644
--- a/modules/commands/os_update.cpp
+++ b/modules/operserv/update.cpp
diff --git a/modules/protocol/CMakeLists.txt b/modules/protocol/CMakeLists.txt
new file mode 100644
index 000000000..cd225a94d
--- /dev/null
+++ b/modules/protocol/CMakeLists.txt
@@ -0,0 +1 @@
+build_modules(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/modules/m_proxyscan.cpp b/modules/proxyscan.cpp
index 398e021db..398e021db 100644
--- a/modules/m_proxyscan.cpp
+++ b/modules/proxyscan.cpp
diff --git a/modules/m_redis.cpp b/modules/redis.cpp
index 81c958f7c..81c958f7c 100644
--- a/modules/m_redis.cpp
+++ b/modules/redis.cpp
diff --git a/modules/m_rewrite.cpp b/modules/rewrite.cpp
index 37c58d5a9..37c58d5a9 100644
--- a/modules/m_rewrite.cpp
+++ b/modules/rewrite.cpp
diff --git a/modules/m_sasl.cpp b/modules/sasl.cpp
index f12cae8b8..f12cae8b8 100644
--- a/modules/m_sasl.cpp
+++ b/modules/sasl.cpp
diff --git a/modules/m_xmlrpc.cpp b/modules/xmlrpc.cpp
index 2d1cd2c0e..2d1cd2c0e 100644
--- a/modules/m_xmlrpc.cpp
+++ b/modules/xmlrpc.cpp
diff --git a/modules/m_xmlrpc_main.cpp b/modules/xmlrpc_main.cpp
index af0253028..af0253028 100644
--- a/modules/m_xmlrpc_main.cpp
+++ b/modules/xmlrpc_main.cpp