# #
# By default, ALL modules are commented out. You must uncomment them #
# or add lines to your config to load modules. Please refer to #
-# http://www.inspircd.org/wiki/Modules_List for a list of modules and#
+# http://wiki.inspircd.org/Modules for a list of modules and #
# each modules link for any additional conf tags they require. #
# #
# You may use wildcards in a <module> tag to load all modules which #
# Alias module: Allows you to define server-side command aliases
#<module name="m_alias.so">
#
+# Fantasy settings:
+#
+#<fantasy prefix="!" allowbots="no">
+#
+# prefix:
+# Set the prefix for in-channel aliases (fantasy commands) to the
+# specified character. If not set, the default is "!".
+# allowbots:
+# If this is set to no, +B clients will not be able to use fantasy
+# commands. If not set, the default is no.
+#
#-#-#-#-#-#-#-#-#-#-#- ALIAS DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
# #
# If you have the m_alias.so module loaded, you may also define #
# matched, or it has no format value. Aliases are #
# read from the top of the file to the bottom. #
# #
+# usercommand - If this is true, the alias can be run simply as #
+# /aliasname. Defaults to true. #
+# #
+# channelcommand - If this is true, the alias can be used as an #
+# in-channel alias or 'fantasy command', prefixed #
+# by the fantasy prefix character, !aliasname by #
+# default. Defaults to false. #
+# #
# format - If this is defined, the parameters of the alias #
# must match this glob pattern. For example if you #
# want the first parameter to start with a # for #
#
#<alias text="NICKSERV" format=":IDENTIFY *" replace="PRIVMSG NickServ :IDENTIFY $3-"
# requires="NickServ" uline="yes">
+#
+# You may also add aliases to trigger based on something said in a
+# channel, aka 'fantasy' commands, configured in the same manner as any
+# other alias, with usercommand="no" and channelcommand="yes" The
+# command must be preceded by the fantasy prefix when used.
+#
+#<alias text="CS" usercommand="no" channelcommand="yes"
+# replace="PRIVMSG ChanServ :$1 $chan $2-" requires="ChanServ" uline="yes">
+#
+# This would be used as "!cs <command> <options>", with the channel
+# being automatically inserted after the command in the message to
+# ChanServ, assuming the fantasy prefix is "!".
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Allowinvite module: Gives channel mode +A to allow all users to use
# #
# Optional - If you specify to use the m_censor module, then you must #
# specify some censor tags. See also: #
-# http://www.inspircd.org/wiki/Censor_Module #
+# http://wiki.inspircd.org/Modules/censor #
#
#<include file="censor.conf">
# Optional - If you specify to use m_cgiirc, then you must specify one
# or more cgihost tags which indicate authorised CGI:IRC servers which
# will be connecting to your network, and an optional cgiirc tag.
-# For more information see: http://www.inspircd.org/wiki/CGI-IRC_Module
+# For more information see: http://wiki.inspircd.org/Modules/cgiirc
#
# Set to yes if you want to notice opers when CGI clients connect
# <cgiirc opernotice="no">
# <cgihost type="ident" mask="otherbox.mysite.com"> # Get IP from ident
# <cgihost type="passfirst" mask="www.mysite.com"> # See the docs
# New style:
-# <cgihost type="webirc" pass="foobar"
+# <cgihost type="webirc" password="foobar"
# mask="somebox.mysite.com"> # Get IP from WEBIRC
#
# IMPORTANT NOTE:
# Channel filter module: Allows channel-op defined message
# filtering using simple string matches (channel mode +g)
#<module name="m_chanfilter.so">
+#
+# If hidemask is set to yes, the user will not be shown the mask when
+# his/her message is blocked.
+#<chanfilter hidemask="yes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channel logging module: used to send snotice output to channels, to
# over whole ISPs/blocks of IPs, which may be needed to prevent attacks.
#
#<connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128">
-# This allows for 10 quits in an hour with a 10 minute ban if that is exceeded.
+# This allows for 10 connections in an hour with a 10 minute ban if that is exceeded.
#
#<module name="m_connectban.so">
#-#-#-#-#-#-#-#-#-#- CUSTOM TITLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#
# name - The username used to identify
# password - The password used to identify
+# hash - The hash for the specific user's password (optional)
+# m_password_hash.so and a hashing module must be loaded for this to work
# host - Allowed hostmask [optional]
# title - Title shown in whois
# vhost - Displayed host [optional]
#
#<title name="foo" password="bar" title="Official Chat Helper">
#<title name="bar" password="foo" host="ident@host.name" title="Official Chat Helper" vhost="helper.network.chat">
+#<title name="foo" password="fcde2b2edba56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9" hash="sha256" title="Official Chat Helper">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# DCCALLOW module: Adds the /DCCALLOW command
#<module name="m_dnsbl.so"> #
# #
# For configuration options please see the wiki page for m_dnsbl at #
-# http://inspircd.org/wiki/DNS_Blacklist_Module #
+# http://wiki.inspircd.org/Modules/dnsbl #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Filter module: Provides message filtering, similar to SPAMFILTER.
# #
# Your choice of regex engine must match on all servers network-wide.
#
+# You may specify specific channels that are exempt from being filtered:
+#<exemptfromfilter channel="#blah">
+#
#-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
# Optional - If you specify to use the m_filter module, then #
#-#-#-#-#-#-#-#-#-#-#- HOSTCHANGE CONFIGURATION -#-#-#-#-#-#-#-#-#-#
# #
# Optional - If you choose to use the m_hostchange.so module. #
-# Config Help - See http://www.inspircd.org/wiki/Host_Changer_Module #
+# Config Help - See http://wiki.inspircd.org/Modules/hostchange #
# #
#<host suffix="polarbears.org" separator="." prefix="">
#<hostchange mask="*@fbi.gov" action="addnick">
# http stats module: Provides basic stats pages over HTTP
# Requires m_httpd.so to be loaded for it to function.
#<module name="m_httpd_stats.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- HTTPD STATS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
-#
-#<httpstats stylesheet="http://remote.style/sheet.css">
-#
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Ident: Provides RFC 1413 ident lookup support
# the user in a 'connecting' state until the lookup is complete. #
# The bind value indicates which IP to bind outbound requests to. #
# #
-#<ident timeout="5" bind="">
+#<ident timeout="5">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Invite except module: Adds support for channel invite exceptions (+I)
# oper go 'invisible' similar to unrealircd 3.1's +I mode. Note that
# opers are still able to see invisible users, and if an oper with +Q
# deopers, they will become visible.
-#
-# IMPORTANT NOTE: To allow this mode to be used by a type of oper, you
-# must first add the value canquiet="yes" to that oper's type tag.
#
# This module is oper-only.
#
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
# m_mssql.so is more complex than described here, see wiki for more #
-# info http://www.inspircd.org/wiki/SQLServer_Service_Provider_Module #
+# info http://wiki.inspircd.org/Modules/mssql #
#
#<database name="db" username="user" password="pass" hostname="localhost" id="db1">
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
# m_mysql.so is more complex than described here, see the wiki for #
-# more: http://www.inspircd.org/wiki/SQL_Service_Provider_Module #
+# more: http://wiki.inspircd.org/Modules/mysql #
#
#<database name="mydb" username="myuser" password="mypass" hostname="localhost" id="my_database2">
# This is supported by mIRC, x-chat, klient, and maybe more.
#<module name="m_namesx.so">
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# National characters module:
+# 1) Allows using national characters in nicknames.
+# 2) Allows using custom (national) casemapping over the network.
+# file -- filename of existing file in "locales" directory
+# casemapping -- custom value for 005 numeric (if you want it to be
+# different from the filename.
+#
+#<nationalchars file="bynets/russian-w1251-charlink" casemapping="ru_RU.cp1251-charlink">
+#<module name="m_nationalchars.so">
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Nickchange flood protection module: Allows up to X nick changes in Y seconds.
# Provides channel mode +F.
#<module name="m_nicklock.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# No ctcp module: Adds the channel mode +C to block CTCPs
+# No ctcp module: Adds the channel mode +C to block CTCPs and extban C
+# to block CTCPs sent by specific users.
#<module name="m_noctcp.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# No kicks module: Adds the +Q channel mode
+# No kicks module: Adds the +Q channel mode and the Q: extban to deny
+# certain users from kicking.
#<module name="m_nokicks.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#<module name="m_nopartmsg.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# No Notice module: adds the channel mode +T
+# No Notice module: adds the channel mode +T and the extban T to block
+# specific users from noticing the channel.
#<module name="m_nonotice.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# This module is oper-only.
#<module name="m_operchans.so">
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper flood module: Removes flood limits from users upon opering up
-# This module is oper-only.
-#<module name="m_operflood.so">
-
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper invex/extban module: Adds +beI type O, to ban, exempt, and invex
# given oper type masks.
# This module is oper-only.
#<module name="m_operlog.so">
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Oper prefixing module: Gives IRC operators a prefix status character
+# on all channels they are in.
+#
+#<module name="m_operprefix.so">
+#
+# You may additionally customise the prefix character.
+#<operprefix prefix="!">
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper MOTD module: Provides support for seperate message of the day
# on oper-up
# #
# If you are using the m_opermotd.so module, specify the motd here #
# #
-#<opermotd file="oper.motd">
+# onoper - Should the message be sent on /OPER or only when #
+# /OPERMOTD is used. Use "yes" or "no". #
+# #
+#<opermotd file="oper.motd" onoper="yes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Override module: Adds support for oper override
#-#-#-#-#-#-#-#-#-#-# OVERRIDE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
# m_override.so is too complex it describe here, see the wiki: #
-# http://www.inspircd.org/wiki/Oper_Override_Module #
+# http://wiki.inspircd.org/Modules/override #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper levels module: Gives each oper a level and prevents
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
# m_pgsql.so is more complex than described here, see the wiki for #
-# more: http://www.inspircd.org/wiki/SQL_Service_Provider_Module #
+# more: http://wiki.inspircd.org/Modules/pgsql #
#
#<database name="mydb" username="myuser" password="mypass" hostname="localhost" id="my_database" ssl="no">
# To use, SAJOIN must be in one of your oper class blocks.
#<module name="m_sajoin.so">
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# SAKICK module: Adds the /SAKICK command
+# This module is oper-only.
+# To use, SAKICK must be in one of your oper class blocks.
+#<module name="m_sakick.so">
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAMODE module: Adds the oper /SAMODE command
# This module is oper-only.
# perform. It should be noted that if a shunned user issues QUIT or PART
# then their message will be removed, as if they did not issue one.
#
-# You may also (optionally) let the user know that their command was blocked.
-#<shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="yes">
+# You can (optionally) let the user know that their command was blocked.
+#
+# You may also let SHUN affect opers (defaults to no).
+#<shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="yes" affectopers="no">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Spy module: Provides the ability to see the complete names list of
#-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
# m_ssl_gnutls.so is too complex it describe here, see the wiki: #
-# http://www.inspircd.org/wiki/GnuTLS_SSL_Module #
+# http://wiki.inspircd.org/Modules/ssl_gnutls #
# #
# NOTE: If you want to use this module to encrypt and sign your #
# server to server traffic, you MUST load it before m_spanningtree in #
#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
# m_ssl_openssl.so is too complex it describe here, see the wiki: #
-# http://www.inspircd.org/wiki/OpenSSL_SSL_Module #
+# http://wiki.inspircd.org/Modules/ssl_openssl #
# #
# NOTE: If you want to use this module to encrypt and sign your #
# server to server traffic, you MUST load it before m_spanningtree in #
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
# m_sqlite.so is more complex than described here, see the wiki for #
-# more: http://www.inspircd.org/wiki/SQLite3_Service_Provider_Module #
+# more: http://wiki.inspircd.org/Modules/sqlite3 #
#
#<database hostname="/full/path/to/database.db" id="anytext">
#-#-#-#-#-#-#-#-#-#-#- SQLAUTH CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
# m_sqlauth.so is too complex it describe here, see the wiki: #
-# http://www.inspircd.org/wiki/SQL_Authentication_Module #
+# http://wiki.inspircd.org/Modules/sqlauth #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SQL logging module: Allows you to log network-wide data for your
# #
# dbid - Database ID to use (see m_sql) #
# #
-# See also: http://www.inspircd.org/wiki/SQL_Logging_Module #
+# See also: http://wiki.inspircd.org/Modules/sqllog #
# #
#<sqllog dbid="1">
# dbid - Database ID to use (see m_sql) #
# hash - Hashing provider to use for password hashing #
# #
-# See also: http://www.inspircd.org/wiki/SQL_Oper_Storage_Module #
+# See also: http://wiki.inspircd.org/Modules/sqloper #
# #
#<sqloper dbid="1" hash="md5">
# user - Username for the vhost. #
# #
# pass - Password for the vhost. #
+# #
+# hash - The hash for the specific user (optional)
+# m_password_hash.so and a hashing module must be loaded for this to work
# #
# host - Vhost to set. #
#
#<vhost user="some_username" pass="some_password" host="some.host">
+#<vhost user="foo" password="fcde2b2edba56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9" hash="sha256" host="some.other.host">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Watch module: Adds the WATCH command, which is used by clients to