summaryrefslogtreecommitdiff
path: root/docs/conf
diff options
context:
space:
mode:
Diffstat (limited to 'docs/conf')
-rw-r--r--docs/conf/aliases/anope.conf.example27
-rw-r--r--docs/conf/aliases/atheme.conf.example25
-rw-r--r--docs/conf/aliases/ircservices.conf.example21
-rw-r--r--docs/conf/aliases/neostats.conf.example35
-rw-r--r--docs/conf/censor.conf.example2
-rw-r--r--docs/conf/filter.conf.example13
-rw-r--r--docs/conf/helpop-full.conf.example395
-rw-r--r--docs/conf/helpop.conf.example181
-rw-r--r--docs/conf/inspircd.conf.example164
-rw-r--r--docs/conf/links.conf.example42
-rw-r--r--docs/conf/modules.conf.example796
-rw-r--r--docs/conf/modules/charybdis.conf.example152
-rw-r--r--docs/conf/modules/unrealircd.conf.example240
-rw-r--r--docs/conf/motd.txt.example6
-rw-r--r--docs/conf/opermotd.txt.example6
-rw-r--r--docs/conf/opers.conf.example44
-rw-r--r--docs/conf/services/anope.conf.example9
-rw-r--r--docs/conf/services/atheme.conf.example52
-rw-r--r--docs/conf/services/generic.conf.example45
19 files changed, 1210 insertions, 1045 deletions
diff --git a/docs/conf/aliases/anope.conf.example b/docs/conf/aliases/anope.conf.example
deleted file mode 100644
index 406adc29a..000000000
--- a/docs/conf/aliases/anope.conf.example
+++ /dev/null
@@ -1,27 +0,0 @@
-# Aliases for nickserv, chanserv, operserv, memoserv, hostserv, botserv
-<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
-<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
-<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
-<alias text="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
-<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes">
-<alias text="BOTSERV" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes">
-
-# Note: We can't have a shorthand version of this, it conflicts with HS for helpserv
-<alias text="HELPSERV" replace="PRIVMSG HelpServ :$2-" requires="HelpServ" uline="yes">
-
-# Shorthand aliases for nickserv, chanserv, operserv, memoserv, hostserv, botserv
-<alias text="NS" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
-<alias text="CS" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
-<alias text="OS" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
-<alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
-<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes">
-<alias text="BS" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes">
-
-
-# /id [channel] <password>
-# Identify for a channel or nickname
-<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes">
-<alias text="ID" format="*" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes">
-<alias text="IDENTIFY" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes">
-<alias text="IDENTIFY" format="*" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes">
-
diff --git a/docs/conf/aliases/atheme.conf.example b/docs/conf/aliases/atheme.conf.example
deleted file mode 100644
index 7a0bc015a..000000000
--- a/docs/conf/aliases/atheme.conf.example
+++ /dev/null
@@ -1,25 +0,0 @@
-# Aliases for nickserv, chanserv, operserv, memoserv
-<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
-<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
-<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
-<alias text="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
-<alias text="GAMESERV" replace="PRIVMSG GameServ :$2-" requires="GameServ" uline="yes">
-<alias text="BOTSERV" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes">
-<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes">
-<alias text="ALIS" replace="PRIVMSG ALIS :$2-" requires="ALIS" uline="yes">
-
-# Shorthand aliases for nickserv, chanserv, operserv, memoserv
-<alias text="NS" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
-<alias text="CS" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
-<alias text="OS" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
-<alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
-<alias text="GS" replace="PRIVMSG GameServ :$2-" requires="GameServ" uline="yes">
-<alias text="BS" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes">
-<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes">
-<alias text="LS" replace="PRIVMSG ALIS :$2-" requires="ALIS" uline="yes">
-
-# /id [channel] <password>
-# Identify for a channel or nickname
-<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes">
-<alias text="ID" format="*" replace="PRIVMSG NickServ :IDENTIFY $2-" requires="NickServ" uline="yes">
-
diff --git a/docs/conf/aliases/ircservices.conf.example b/docs/conf/aliases/ircservices.conf.example
deleted file mode 100644
index a4c31dd05..000000000
--- a/docs/conf/aliases/ircservices.conf.example
+++ /dev/null
@@ -1,21 +0,0 @@
-# Aliases for nickserv, chanserv, operserv, memoserv, hostserv
-<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
-<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
-<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
-<alias text="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
-<alias text="STATSERV" replace="PRIVMSG StatServ :$2-" requires="StatServ" uline="yes" operonly="yes">
-<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes">
-
-# Shorthand aliases for nickserv, chanserv, operserv, memoserv, hostserv
-<alias text="NS" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
-<alias text="CS" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
-<alias text="OS" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
-<alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
-<alias text="SS" replace="PRIVMSG StatServ :$2-" requires="StatServ" uline="yes" operonly="yes">
-<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes">
-
-# /id [channel] <password>
-# Identify for a channel or nickname
-<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes">
-<alias text="ID" format="*" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes">
-
diff --git a/docs/conf/aliases/neostats.conf.example b/docs/conf/aliases/neostats.conf.example
deleted file mode 100644
index baa7fe0ba..000000000
--- a/docs/conf/aliases/neostats.conf.example
+++ /dev/null
@@ -1,35 +0,0 @@
-# Aliases for BLSB, ConnectServ, FloodServ, NeoStats, Operlog, QuoteServ, SecureServ, SeenServ, TextServ, WarServ, YahtzeeServ, LogServ, opsb, GamesServ, ProfileServ & StupidServ
-<alias text="BLSB" replace="PRIVMSG BLSB :$2-" requires="BLSB" uline="yes" operonly="yes">
-<alias text="CONNECTSERV" replace="PRIVMSG ConnectServ :$2-" requires="ConnectServ" uline="yes" operonly="yes">
-<alias text="FLOODSERV" replace="PRIVMSG FloodServ :$2-" requires="FloodServ" uline="yes" operonly="yes">
-<alias text="NEOSTATS" replace="PRIVMSG NeoStats :$2-" requires="NeoStats" uline="yes" operonly="yes">
-<alias text="OPERLOG" replace="PRIVMSG Operlog :$2-" requires="Operlog" uline="yes" operonly="yes">
-<alias text="QUOTESERV" replace="PRIVMSG QuoteServ :$2-" requires="QuoteServ" uline="yes" operonly="yes">
-<alias text="SECURESERV" replace="PRIVMSG SecureServ :$2-" requires="SecureServ" uline="yes" operonly="yes">
-<alias text="SEENSERV" replace="PRIVMSG SeenServ :$2-" requires="SeenServ" uline="yes" operonly="yes">
-<alias text="TEXTSERV" replace="PRIVMSG TextServ :$2-" requires="TextServ" uline="yes" operonly="yes">
-<alias text="WARSERV" replace="PRIVMSG WarServ :$2-" requires="WarServ" uline="yes">
-<alias text="YAHTZEESERV" replace="PRIVMSG YahtzeeServ :$2-" requires="YahtzeeServ" uline="yes" operonly="yes">
-<alias text="LOGSERV" replace="PRIVMSG LogServ :$2-" requires="LogServ" uline="yes" operonly="yes">
-<alias text="OPSB" replace="PRIVMSG opsb :$2-" requires="opsb" uline="yes" operonly="yes">
-<alias text="GAMESSERV" replace="PRIVMSG GamesServ :$2-" requires="GamesServ" uline="yes">
-<alias text="PROFILESERV" replace="PRIVMSG ProfileServ :$2-" requires="ProfileServ" uline="yes">
-<alias text="STUPIDSERV" replace="PRIVMSG StupidServ :$2-" requires="StupidServ" uline="yes">
-
-# Shorthand aliases for FloodServ, Operlog, QuoteServ, TextServ, WarServ, YahtzeeServ, LogServ, GamesServ, ProfileServ, SecureServ, SeenServ, NeoStats, ConnectServ & StupidServ
-<alias text="FS" replace="PRIVMSG FloodServ :$2-" requires="FloodServ" uline="yes" operonly="yes">
-<alias text="OL" replace="PRIVMSG Operlog :$2-" requires="Operlog" uline="yes" operonly="yes">
-<alias text="QS" replace="PRIVMSG QuoteServ :$2-" requires="QuoteServ" uline="yes" operonly="yes">
-<alias text="TS" replace="PRIVMSG TextServ :$2-" requires="TextServ" uline="yes" operonly="yes">
-<alias text="WS" replace="PRIVMSG WarServ :$2-" requires="WarServ" uline="yes">
-<alias text="YS" replace="PRIVMSG YahtzeeServ :$2-" requires="YahtzeeServ" uline="yes" operonly="yes">
-<alias text="LS" replace="PRIVMSG LogServ :$2-" requires="LogServ" uline="yes" operonly="yes">
-<alias text="GS" replace="PRIVMSG GamesServ :$2-" requires="GamesServ" uline="yes">
-<alias text="PS" replace="PRIVMSG ProfileServ :$2-" requires="ProfileServ" uline="yes">
-
-<alias text="SECURE" replace="PRIVMSG SecureServ :$2-" requires="SecureServ" uline="yes" operonly="yes">
-<alias text="SEEN" replace="PRIVMSG SeenServ :$2-" requires="SeenServ" uline="yes" operonly="yes">
-<alias text="NEO" replace="PRIVMSG NeoStats :$2-" requires="NeoStats" uline="yes" operonly="yes">
-<alias text="CONN" replace="PRIVMSG ConnectServ :$2-" requires="ConnectServ" uline="yes" operonly="yes">
-<alias text="STUPID" replace="PRIVMSG StupidServ :$2-" requires="StupidServ" uline="yes">
-
diff --git a/docs/conf/censor.conf.example b/docs/conf/censor.conf.example
index ea9e08147..23924d14b 100644
--- a/docs/conf/censor.conf.example
+++ b/docs/conf/censor.conf.example
@@ -1,4 +1,4 @@
-# Configuration file for m_censor.so
+# Configuration file for the censor module
# The tags for this module are formatted as follows:
#
diff --git a/docs/conf/filter.conf.example b/docs/conf/filter.conf.example
index ef7f50588..ea62efd1f 100644
--- a/docs/conf/filter.conf.example
+++ b/docs/conf/filter.conf.example
@@ -1,4 +1,4 @@
-# Configuration file for m_filter.so
+# Configuration file for the filter module
# The tags for this module are formatted as follows:
#
@@ -6,7 +6,7 @@
# reason="reason for filtering"
# action="action to take"
# flags="filter flags"
-# duration="optional length of gline">
+# duration="optional length of gline">
#
# Valid actions for 'action' are:
#
@@ -40,19 +40,14 @@
# c: Strip color codes from text before trying to match
# *: Represents all of the above flags
# -: Does nothing, a no-op for when you do not want to specify any flags
-#
-# IMPORTANT NOTE: Because the InspIRCd config reader places special meaning on the
-# '\' character, you must use '\\' if you wish to specify a '\' character in a regular
-# expression. For example, to indicate numbers, use \\d and not \d. This does not
-# apply when adding a regular expression over irc with the /FILTER command.
-# Example filters for m_filter:
+# Example filters:
#
# <keyword pattern="*qwerty*" reason="You qwertied!" action="block" flags="pn">
# <keyword pattern="*killmenow*" reason="As you request." action="kill" flags="*">
# <keyword pattern="*blah*" reason="Dont blah!" action="gline" duration="1d6h" flags="-">
-# An example regexp filter for m_filter_pcre:
+# An example regexp filter:
#
# <keyword pattern="^blah.*?$" reason="Dont blah!" action="gline" duration="1d6h" flags="pnPq">
diff --git a/docs/conf/helpop-full.conf.example b/docs/conf/helpop-full.conf.example
index 3374dea34..a1e3c881a 100644
--- a/docs/conf/helpop-full.conf.example
+++ b/docs/conf/helpop-full.conf.example
@@ -43,16 +43,16 @@ USER PASS PING PONG QUIT
OPER">
-<helpop key="sslinfo" value="/SSLINFO [nick]
+<helpop key="sslinfo" value="/SSLINFO <nick>
Displays information on the SSL connection and certificate of the
target user.">
-<helpop key="uninvite" value="/UNINVITE [nick] [channel]
+<helpop key="uninvite" value="/UNINVITE <nick> <channel>
Uninvite a user from a channel, same syntax as INVITE.">
-<helpop key="tban" value="/TBAN [channel] [duration] [banmask]
+<helpop key="tban" value="/TBAN <channel> <duration> <banmask>
Sets a timed ban. The duration of the ban can be specified in the
following format: 1w2d3h4m6s which indicates a ban of one week, two
@@ -61,37 +61,48 @@ ban may just be specified as a number of seconds. All timed bans
appear in the banlist as normal bans and may be safely removed
before their time is up.">
-<helpop key="dccallow" value="/DCCALLOW [+|-] [nick] [duration]
+<helpop key="dccallow" value="/DCCALLOW - List allowed nicks
+/DCCALLOW LIST - This also lists allowed nicks
+/DCCALLOW +<nick> [<duration>] - Add a nick
+/DCCALLOW -<nick> - Remove a nick
+/DCCALLOW HELP - Display help
-Adds a nickname to or deletes a nickname from your DCCALLOW list.">
+Duration is optional, and may be specified in seconds or in the
+form of 1m2h3d4w5y.">
-<helpop key="accept" value="/ACCEPT [+-*] [nick]{ [, [+-]<nick> ] }
+<helpop key="accept" value="/ACCEPT * - List accepted nicks
+/ACCEPT +<nick> - Add a nick
+/ACCEPT -<nick> - Remove a nick
+This command accepts multiple nicks like so:
+/ACCEPT +<nick1>,+<nick2>,-<nick3>
Manages your accept list. This list is used to determine who can
-private message you when you have usermode +g set. ACCEPT +nick adds
-a nick to your accept list, ACCEPT -nick removes a nick from your
-accept list, and ACCEPT * displays your accept list.">
+private message you when you have usermode +g set.">
-<helpop key="cycle" value="/CYCLE [channel] :[reason]
+<helpop key="cycle" value="/CYCLE <channel> :[<reason>]
Cycles a channel (leaving and rejoining), overrides restrictions that
would stop a new user joining, such as user limits and channel keys.">
-<helpop key="title" value="/TITLE [name] [password]
+<helpop key="title" value="/TITLE <name> <password>
Authenticate for a WHOIS title line and optionally a vhost using the
specified username and password.">
-<helpop key="watch" value="/WATCH [C|S|+/-[NICK]]
+<helpop key="watch" value="/WATCH - List watched nicks that are online
+/WATCH L - List watched nicks, online and offline
+/WATCH C - Clear all watched nicks
+/WATCH S - Show statistics
+/WATCH +<nick> - Add a nick
+/WATCH -<nick> - Remove a nick
+This command accepts multiple nicks like so:
+/WATCH +<nick1> +<nick2> -<nick3>">
-Adds or deletes a user from the watch list. C clears the list
-and S queries the status.">
-
-<helpop key="vhost" value="/VHOST [username] [password]
+<helpop key="vhost" value="/VHOST <username> <password>
Authenticate for a vhost using the specified username and password.">
-<helpop key="remove" value="/REMOVE [nick] [channel] {[reason]}
+<helpop key="remove" value="/REMOVE <channel> <nick> [<reason>]
Removes a user from a channel you specify. You must be at least a
channel halfoperator to remove a user. A removed user will part with
@@ -102,18 +113,18 @@ a message stating they were removed from the channel and by whom.">
Removes listmodes from a channel.
E.g. /RMODE #Chan b m:* will remove all mute extbans.">
-<helpop key="fpart" value="/FPART [channel] [nick] {[reason]}
+<helpop key="fpart" value="/FPART <channel> <nick> [<reason>]
-This behaves identically to /REMOVE, the only difference is that the
-[channel] and [nick] parameters are switched around to match /KICK's
-syntax. Also, /REMOVE is a builtin mIRC command which caused trouble
-for some users.">
+This behaves identically to /REMOVE. /REMOVE is a built-in mIRC command
+which caused trouble for some users.">
-<helpop key="devoice" value="/DEVOICE [channel]
+<helpop key="devoice" value="/DEVOICE <channel>
Devoices yourself on the specified channel.">
-<helpop key="silence" value="/SILENCE [+/-][hostmask] [p|c|i|n|t|a|x]
+<helpop key="silence" value="/SILENCE - Shows a list of silenced masks
+/SILENCE +<mask> [<flags>] - Add a mask
+/SILENCE -<mask> - Remove a mask
A serverside ignore of the given n!u@h mask. The letter(s) at the end
specify what is to be ignored from this hostmask.
@@ -134,13 +145,13 @@ with what you want excepted. For example, if you wanted to except
everything from people with a host matching *.foo.net, you would do
/SILENCE +*!*@*.foo.net xa
-/SILENCE without a parameter will list the hostmasks that you have silenced.">
+/SILENCE without a parameter will list the masks that you have silenced.">
-<helpop key="knock" value="/KNOCK [channel]
+<helpop key="knock" value="/KNOCK <channel>
Sends a notice to a channel indicating you wish to join.">
-<helpop key="user" value="/USER [ident] [local host] [remote host] :[GECOS]
+<helpop key="user" value="/USER <ident> <local host> <remote host> :<GECOS>
This command is used by your client to register your
IRC session, providing your ident and GECOS to the
@@ -148,11 +159,11 @@ server.
You should not use it during an established connection.">
-<helpop key="nick" value="/NICK [new nick]
+<helpop key="nick" value="/NICK <new nick>
-Change your nickname to [new nick].">
+Change your nickname to <new nick>.">
-<helpop key="quit" value="/QUIT {[reason]}
+<helpop key="quit" value="/QUIT [<reason>]
Quit from IRC and end your current session.">
@@ -160,47 +171,51 @@ Quit from IRC and end your current session.">
Returns the server's version information.">
-<helpop key="ping" value="/PING [server]
+<helpop key="ping" value="/PING <server>
Ping a server. The server will answer with a PONG.">
-<helpop key="pong" value="/PONG [server]
+<helpop key="pong" value="/PONG <server>
Your client should send this to answer server PINGs. You
should not issue this command manually.">
-<helpop key="admin" value="/ADMIN [server]
+<helpop key="admin" value="/ADMIN [<server>]
Shows the administrative information for the given server.">
-<helpop key="privmsg" value="/PRIVMSG [target] [text]
+<helpop key="privmsg" value="/PRIVMSG <target> <text>
-Sends a message to a user or channel specified in [target].">
+Sends a message to a user or channel specified in <target>.">
-<helpop key="notice" value="/NOTICE [target] [text]
+<helpop key="notice" value="/NOTICE <target> <text>
-Sends a notice to a user or channel specified in [target].">
+Sends a notice to a user or channel specified in <target>.">
-<helpop key="join" value="/JOIN [channel]{,[channel]} [key]{,[key]}
+<helpop key="join" value="/JOIN <channel>[,<channel>] [<key>][,<key>]
Joins one or more channels you provide the names for.">
-<helpop key="names" value="/NAMES [channel]{,[channel]}
+<helpop key="names" value="/NAMES <channel>[,<channel>]
Return a list of users on the channels you provide.">
-<helpop key="part" value="/PART [channel]{,[channel] [reason]}
+<helpop key="part" value="/PART <channel>[,<channel>] [<reason>]
Leaves one or more channels you specify.">
-<helpop key="kick" value="/KICK [channel] [nick] {[reason]}
+<helpop key="kick" value="/KICK <channel> <nick>[,<nick>] [<reason>]
Kicks a user from a channel you specify. You must be
at least a channel halfoperator to kick a user.">
-<helpop key="mode" value="/MODE [target] [+|-][modes]{[+|-][modes]} {mode parameters}
+<helpop key="mode" value="/MODE <target> (+|-)<modes> [<mode parameters>] - Change modes of <target>.
+
+/MODE <target> - Show modes of <target>.
+
+/MODE <channel> <list mode char> - List bans, exceptions, etc. set on <channel>.
-Sets the mode for a channel or a nickname specified in [target].
+Sets the mode for a channel or a nickname specified in <target>.
A user may only set modes upon themselves, and may not set the
+o usermode, and a user may only change channel modes of
channels where they are at least a halfoperator.
@@ -208,14 +223,14 @@ channels where they are at least a halfoperator.
For a list of all user and channel modes, enter /HELPOP UMODES or
/HELPOP CHMODES.">
-<helpop key="topic" value="/TOPIC [channel] {topic}
+<helpop key="topic" value="/TOPIC <channel> [<topic>]
Sets or retrieves the channel topic. If a channel topic is
given in the command and either the channel is not +t, or
you are at least a halfoperator, the channel topic will be
changed to the new one you provide.">
-<helpop key="who" value="/WHO [ [search-pattern] [ohurmaiMplf] ]
+<helpop key="who" value="/WHO <search pattern> [ohurmaiMplf]
Looks up the information of users matching the range you provide.
You may only /WHO nicknames in channels or on servers where you
@@ -259,44 +274,44 @@ The following flags after the mask have the following effects:
You may combine multiple flags in one WHO command except where stated in the table above.">
-<helpop key="motd" value="/MOTD [server]
+<helpop key="motd" value="/MOTD [<server>]
-Show the message of the day for [server]. Messages of the day often
+Show the message of the day for <server>. Messages of the day often
contain important server rules and notices and should be read prior
to using a server.">
-<helpop key="oper" value="/OPER [login] [password]
+<helpop key="oper" value="/OPER <login> <password>
Attempts to authenticate a user as an IRC operator.
Both successful and unsuccessful oper attempts are
logged, and sent to online IRC operators.">
-<helpop key="list" value="/LIST [pattern]
+<helpop key="list" value="/LIST [<pattern>]
Creates a list of all existing channels matching the glob pattern
-[pattern], e.g. *chat* or bot*.">
+<pattern>, e.g. *chat* or bot*.">
<helpop key="lusers" value="/LUSERS
Shows a count of local and remote users, servers and channels.">
-<helpop key="userhost" value="/USERHOST [nickname]
+<helpop key="userhost" value="/USERHOST <nick> [<nick>]
Returns the hostname and nickname of a user, and some other
miscellaneous information.">
-<helpop key="away" value="/AWAY {message}
+<helpop key="away" value="/AWAY [<message>]
If a message is given, marks you as being away, otherwise
removes your away status and previous message.">
-<helpop key="ison" value="/ISON [nick] {[nick]...}
+<helpop key="ison" value="/ISON <nick> [<nick> ...]
Returns a subset of the nicks you give, showing only those
that are currently online.">
-<helpop key="invite" value="/INVITE [nick] [channel] {[time]}
+<helpop key="invite" value="/INVITE <nick> <channel> [<time>]
Invites a user to a channel. If the channel is NOT +A, only
channel halfoperators or above can invite people. If +A is set,
@@ -310,7 +325,7 @@ Invited users may override bans, +k, and similar in addition to
If a time is provided, the invite expires after that time and the user
can no longer use it to enter the channel.">
-<helpop key="pass" value="/PASS [password]
+<helpop key="pass" value="/PASS <password>
This command is used by your client when setting up
your IRC session to submit a server password to the
@@ -318,7 +333,7 @@ server.
You should not use it during an established connection.">
-<helpop key="whowas" value="/WHOWAS [nick]
+<helpop key="whowas" value="/WHOWAS <nick>
Returns a list of times the user was seen recently on IRC along with
the time they were last seen and their server.">
@@ -333,24 +348,24 @@ Shows a graphical representation of all users and servers on the
network, and the links between them, as a tree from the perspective
of your server.">
-<helpop key="whois" value="/WHOIS [nick] {server}
+<helpop key="whois" value="/WHOIS <nick> [<server>]
Returns the WHOIS information of a user, their channels, hostname,
etc. If a second nickname or server is provided, then a whois is
performed from the server where the user is actually located rather
than locally, showing idle and signon times.">
-<helpop key="time" value="/TIME [servermask]
+<helpop key="time" value="/TIME [<server>]
Returns the local time of the server, or remote time of another
server.">
-<helpop key="info" value="/INFO
+<helpop key="info" value="/INFO [<server>]
Returns information on the developers and supporters who made this
IRC server possible.">
-<helpop key="setname" value="/SETNAME [name]
+<helpop key="setname" value="/SETNAME <name>
Sets your name to the specified name.">
@@ -363,7 +378,8 @@ Sets your name to the specified name.">
-------------
OPERMOTD CHECK CLONES USERIP TLINE
-ALLTIME WALLOPS GLOBOPS
+ALLTIME WALLOPS GLOBOPS MODENOTICE
+CLOAK
SETHOST SETIDENT CHGHOST CHGIDENT CHGNAME
SETIDLE SWHOIS
@@ -381,20 +397,20 @@ CONNECT SQUIT RCONNECT RSQUIT
DIE RESTART REHASH
CLEARCACHE LOADMODULE UNLOADMODULE
RELOADMODULE GLOADMODULE GUNLOADMODULE
-GRELOADMODULE RELOAD CLOSE
-LOCKSERV UNLOCKSERV JUMPSERVER">
+GRELOADMODULE CLOSE JUMPSERVER
+LOCKSERV UNLOCKSERV">
-<helpop key="userip" value="/USERIP [nicknames]
+<helpop key="userip" value="/USERIP <nick> [<nick>]
Returns the ip and nickname of the given users.">
-<helpop key="tline" value="/TLINE [host or ip mask]
+<helpop key="tline" value="/TLINE <host/IP mask>
This command returns the number of local and global clients matched,
and the percentage of clients matched, plus how they were matched
(by IP address or by hostname).">
-<helpop key="lockserv" value="/LOCKSERV
+<helpop key="lockserv" value="/LOCKSERV :[<message>]
Locks out all new connections notifying connecting users that the
service is temporarily closed and to try again later.">
@@ -403,12 +419,12 @@ service is temporarily closed and to try again later.">
Opens the server up again for new connections.">
-<helpop key="jumpserver" value="/JUMPSERVER {[newserver] [newport] [+/-flags] {:[reason]}}
+<helpop key="jumpserver" value="/JUMPSERVER [<newserver> <newport> <(+|-)[flags]> :[<reason>]]
Sets or cancels jumpserver mode. If no parameters are given,
jumpserver mode is cancelled, if it is currently set. If parameters
-are given, a server address must be given for [newserver] and a
-server port must be given for [newport]. Zero or more status flags
+are given, a server address must be given for <newserver> and a
+server port must be given for <newport>. Zero or more status flags
should be given for 'flags', from the list below (if you do not
wish to specify any flags just place a '+' in this field):
@@ -424,7 +440,7 @@ reason parameter is optional, and if not provided defaults to
'Please use this server/port instead' (the default given in various
numeric lists)">
-<helpop key="filter" value="/FILTER [filter-definition] {[action] [flags] {[gline-duration]} :[reason]}
+<helpop key="filter" value="/FILTER <filter-definition> [<action> <flags> [<gline-duration>] :<reason>]
This command will add a filter when more than one parameter is given,
for messages of the types specified by the flags, with the given
@@ -471,19 +487,19 @@ filter will be removed. Note that if you remove a
configuration-defined filter, it will reappear at next rehash unless
it is also removed from the config file.">
-<helpop key="ojoin" value="/OJOIN [#chan]
+<helpop key="ojoin" value="/OJOIN <channel>
Force joins you to the specified channel, and gives you +Y and any other
configuration-defined modes on it, preventing you from being kicked.
Depending on configuration, may announce that you have joined the
channel on official network business.">
-<helpop key="clones" value="/CLONES [limit]
+<helpop key="clones" value="/CLONES <limit>
Retrieves a list of users with more clones than the specified
limit.">
-<helpop key="check" value="/CHECK [nick|ip|hostmask|channel] {[server]}
+<helpop key="check" value="/CHECK <nick|ip|hostmask|channel> [<server>]
Allows opers to look up advanced information on channels, hostmasks
or IP addresses, in a similar way to WHO but in more detail, displaying
@@ -497,22 +513,21 @@ specified server.">
Shows the time on all servers on the network.">
-<helpop key="rconnect" value="/RCONNECT [source mask] [target mask]
+<helpop key="rconnect" value="/RCONNECT <source mask> <target mask>
-The server matching [source mask] will try to connect to the first
-server in the config file matching [target mask].">
+The server matching <source mask> will try to connect to the first
+server in the config file matching <target mask>.">
-<helpop key="rsquit" value="/RSQUIT {[source mask]} [target mask]
+<helpop key="rsquit" value="/RSQUIT <target mask> [<reason>]
-Causes a remote server matching [target mask] to be disconnected from
-the network, only if connected via a server matching [source mask] if
-it is specified.">
+Causes a remote server matching <target mask> to be disconnected from
+the network.">
-<helpop key="globops" value="/GLOBOPS [message]
+<helpop key="globops" value="/GLOBOPS <message>
Sends a message to all users with the +g snomask.">
-<helpop key="cban" value="/CBAN [channel] {[duration] :[reason]}
+<helpop key="cban" value="/CBAN <channel> [<duration> :[<reason>]]
Sets or removes a channel ban. You must specify all three parameters
to add a ban, and one parameter to remove a ban (just the channel).
@@ -530,35 +545,43 @@ If no nick is given, it joins the oper doing the /SAJOIN.">
Forces the user to part the channel(s).">
-<helpop key="samode" value="/SAMODE [target] +/-[modes] {[parameters for modes]}
+<helpop key="samode" value="/SAMODE <target> (+|-)<modes> [<parameters for modes>]
Applies the given mode change to the channel or nick specified.">
-<helpop key="sanick" value="/SANICK [nick] [new nick]
+<helpop key="sanick" value="/SANICK <nick> <new nick>
Changes the user's nick to the new nick.">
-<helpop key="saquit" value="/SAQUIT [nick] [reason]
+<helpop key="sakick" value="/SAKICK <channel> <nick> <reason>
+
+Kicks the given user from the specified channel.">
+
+<helpop key="satopic" value="/SATOPIC <channel> <new topic>
+
+Applies the given topic to the specified channel.">
+
+<helpop key="saquit" value="/SAQUIT <nick> <reason>
Forces user to quit with the specified reason.">
-<helpop key="setidle" value="/SETIDLE [idle time]
+<helpop key="setidle" value="/SETIDLE <idle time>
Sets your idle time (in seconds) to the specified value.">
-<helpop key="sethost" value="/SETHOST [host]
+<helpop key="sethost" value="/SETHOST <host>
Sets your host to the specified host.">
-<helpop key="setident" value="/SETIDENT [ident]
+<helpop key="setident" value="/SETIDENT <ident>
Sets your ident to the specified ident.">
-<helpop key="swhois" line="/SWHOIS [nick] [swhois]
+<helpop key="swhois" line="/SWHOIS <nick> <swhois>
Sets the user's swhois field to the given swhois.">
-<helpop key="mkpasswd" value="/MKPASSWD [hashtype] [plaintext]
+<helpop key="mkpasswd" value="/MKPASSWD <hashtype> <plaintext>
Encodes the plaintext to a hash of the given type and displays
the result.">
@@ -567,28 +590,28 @@ the result.">
Displays the Oper MOTD.">
-<helpop key="nicklock" value="/NICKLOCK [nick] [new nick]
+<helpop key="nicklock" value="/NICKLOCK <nick> <new nick>
Changes the user's nick to the new nick, and forces
it to remain as such for the remainder of the session.">
-<helpop key="nickunlock" value="/NICKUNLOCK [nick]
+<helpop key="nickunlock" value="/NICKUNLOCK <nick>
Allows a previously locked user to change nicks again.">
-<helpop key="chghost" value="/CHGHOST [nickname] [new hostname]
+<helpop key="chghost" value="/CHGHOST <nickname> <new hostname>
Changes the hostname of the user to the new hostname.">
-<helpop key="chgname" value="/CHGNAME [nickname] [new name]
+<helpop key="chgname" value="/CHGNAME <nickname> <new name>
Changes the name of the user to the new name.">
-<helpop key="chgident" value="/CHGIDENT [nickname] [new ident]
+<helpop key="chgident" value="/CHGIDENT <nickname> <new ident>
Changes the ident of the user to the new ident.">
-<helpop key="shun" value="/SHUN [nick!user@host] {[duration] :[reason]}
+<helpop key="shun" value="/SHUN <nick!user@host> [[<duration>] :<reason>]
Sets or removes a shun (server side ignore) on a host and ident mask.
You must specify all three parameters to add a shun, and one parameter
@@ -598,39 +621,37 @@ The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
5 minutes and 6 seconds. All fields in this format are optional.">
-<helpop key="die" value="/DIE [password]
+<helpop key="die" value="/DIE <server>
This command shuts down the local server. A single parameter is
-required, which must match the password in the configuration for the
-command to function.">
+required, which must match the name of the local server.">
-<helpop key="restart" value="/RESTART [password]
+<helpop key="restart" value="/RESTART <server>
This command restarts the local server. A single parameter is
-required, which must match the password in the configuration for the
-command to function.">
+required, which must match the name of the local server.">
<helpop key="commands" value="/COMMANDS
Shows all currently available commands.">
-<helpop key="kill" value="/KILL [user] [reason]
+<helpop key="kill" value="/KILL <user> <reason>
This command will disconnect a user from IRC with the given reason.">
-<helpop key="rehash" value="/REHASH [mask]
+<helpop key="rehash" value="/REHASH <mask>
This command will cause the server configuration file to be reread and
values reinitialized for all servers matching the server mask, or the
local server if one is not specified.">
-<helpop key="connect" value="/CONNECT [servermask]
+<helpop key="connect" value="/CONNECT <servermask>
Add a connection to the server matching the given server mask. You must
have configured the server for linking in your configuration file
before trying to link them.">
-<helpop key="squit" value="/SQUIT [servermask]
+<helpop key="squit" value="/SQUIT <servermask>
Disconnects the server matching the given server mask from this server.">
@@ -639,35 +660,35 @@ Disconnects the server matching the given server mask from this server.">
Lists currently loaded modules, their memory offsets, version numbers,
and flags. If you are not an operator, you will see reduced detail.">
-<helpop key="loadmodule" value="/LOADMODULE [filename.so]
+<helpop key="loadmodule" value="/LOADMODULE <modname>
Loads the specified module into the local server.">
-<helpop key="unloadmodule" value="/UNLOADMODULE [filename.so]
+<helpop key="unloadmodule" value="/UNLOADMODULE <modname>
Unloads a module from the local server. The module cannot have the
static flag set (see the output of /MODULES).">
-<helpop key="reloadmodule" value="/RELOADMODULE [filename.so]
+<helpop key="reloadmodule" value="/RELOADMODULE <modname>
Unloads and reloads a module on the local server. This module cannot
have the static flag set (see the output of /MODULES).">
-<helpop key="loadmodule" value="/GLOADMODULE [filename.so]
+<helpop key="gloadmodule" value="/GLOADMODULE <modname>
Loads the specified module on all linked servers.">
-<helpop key="unloadmodule" value="/GUNLOADMODULE [filename.so]
+<helpop key="gunloadmodule" value="/GUNLOADMODULE <modname>
Unloads a module from all linked servers. The module cannot have the
static flag set (see the output of /MODULES).">
-<helpop key="reloadmodule" value="/GRELOADMODULE [filename.so]
+<helpop key="greloadmodule" value="/GRELOADMODULE <modname>
Unloads and reloads a module on all linked servers. This module cannot
have the static flag set (see the output of /MODULES).">
-<helpop key="kline" value="/KLINE [user@host] {[duration] :[reason]}
+<helpop key="kline" value="/KLINE <user@host> [<duration> :<reason>]
Sets or removes a k-line (local host based ban) on a host and ident mask.
You must specify all three parameters to add a ban, and one parameter
@@ -677,7 +698,7 @@ The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
5 minutes and 6 seconds. All fields in this format are optional.">
-<helpop key="zline" value="/ZLINE [ipmask] {[duration] :[reason]}
+<helpop key="zline" value="/ZLINE <ipmask> [<duration> :<reason>]
Sets or removes a z-line (ip based ban) on an ip range mask.
You must specify all three parameters to add a ban, and one parameter
@@ -687,7 +708,7 @@ The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
5 minutes and 6 seconds. All fields in this format are optional.">
-<helpop key="qline" value="/QLINE [nickmask] {[duration] :[reason]}
+<helpop key="qline" value="/QLINE <nickmask> [<duration> :<reason>]
Sets or removes a q-line (nick based ban) on a nick mask.
You must specify all three parameters to add a ban, and one parameter
@@ -697,7 +718,7 @@ The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
5 minutes and 6 seconds. All fields in this format are optional.">
-<helpop key="gline" value="/GLINE [user@host] {[duration] :[reason]}
+<helpop key="gline" value="/GLINE <user@host> [<duration> :<reason>]
Sets or removes a g-line (host based ban) on host mask.
You must specify all three parameters to add a ban, and one
@@ -707,9 +728,9 @@ The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
5 minutes and 6 seconds. All fields in this format are optional.">
-<helpop key="eline" value="/ELINE [user@host] {[duration] :[reason]}
+<helpop key="eline" value="/ELINE <user@host> [<duration> :<reason>]
-Sets or removes a e-line (local ban exception) on host mask.
+Sets or removes a e-line (global ban exception) on host mask.
You must specify at least 3 parameters to add an exception, and one
parameter to remove an exception (just the user@host section).
@@ -722,19 +743,11 @@ be negated by an eline on *@<ip>, bans on *@<host> can be negated by
elines on *@<ip>, or *@<host>, and bans on <ident>@* or <ident>@<host>
can be negated by any eline that matches.">
-<helpop key="wallops" value="/WALLOPS [message]
+<helpop key="wallops" value="/WALLOPS <message>
Sends a message to all +w users.">
-<helpop key="sakick" value="/SAKICK [#chan] [nick] [reason]
-
-Kicks the given user from the specified channel.">
-
-<helpop key="satopic" value="/SATOPIC [#chan] [new topic]
-
-Applies the given topic to the specified channel.">
-
-<helpop key="rline" value="/RLINE [regex] {[duration] :[reason]}
+<helpop key="rline" value="/RLINE <regex> [<duration> :<reason>]
Sets or removes an r-line (regex line) on a n!u@h\\sgecos mask. You
must specify all three parameters to add an rline, and one parameter
@@ -744,14 +757,9 @@ The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
5 minutes and 6 seconds. All fields in this format are optional.">
-<helpop key="clearcache" value="/CLEARCACHE {servername}
-
-This command clears the DNS cache of the specified server. If no
-server is specified, the local server's DNS cache will be cleared.">
-
-<helpop key="reload" value="/RELOAD [core command]
+<helpop key="clearcache" value="/CLEARCACHE
-Reloads the specified core command.">
+This command clears the DNS cache of the local server.">
<helpop key="close" value="/CLOSE
@@ -767,6 +775,18 @@ while methods G and Z also add G/Z-Lines for all the targets.
When used, the victims won't see each other getting kicked or quitting.">
+<helpop key="modenotice" value="/MODENOTICE <modeletters> <message>
+
+Sends a notice to all users who have the given mode(s) set.
+If multiple mode letters are given, the notice is only sent to users
+who have all of them set.">
+
+<helpop key="cloak" value="/CLOAK <host>
+
+Generate the cloak of a host or IP. This is useful for example when
+trying to get the cloak of a user from /WHOWAS and they were not
+using their cloak when they quit.">
+
######################
# User/Channel Modes #
######################
@@ -789,7 +809,7 @@ When used, the victims won't see each other getting kicked or quitting.">
having op modes removed from them (services only,
requires servprotect module).
o Marks as a IRC operator.
- s [mask] Receives server notices specified by [mask]
+ s <mask> Receives server notices specified by <mask>
(IRCop only).
r Marks as a having a registered nickname
(requires services account module).
@@ -802,6 +822,8 @@ When used, the victims won't see each other getting kicked or quitting.">
hideoper module).
I Hides a user's entire channel list in WHOIS from
non-IRCops (requires hidechans module).
+ L Stops redirections done by m_redirect (mode must be
+ enabled in the config).
R Blocks private messages from unregistered users
(requires services account module).
S Strips mIRC color/bold/underline codes out of private
@@ -812,40 +834,40 @@ When used, the victims won't see each other getting kicked or quitting.">
<helpop key="chmodes" value="Channel Modes
-------------
- v [nickname] Gives voice to [nickname], allowing them to speak
+ v <nickname> Gives voice to <nickname>, allowing them to speak
while the channel is +m.
- h [nickname] Gives halfop status to [nickname] (requires
+ h <nickname> Gives halfop status to <nickname> (requires
customprefix module).
- o [nickname] Gives op status to [nickname].
- a [nickname] Gives protected status to [nickname], preventing
+ o <nickname> Gives op status to <nickname>.
+ a <nickname> Gives protected status to <nickname>, preventing
them from them from being kicked (+q only,
requires customprefix module).
- q [nickname] Gives owner status to [nickname], preventing them
+ q <nickname> Gives owner status to <nickname>, preventing them
from being kicked (Services or only, requires
customprefix module).
- b [hostmask] Bans [hostmask] from the channel.
- e [hostmask] Excepts [hostmask] from bans (requires
+ b <hostmask> Bans <hostmask> from the channel.
+ e <hostmask> Excepts <hostmask> from bans (requires
banexception module).
- I [hostmask] Excepts [hostmask] from +i, allowing matching
+ I <hostmask> Excepts <hostmask> from +i, allowing matching
users to join while the channel is invite-only
(requires inviteexception module).
c Blocks messages containing mIRC color codes
(requires blockcolor module).
- d [time] Blocks messages to a channel from new users
- until they have been in the channel for [time]
+ d <time> Blocks messages to a channel from new users
+ until they have been in the channel for <time>
seconds (requires delaymsg module).
- f [*][lines]:[sec] Kicks on text flood equal to or above the
+ f [*]<lines>:<sec> Kicks on text flood equal to or above the
specified rate. With *, the user is banned
(requires messageflood module).
i Makes the channel invite-only.
Users can only join if an operator
uses /INVITE to invite them.
- j [joins]:[sec] Limits joins to the specified rate (requires
+ j <joins>:<sec> Limits joins to the specified rate (requires
joinflood module).
- k [key] Set the channel key (password) to [key].
- l [limit] Set the maximum allowed users to [limit].
+ k <key> Set the channel key (password) to <key>.
+ l <limit> Set the maximum allowed users to <limit>.
m Enable moderation. Only users with +v, +h, or +o
can speak.
n Blocks users who are not members of the channel
@@ -862,8 +884,8 @@ When used, the victims won't see each other getting kicked or quitting.">
see themselves or themselves and the operators,
while operators see all the users (requires
auditorium module).
- w [flag]:[banmask] Adds basic channel access controls of [flag] to
- [banmask], via the +w listmode.
+ w <flag>:<banmask> Adds basic channel access controls of <flag> to
+ <banmask>, via the +w listmode.
For example, +w o:R:Brain will op anyone identified
to the account 'Brain' on join.
(requires autoop module)
@@ -879,23 +901,27 @@ When used, the victims won't see each other getting kicked or quitting.">
module).
D Delays join messages from users until they
message the channel (requires delayjoin module).
- E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similiar messages.
+ E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similar messages.
Kicks as default, blocks with ~ and bans with *
The last two parameters are optional.
- F [changes]:[sec] Blocks nick changes when they equal or exceed the
+ F <changes>:<sec> Blocks nick changes when they equal or exceed the
specified rate (requires nickflood module).
G Censors messages to the channel based on the
network configuration (requires censor module).
- J [seconds] Prevents rejoin after kick for the specified
+ H <num>:<duration> Displays the last <num> lines of chat to joining
+ users. <duration> is the maximum time to keep
+ lines in the history buffer (requires chanhistory
+ module).
+ J <seconds> Prevents rejoin after kick for the specified
number of seconds. This prevents auto-rejoin
(requires kicknorejoin module).
K Blocks /KNOCK on the channel.
- L [channel] If the channel reaches its limit set by +l,
- redirect users to [channel] (requires redirect
+ L <channel> If the channel reaches its limit set by +l,
+ redirect users to <channel> (requires redirect
module).
M Blocks unregistered users from speaking (requires
services account module).
- N Prevents users on the channel from chainging nick
+ N Prevents users on the channel from changing nick
(requires nonicks module).
O Channel is IRCops only (can only be set by IRCops,
requires operchans module).
@@ -908,13 +934,13 @@ When used, the victims won't see each other getting kicked or quitting.">
R Blocks unregistered users from joining (requires
services account module).
S Strips mIRC color codes from messages to the
- channel (requirs stripcolor module).
+ channel (requires stripcolor module).
T Blocks /NOTICEs to the channel from users who are
not at least halfop (requires nonotice module).
- g [mask] Blocks messages matching the given blob mask
+ g <mask> Blocks messages matching the given glob mask
(requires chanfilter module).
- X [mode] Makes channel operators immune to the specified
+ X <mode> Makes channel operators immune to the specified
restrictive mode (requires exemptchanops module).
-------------
@@ -927,7 +953,7 @@ help channel if you have any questions.">
# Stats Symbols #
######################
-<helpop key="stats" value="/STATS [symbol]
+<helpop key="stats" value="/STATS <symbol>
Shows various server statistics. Depending on configuration, some
symbols may be only available to opers.
@@ -1023,46 +1049,47 @@ setting +I <extban>.
Matching extbans:
- j:#channel Matches anyone in #channel. Does not support wildcards
- for #channel (requires channelban module).
- r:realname Matches users with a matching realname (requires gecosban
+ j:<channel> Matches anyone in the given channel. Does not support
+ wildcards (requires channelban module).
+ r:<realname> Matches users with a matching realname (requires gecosban
module).
- s:server Matches users on a matching server (requires serverban
+ s:<server> Matches users on a matching server (requires serverban
module).
- z:fingerprint Matches users with a matching ssl fingerprint (requires
- sslmodes module)
- O:opertype Matches IRCops of a matching type, mostly useful as an
+ z:<certfp> Matches users with a matching SSL certificate fingerprint
+ (requires sslmodes module)
+ O:<opertype> Matches IRCops of a matching type, mostly useful as an
an invite exception (requires operchans module).
- R:account Matches users logged into a matching account (requires
+ R:<account> Matches users logged into a matching account (requires
services account module).
Acting extbans:
- c:<ban> Blocks any messages that contain color codes from
+ c:<banmask> Blocks any messages that contain color codes from
matching users (requires blockcolor module).
- m:<ban> Blocks messages from matching users (requires muteban
+ m:<banmask> Blocks messages from matching users (requires muteban
module). Users with +v or above are not affected.
- p:<ban> Blocks part messages from matching users (requires
+ p:<banmask> Blocks part messages from matching users (requires
nopartmsg module).
- A:<ban> Blocks invites by matching users even when +A is set
+ A:<banmask> Blocks invites by matching users even when +A is set
(requires allowinvite module).
- B:<ban> Blocks all capital or nearly all capital messages from
+ B:<banmask> Blocks all capital or nearly all capital messages from
matching users (requires blockcaps module).
- C:<ban> Blocks CTCPs from matching users (requires noctcp
+ C:<banmask> Blocks CTCPs from matching users (requires noctcp
module).
- N:<ban> Blocks nick changes from matching users (requires
+ N:<banmask> Blocks nick changes from matching users (requires
nonicks module).
- Q:<ban> Blocks kicks by matching users (requires nokicks
+ Q:<banmask> Blocks kicks by matching users (requires nokicks
module).
- S:<ban> Strips color/bold/underline from messages from matching
+ S:<banmask> Strips color/bold/underline from messages from matching
users (requires stripcolor module).
- T:<ban> Blocks notices from matching users (requires nonotice
+ T:<banmask> Blocks notices from matching users (requires nonotice
module).
- U:<ban> Blocks unregistered users matching the given ban.
- (requires m_services_account)
+ U:<banmask> Blocks unregistered users matching the given banmask.
+ (requires services account).
-A ban given to an acting extban may either be a nick!user@host mask,
-matched against users as for a normal ban, or a matching extban.
+A ban given to an Acting extban may either be a nick!user@host mask
+(unless stated otherwise), matched against users as for a normal ban,
+or a Matching extban.
There is an additional special type of extended ban, a redirect ban:
diff --git a/docs/conf/helpop.conf.example b/docs/conf/helpop.conf.example
index 7d505b261..20596e696 100644
--- a/docs/conf/helpop.conf.example
+++ b/docs/conf/helpop.conf.example
@@ -1,4 +1,4 @@
-# Sample configuration file for m_helpop.so
+# Sample configuration file for the helpop module.
# You can either copy this into your conf folder and set up the module to use it,
# or you can customize the responses for your network and/or add more.
#
@@ -50,7 +50,8 @@ OPER">
-------------
OPERMOTD CHECK CLONES USERIP TLINE
-ALLTIME WALLOPS GLOBOPS
+ALLTIME WALLOPS GLOBOPS MODENOTICE
+CLOAK
SETHOST SETIDENT CHGHOST CHGIDENT CHGNAME
SETIDLE SWHOIS
@@ -68,8 +69,8 @@ CONNECT SQUIT RCONNECT RSQUIT
DIE RESTART REHASH
CLEARCACHE LOADMODULE UNLOADMODULE
RELOADMODULE GLOADMODULE GUNLOADMODULE
-GRELOADMODULE RELOAD CLOSE
-LOCKSERV UNLOCKSERV JUMPSERVER">
+GRELOADMODULE CLOSE JUMPSERVER
+LOCKSERV UNLOCKSERV">
<helpop key="umodes" value="User Modes
----------
@@ -79,7 +80,7 @@ LOCKSERV UNLOCKSERV JUMPSERVER">
commonchans module).
d Deaf mode. User will not receive any messages or notices
from channels they are in (requires deaf module).
- g In combination with /allow, provides for server side
+ g In combination with /ACCEPT, provides for server side
ignore (requires callerid module).
h Marks as 'available for help' in WHOIS (IRCop only,
requires helpop module).
@@ -89,7 +90,7 @@ LOCKSERV UNLOCKSERV JUMPSERVER">
having op modes removed from them (services only,
requires servprotect module).
o Marks as a IRC operator.
- s [mask] Receives server notices specified by [mask]
+ s <mask> Receives server notices specified by <mask>
(IRCop only).
r Marks as a having a registered nickname
(requires services account module).
@@ -102,6 +103,8 @@ LOCKSERV UNLOCKSERV JUMPSERVER">
hideoper module).
I Hides a user's entire channel list in WHOIS from
non-IRCops (requires hidechans module).
+ L Stops redirections done by m_redirect (mode must be
+ enabled in the config).
R Blocks private messages from unregistered users
(requires services account module).
S Strips mIRC color/bold/underline codes out of private
@@ -112,48 +115,49 @@ LOCKSERV UNLOCKSERV JUMPSERVER">
<helpop key="chmodes" value="Channel Modes
-------------
- v [nickname] Gives voice to [nickname], allowing them to speak
+ v <nickname> Gives voice to <nickname>, allowing them to speak
while the channel is +m.
- h [nickname] Gives halfop status to [nickname] (requires
+ h <nickname> Gives halfop status to <nickname> (requires
customprefix module).
- o [nickname] Gives op status to [nickname].
- a [nickname] Gives protected status to [nickname], preventing
+ o <nickname> Gives op status to <nickname>.
+ a <nickname> Gives protected status to <nickname>, preventing
them from them from being kicked (+q only,
requires customprefix module).
- q [nickname] Gives owner status to [nickname], preventing them
+ q <nickname> Gives owner status to <nickname>, preventing them
from being kicked (Services or only, requires
customprefix module).
- b [hostmask] Bans [hostmask] from the channel.
- e [hostmask] Excepts [hostmask] from bans (requires
+ b <hostmask> Bans <hostmask> from the channel.
+ e <hostmask> Excepts <hostmask> from bans (requires
banexception module).
- I [hostmask] Excepts [hostmask] from +i, allowing matching
+ I <hostmask> Excepts <hostmask> from +i, allowing matching
users to join while the channel is invite-only
(requires inviteexception module).
c Blocks messages containing mIRC color codes
(requires blockcolor module).
- f [*][lines]:[sec] Kicks on text flood equal to or above the
+ d <time> Blocks messages to a channel from new users
+ until they have been in the channel for <time>
+ seconds (requires delaymsg module).
+ f [*]<lines>:<sec> Kicks on text flood equal to or above the
specified rate. With *, the user is banned
(requires messageflood module).
- g [mask] Blocks messages matching the given blob mask
- (requires chanfilter module).
i Makes the channel invite-only.
Users can only join if an operator
uses /INVITE to invite them.
- j [joins]:[sec] Limits joins to the specified rate (requires
+ j <joins>:<sec> Limits joins to the specified rate (requires
joinflood module).
- k [key] Set the channel key (password) to [key].
- l [limit] Set the maximum allowed users to [limit].
+ k <key> Set the channel key (password) to <key>.
+ l <limit> Set the maximum allowed users to <limit>.
m Enable moderation. Only users with +v, +h, or +o
can speak.
n Blocks users who are not members of the channel
from messaging it.
- p Make channel private, hiding it in user's whoises
+ p Make channel private, hiding it in users' whoises
and replacing it with * in /LIST.
r Marks the channel as registered with Services
(requires services account module).
- s Make channel secret, hiding it in user's whoises
+ s Make channel secret, hiding it in users' whoises
and /LIST.
t Prevents users without +h or +o from changing the
topic.
@@ -161,8 +165,8 @@ LOCKSERV UNLOCKSERV JUMPSERVER">
see themselves or themselves and the operators,
while operators see all the users (requires
auditorium module).
- w [flag]:[banmask] Adds basic channel access controls of [flag] to
- [banmask], via the +w listmode.
+ w <flag>:<banmask> Adds basic channel access controls of <flag> to
+ <banmask>, via the +w listmode.
For example, +w o:R:Brain will op anyone identified
to the account 'Brain' on join.
(requires autoop module)
@@ -178,23 +182,27 @@ LOCKSERV UNLOCKSERV JUMPSERVER">
module).
D Delays join messages from users until they
message the channel (requires delayjoin module).
- E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similiar messages.
+ E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similar messages.
Kicks as default, blocks with ~ and bans with *
The last two parameters are optional.
- F [changes]:[sec] Blocks nick changes when they equal or exceed the
+ F <changes>:<sec> Blocks nick changes when they equal or exceed the
specified rate (requires nickflood module).
G Censors messages to the channel based on the
network configuration (requires censor module).
- J [seconds] Prevents rejoin after kick for the specified
+ H <num>:<duration> Displays the last <num> lines of chat to joining
+ users. <duration> is the maximum time to keep
+ lines in the history buffer (requires chanhistory
+ module).
+ J <seconds> Prevents rejoin after kick for the specified
number of seconds. This prevents auto-rejoin
(requires kicknorejoin module).
K Blocks /KNOCK on the channel.
- L [channel] If the channel reaches its limit set by +l,
- redirect users to [channel] (requires redirect
+ L <channel> If the channel reaches its limit set by +l,
+ redirect users to <channel> (requires redirect
module).
M Blocks unregistered users from speaking (requires
services account module).
- N Prevents users on the channel from chainging nick
+ N Prevents users on the channel from changing nick
(requires nonicks module).
O Channel is IRCops only (can only be set by IRCops,
requires operchans module).
@@ -207,10 +215,15 @@ LOCKSERV UNLOCKSERV JUMPSERVER">
R Blocks unregistered users from joining (requires
services account module).
S Strips mIRC color codes from messages to the
- channel (requirs stripcolor module).
+ channel (requires stripcolor module).
T Blocks /NOTICEs to the channel from users who are
not at least halfop (requires nonotice module).
+ g <mask> Blocks messages matching the given glob mask
+ (requires chanfilter module).
+ X <mode> Makes channel operators immune to the specified
+ restrictive mode (requires exemptchanops module).
+
-------------
NOTE: A large number of these modes are dependent upon server-side modules
being loaded by a server/network administrator. The actual modes available
@@ -253,50 +266,62 @@ help channel if you have any questions.">
<helpop key="extbans" value="Extended Bans
----------
- c:n!u@h Blocks any messages that contain color codes from
- matching users (requires blockcolor module).
- j:#channel Prevents anyone in #channel from joining the channel
- (requires channelban module).
- m:n!u@h Blocks messages from matching users (requires muteban
- module).
- p:n!u@h Blocks part messages from matching users (requires
- nopartmsg module).
- r:realname Prevents users with a matching realname from joining
- the channel (requires gecosban module).
- s:server Prevents users on a matching server from joining the
- channel (requires services account).
-
- A:n!u@h Blocks invites by matching users even when +A is set
- (requires allowinvite module).
- B:n!u@h Blocks all capital or nearly all capital messages from
- matching users (requires blockcaps module).
- C:n!u@h Blocks CTCPs from matching users (requires noctcp
- module).
- M:account Blocks messages from users logged into a matching
- account (requires services account module).
- N:n!u@h Blocks nick changes from matching users (requires
- nonicks module).
- O:opertype Prevents IRCops of the specified opertype from joining
- the channel, mostly useful as an invite exception (IRCop
- only, requires operchans module).
- Q:n!u@h Blocks kicks by matching users (requires nokicks
- module).
- R:account Prevents users logged into a matching account from
- joining the channel (requires services account module).
- S:n!u@h Strips color/bold/underline from messages from matching
- users (requires stripcolor module).
- T:n!u@h Blocks notices from matching users (requires nonotice
- module).
- U:n!u@h Blocks unregistered users matching the given ban.
- (requires m_services_account)
- z:certfp Blocks users having the given certificate fingerprint
- (requires m_sslmodes)
-
- Redirect n!u@h#channel will redirect the banned user to #channel
- when they try to join (requires banredirect module).
-
-All extbans that prevent users from joining may by used for ban
-exceptions and invite exceptions (invex), and extbans blocking
-specific actions may be used for ban exceptions to exempt people from
-either wider extbans or the restrictive mode matching the extban,
-where one exists.">
+Extbans are split into two types; matching extbans, which match on
+users in additional ways, and acting extbans, which restrict users
+in different ways to a standard ban.
+
+To use an extban, simply set +b <ban> or +e <ban> with it as the ban,
+instead of a normal nick!user@host mask, to ban or exempt matching
+users. Ban exceptions on acting extbans exempt that user from matching
+an extban of that type, and from any channel mode corresponding to the
+restriction. Matching extbans may also be used for invite exceptions by
+setting +I <extban>.
+
+Matching extbans:
+
+ j:<channel> Matches anyone in the given channel. Does not support
+ wildcards (requires channelban module).
+ r:<realname> Matches users with a matching realname (requires gecosban
+ module).
+ s:<server> Matches users on a matching server (requires serverban
+ module).
+ z:<certfp> Matches users having the given SSL certificate
+ fingerprint (requires sslmodes module).
+ O:<opertype> Matches IRCops of a matching type, mostly useful as an
+ an invite exception (requires operchans module).
+ R:<account> Matches users logged into a matching account (requires
+ services account module).
+
+Acting extbans:
+
+ c:<banmask> Blocks any messages that contain color codes from
+ matching users (requires blockcolor module).
+ m:<banmask> Blocks messages from matching users (requires muteban
+ module). Users with +v or above are not affected.
+ p:<banmask> Blocks part messages from matching users (requires
+ nopartmsg module).
+ A:<banmask> Blocks invites by matching users even when +A is set
+ (requires allowinvite module).
+ B:<banmask> Blocks all capital or nearly all capital messages from
+ matching users (requires blockcaps module).
+ C:<banmask> Blocks CTCPs from matching users (requires noctcp
+ module).
+ N:<banmask> Blocks nick changes from matching users (requires
+ nonicks module).
+ Q:<banmask> Blocks kicks by matching users (requires nokicks
+ module).
+ S:<banmask> Strips color/bold/underline from messages from matching
+ users (requires stripcolor module).
+ T:<banmask> Blocks notices from matching users (requires nonotice
+ module).
+ U:<banmask> Blocks unregistered users matching the given banmask.
+ (requires services account).
+
+A ban given to an Acting extban may either be a nick!user@host mask
+(unless stated otherwise), matched against users as for a normal ban,
+or a Matching extban.
+
+There is an additional special type of extended ban, a redirect ban:
+
+ Redirect n!u@h#channel will redirect the banned user to #channel
+ when they try to join (requires banredirect module).">
diff --git a/docs/conf/inspircd.conf.example b/docs/conf/inspircd.conf.example
index 6ef9c9d11..7ba324e47 100644
--- a/docs/conf/inspircd.conf.example
+++ b/docs/conf/inspircd.conf.example
@@ -14,7 +14,7 @@
# |___/ #
# #
##################################||####################################
- #||#
+ #||#
##################################||####################################
# #
# This is an example of the config file for InspIRCd. #
@@ -62,7 +62,7 @@
#<include executable="/path/to/executable parameters"> #
# #
# Executable include example: #
-#<include executable="/usr/bin/wget -q -O - http://mynet.net/inspircd.conf">
+#<include executable="/usr/bin/wget -q -O - http://example.com/inspircd.conf">
# #
@@ -85,7 +85,7 @@
<server
# name: Hostname of your server. Does not need to resolve, but
# does need to be correct syntax (something.somethingelse.tld).
- name="penguin.omega.org.za"
+ name="penguin.omega.example.org"
# description: Server description. Spaces are allowed.
description="Waddle World"
@@ -132,7 +132,7 @@
# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) #
# #
# If you want to link servers to InspIRCd you must load the #
-# m_spanningtree.so module! Please see the modules list for #
+# spanningtree module! Please see the modules list for #
# information on how to load this module! If you do not load this #
# module, server ports will NOT work! #
@@ -152,10 +152,13 @@
# to this bind section.
type="clients"
- # ssl: If you want this bind section to use SSL, define either
- # gnutls or openssl here. The appropriate SSL modules must be loaded
- # for ssl to work. If you do not want this bind section to support ssl,
- # just remove or comment out this option.
+ # ssl: If you want the port(s) in this bind tag to use SSL, set this to
+ # the name of a custom <sslprofile> tag that you have defined or one
+ # of "openssl", "gnutls", "mbedtls" if you have not defined any. See the
+ # wiki page for the SSL module you are using for more details.
+ #
+ # You will need to load the ssl_openssl module for OpenSSL, ssl_gnutls
+ # for GnuTLS and ssl_mbedtls for mbedTLS.
ssl="gnutls"
# defer: When this is non-zero, connections will not be handed over to
@@ -168,47 +171,39 @@
# To change it on a running bind, you'll have to comment it out,
# rehash, comment it in and rehash again.
defer="0"
+
+ # free: When this is enabled the listener will be created regardless of
+ # whether the interface that provides the bind address is available. This
+ # is useful for if you are starting InspIRCd on boot when the server may
+ # not have brought the network interfaces up yet.
+ free="no"
>
<bind address="" port="6660-6669" type="clients">
-# When linking servers, the OpenSSL and GnuTLS implementations are completely
-# link-compatible and can be used alongside each other
-# on each end of the link without any significant issues.
-# Supported ssl types are: "openssl" and "gnutls".
-# You must load, m_ssl_openssl for OpenSSL or m_ssl_gnutls for GnuTLS.
+# Listener accepting HTML5 WebSocket connections.
+# Requires the websocket module and SHA-1 hashing support (provided by the sha1
+# module).
+#<bind address="" port="7002" type="clients" hook="websocket">
+
+# You can define a custom <sslprofile> tag which defines the SSL configuration
+# for this listener. See the wiki page for the SSL module you are using for
+# more details.
+#
+# Alternatively, you can use one of the default SSL profiles which are created
+# when you have not defined any:
+# "openssl" (requires the ssl_openssl module)
+# "gnutls" (requires the ssl_gnutls module)
+# "mbedtls" (requires the ssl_mbedtls module)
+#
+# When linking servers, the OpenSSL, GnuTLS, and mbedTLS implementations are
+# completely link-compatible and can be used alongside each other on each end
+# of the link without any significant issues.
<bind address="" port="7000,7001" type="servers">
<bind address="1.2.3.4" port="7005" type="servers" ssl="openssl">
-#-#-#-#-#-#-#-#-#-#- DIE/RESTART CONFIGURATION -#-#-#-#-#-#-#-#-#-#-
-# #
-# You can configure the passwords here which you wish to use for #
-# the /DIE and /RESTART commands. Only trusted IRCop's who will #
-# need this ability should know the die and restart password. #
-# #
-
-<power
- # hash: what hash these passwords are hashed with.
- # Requires the module for selected hash (m_md5.so, m_sha256.so
- # or m_ripemd160.so) be loaded and the password hashing module
- # (m_password_hash.so) loaded.
- # Options here are: "md5", "sha256" and "ripemd160", or one of
- # these prefixed with "hmac-", e.g.: "hmac-sha256".
- # Optional, but recommended. Create hashed passwords with:
- # /mkpasswd <hash> <password>
- #hash="sha256"
-
- # diepass: Password for opers to use if they need to shutdown (die)
- # a server.
- diepass=""
-
- # restartpass: Password for opers to use if they need to restart
- # a server.
- restartpass="">
-
-
#-#-#-#-#-#-#-#-#-#- CONNECTIONS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
# This is where you can configure which connections are allowed #
@@ -250,13 +245,14 @@
# allow: What IP addresses/hosts to allow for this block.
allow="203.0.113.*"
- # hash: what hash this password is hashed with. requires the module
- # for selected hash (m_md5.so, m_sha256.so or m_ripemd160.so) be
- # loaded and the password hashing module (m_password_hash.so)
- # loaded. Options here are: "md5", "sha256" and "ripemd160".
- # Optional, but recommended. Create hashed passwords with:
- # /mkpasswd <hash> <password>
- #hash="sha256"
+ # hash: the hash function this password is hashed with. Requires the
+ # module for the selected function (bcrypt, md5, sha1, sha256, or
+ # ripemd160) and the password hashing module (password_hash) to be
+ # loaded.
+ # You may also use any of the above other than bcrypt prefixed with
+ # either "hmac-" or "pbkdf2-hmac-" (requires the pbkdf2 module).
+ # Create hashed passwords with: /mkpasswd <hash> <password>
+ #hash="bcrypt"
# password: Password to use for this block/user(s)
password="secret"
@@ -277,7 +273,7 @@
# globalmax: Maximum global (network-wide) connections per IP (or CIDR mask, see below).
globalmax="3"
- # maxconnwarn: Enable warnings when localmax or globalmax is hit (defaults to on)
+ # maxconnwarn: Enable warnings when localmax or globalmax are reached (defaults to on)
maxconnwarn="off"
# resolvehostnames: If disabled, no DNS lookups will be performed on connecting users
@@ -285,7 +281,7 @@
resolvehostnames="yes"
# usednsbl: Defines whether or not users in this class are subject to DNSBL. Default is yes.
- # This setting only has effect when m_dnsbl is loaded.
+ # This setting only has effect when the dnsbl module is loaded.
#usednsbl="yes"
# useident: Defines if users in this class MUST respond to a ident query or not.
@@ -295,15 +291,15 @@
limit="5000"
# modes: Usermodes that are set on users in this block on connect.
- # Enabling this option requires that the m_conn_umodes module be loaded.
+ # Enabling this option requires that the conn_umodes module be loaded.
# This entry is highly recommended to use for/with IP Cloaking/masking.
- # For the example to work, this also requires that the m_cloaking
+ # For the example to work, this also requires that the "cloaking"
# module be loaded as well.
modes="+x"
# requireident, requiressl, requireaccount: require that users of this
# block have a valid ident response, use SSL, or have authenticated.
- # Requires m_ident, m_sslinfo, or m_services_account respectively.
+ # Requires ident, sslinfo, or the services_account module, respectively.
requiressl="on"
# NOTE: For requireaccount, you must complete the signon prior to full
# connection. Currently, this is only possible by using SASL
@@ -322,9 +318,9 @@
# \017 or \x = Stop all color sequences
allowmotdcolors="false"
- # port: What port this user is allowed to connect on. (optional)
- # The port MUST be set to listen in the bind blocks above.
- port="6697">
+ # port: What port range this user is allowed to connect on. (optional)
+ # The ports MUST be set to listen in the bind blocks above.
+ port="6697,9999">
<connect
# name: Name to use for this connect block. Mainly used for
@@ -402,9 +398,9 @@
limit="5000"
# modes: Usermodes that are set on users in this block on connect.
- # Enabling this option requires that the m_conn_umodes module be loaded.
+ # Enabling this option requires that the conn_umodes module be loaded.
# This entry is highly recommended to use for/with IP Cloaking/masking.
- # For the example to work, this also requires that the m_cloaking
+ # For the example to work, this also requires that the cloaking
# module be loaded as well.
modes="+x">
@@ -462,7 +458,7 @@
# server: DNS server to use to attempt to resolve IP's to hostnames.
# in most cases, you won't need to change this, as inspircd will
# automatically detect the nameserver depending on /etc/resolv.conf
- # (or, on windows, your set nameservers in the registry.)
+ # (or, on Windows, your set nameservers in the registry.)
# Note that this must be an IP address and not a hostname, because
# there is no resolver to resolve the name until this is defined!
#
@@ -496,7 +492,7 @@
# matched, the banlist size defaults to 64 entries. #
# #
-<banlist chan="#morons" limit="128">
+<banlist chan="#largechan" limit="128">
<banlist chan="*" limit="69">
#-#-#-#-#-#-#-#-#-#-#- DISABLED FEATURES -#-#-#-#-#-#-#-#-#-#-#-#-#-#
@@ -568,18 +564,13 @@
# triggers anti-takeover mechanisms of some obsolete bots.
cyclehostsfromuser="no"
- # ircumsgprefix: Use undernet-style message prefixing for NOTICE and
- # PRIVMSG. If enabled, it will add users' prefix to the line, if not,
- # it will just message the user normally.
- ircumsgprefix="no"
-
# announcets: If set to yes, when the timestamp on a channel changes, all users
# in the channel will be sent a NOTICE about it.
announcets="yes"
# allowmismatch: Setting this option to yes will allow servers to link even
# if they don't have the same "optionally common" modules loaded. Setting this to
- # yes may introduce some desyncs and weirdness.
+ # yes may introduce some desyncs and unwanted behaviour.
allowmismatch="no"
# defaultbind: Sets the default for <bind> tags without an address. Choices are
@@ -630,7 +621,7 @@
# somaxconn: The maximum number of connections that may be waiting
# in the accept queue. This is *NOT* the total maximum number of
# connections per server. Some systems may only allow this to be up
- # to 5, while others (such as linux and *BSD) default to 128.
+ # to 5, while others (such as Linux and *BSD) default to 128.
# Setting this above the limit imposed by your OS can have undesired
# effects.
somaxconn="128"
@@ -672,11 +663,6 @@
# higher ranked users. This is the recommended setting.
announceinvites="dynamic"
- # hidemodes: If enabled, then the listmodes given will be hidden
- # from users below halfop. This is not recommended to be set on +b
- # as it may break some functionality in popular clients such as mIRC.
- hidemodes="eI"
-
# hideulines: If this value is set to yes, U-lined servers will
# be hidden from non-opers in /links and /map.
hideulines="no"
@@ -701,6 +687,9 @@
# hidekills: If defined, replaces who set a /kill with a custom string.
hidekills=""
+ # hideulinekills: Hide kills from clients of ulined servers from server notices.
+ hideulinekills="yes"
+
# hidesplits: If enabled, non-opers will not be able to see which
# servers split in a netsplit, they will only be able to see that one
# occurred (If their client has netsplit detection).
@@ -825,7 +814,7 @@
# - OPER - succesful and failed oper attempts
# - KILL - kill related messages
# - snomask - server notices (*all* snomasks will be logged)
-# - FILTER - messages related to filter matches (m_filter)
+# - FILTER - messages related to filter matches (filter module)
# - CONFIG - configuration related messages
# - COMMAND - die and restart messages, and messages related to unknown user types
# - SOCKET - socket engine informational/error messages
@@ -849,6 +838,11 @@
# - USERINPUT
# - USEROUTPUT
#
+# If your server is producing a high levels of log messages you can also set the
+# flush="[positive number]" attribute to specify how many log messages should be
+# buffered before flushing to disk. You should probably not specify this unless
+# you are having problems.
+#
# The following log tag is highly default and uncustomised. It is recommended you
# sort out your own log tags. This is just here so you get some output.
@@ -895,19 +889,15 @@
nick="ChanServ"
# reason: Reason to display on /nick.
- reason="Reserved For Services">
-
-<badnick nick="NickServ" reason="Reserved For Services">
-<badnick nick="OperServ" reason="Reserved For Services">
-<badnick nick="MemoServ" reason="Reserved For Services">
+ reason="Reserved for a network service">
<badhost
# host: ident@hostname to ban.
# Wildcards and CIDR (if you specify an IP) can be used.
- host="*@hundredz.n.hundredz.o.1337.kiddies.example.net"
+ host="*@banneduser.example.net"
# reason: Reason to display when user is disconnected
- reason="Too many 1337 kiddiots">
+ reason="Evading Bans">
<badhost host="root@*" reason="Don't IRC as root!">
<badhost host="*@198.51.100.0/24" reason="This subnet is bad.">
@@ -954,7 +944,7 @@
# #
# You should already know what to do here :) #
-<die value="User error. Insert new user and press any key. (you didn't edit your config properly.)">
+<die value="User error. You didn't edit your config properly. Go back and try again.">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# MODULES #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# ____ _ _____ _ _ ____ _ _ _ #
@@ -987,6 +977,20 @@
# Settings similar to Charybdis IRCd defaults.
#<include file="examples/modules/charybdis.conf.example">
+#-#-#-#-#-#-#-#-#-#-#-# SERVICES CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#
+# #
+# If you use services you will probably want to include one of the #
+# following files which set up aliases, nick reservations and filter #
+# exemptions for services pseudoclients: #
+#
+# Anope users should uncomment this:
+#<include file="examples/services/anope.conf.example">
+#
+# Atheme users should uncomment this:
+#<include file="examples/services/atheme.conf.example">
+#
+# Users of other services should uncomment this:
+#<include file="examples/services/generic.conf.example">
#########################################################################
# #
diff --git a/docs/conf/links.conf.example b/docs/conf/links.conf.example
index dbb29f1ff..f3e07f7ed 100644
--- a/docs/conf/links.conf.example
+++ b/docs/conf/links.conf.example
@@ -10,18 +10,18 @@
# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) #
# #
# If you want to link servers to InspIRCd you must load the #
-# m_spanningtree.so module! #
+# spanningtree module! #
# #
# #
<link
# name: The name of the remote server. This must match
# the <server:name> value of the remote server.
- name="hub.penguin.org"
+ name="hub.example.org"
# ipaddr: The IP address of the remote server.
# Can also be a hostname, but hostname must resolve.
- ipaddr="penguin.box.com"
+ ipaddr="penguin.example.org"
# port: The port to connect to the server on.
# It must be bound as a server port on the other server.
@@ -36,30 +36,32 @@
# failover (see above).
timeout="300"
- # ssl: If defined, this states the SSL module that will be used when
- # making an outbound connection to the server. Options are: "openssl"
- # and "gnutls" (they are compatible with each other).
+ # ssl: If defined, this states the SSL profile that will be used when
+ # making an outbound connection to the server. Options are the name of an
+ # <sslprofile> tag that you have defined or one of "openssl", "gnutls",
+ # "mbedtls" if you have not defined any. See the wiki page for the SSL
+ # module you are using for more details.
#
- # You will need to load the m_ssl_openssl.so module for OpenSSL,
- # m_ssl_gnutls.so for GnuTLS. The server port that you connect to
- # must be capable of accepting this type of connection.
+ # You will need to load the ssl_openssl module for OpenSSL, ssl_gnutls
+ # for GnuTLS and ssl_mbedtls for mbedTLS. The server port that you
+ # connect to must be capable of accepting this type of connection.
ssl="gnutls"
# fingerprint: If defined, this option will force servers to be
- # authenticated using SSL Fingerprints. See http://wiki.inspircd.org/SSL
- # for more information. This will require an SSL link for both inbound
- # and outbound connections.
+ # authenticated using SSL certificate fingerprints. See
+ # http://wiki.inspircd.org/SSL for more information. This will
+ # require an SSL link for both inbound and outbound connections.
#fingerprint=""
# bind: Local IP address to bind to.
bind="1.2.3.4"
# statshidden: Defines if IP is shown to opers when
- # /stats c is invoked.
+ # /STATS c is invoked.
statshidden="no"
# hidden: If this is set to yes, this server and its "child"
- # servers will not be shown when users do a /map or /links
+ # servers will not be shown when users do a /MAP or /LINKS.
hidden="no"
# passwords: the passwords we send and receive.
@@ -71,8 +73,8 @@
# A duplicate of the first link block without comments
# if you like copying & pasting.
-<link name="hub.penguin.org"
- ipaddr="penguin.box.com"
+<link name="hub.example.org"
+ ipaddr="penguin.example.org"
port="7000"
allowmask="203.0.113.0/24"
timeout="300"
@@ -85,7 +87,7 @@
# Link block for services. Options are the same as for the first
# link block (depending on what your services package supports).
-<link name="services.antarctic.com"
+<link name="services.example.com"
ipaddr="localhost"
port="7000"
allowmask="127.0.0.0/8"
@@ -95,7 +97,7 @@
# Simple autoconnect block. This enables automatic connection of a server
# Recommended setup is to have leaves connect to the hub, and have no
# automatic connections started by the hub.
-<autoconnect period="10m" server="hub.penguin.org">
+<autoconnect period="10m" server="hub.example.org">
# Failover autoconnect block. If you have multiple hubs, or want your network
# to automatically link even if the hub is down, you can specify multiple
@@ -103,7 +105,7 @@
# robin fashion until one succeeds. Period defines the time for restarting
# a single loop.
<autoconnect period="120"
- server="hub.us.penguin.org hub.eu.penguin.org leaf.eu.penguin.org">
+ server="hub.us.example.org hub.eu.example.org leaf.eu.example.org">
#-#-#-#-#-#-#-#-#-#-#-#- ULINES CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
@@ -115,4 +117,4 @@
# not generate quit and connect notices, which can cut down on noise #
# to opers on the network. #
# #
-<uline server="services.antarctic.com" silent="yes">
+<uline server="services.example.com" silent="yes">
diff --git a/docs/conf/modules.conf.example b/docs/conf/modules.conf.example
index e40273d39..93e26059c 100644
--- a/docs/conf/modules.conf.example
+++ b/docs/conf/modules.conf.example
@@ -19,10 +19,11 @@
# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| #
# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) #
# #
-# To link servers to InspIRCd, you MUST load the m_spanningtree #
-# module. If you don't do this, server links will NOT work at all. #
+# To link servers to InspIRCd, you MUST load the spanningtree module. #
+# If you don't do this, server links will NOT work at all. #
# This is by design, to allow for the implementation of other linking #
-# protocols in modules in the future. #
+# protocols in modules in the future. This module is at the bottom of #
+# this file. #
# #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
@@ -30,38 +31,38 @@
# cryptographic uses and security.
#
# IMPORTANT:
-# Other modules such as m_cloaking.so and m_password_hash.so may rely on
+# Other modules such as cloaking and password_hash may rely on
# this module being loaded to function.
#
-#<module name="m_md5.so">
+#<module name="md5">
#
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SHA256 module: Allows other modules to generate SHA256 hashes,
# usually for cryptographic uses and security.
#
# IMPORTANT:
-# Other modules such as m_password_hash.so may rely on this module being
-# loaded to function. Certain modules such as m_spanningtree.so will
+# Other modules such as password_hash may rely on this module being
+# loaded to function. Certain modules such as spanningtree will
# function without this module but when it is loaded their features will
# be enhanced (for example the addition of HMAC authentication).
#
-#<module name="m_sha256.so">
+#<module name="sha256">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# RIPEMD160 module: Allows other modules to generate RIPEMD160 hashes,
# usually for cryptographic uses and security.
#
# IMPORTANT:
# Other modules may rely on this module being loaded to function.
-#<module name="m_ripemd160.so">
+#<module name="ripemd160">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Abbreviation module: Provides the ability to abbreviate commands a-la
# BBC BASIC keywords.
-#<module name="m_abbreviation.so">
+#<module name="abbreviation">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Alias module: Allows you to define server-side command aliases.
-#<module name="m_alias.so">
+#<module name="alias">
#
# Set the 'prefix' for in-channel aliases (fantasy commands) to the
# specified character. If not set, the default is "!".
@@ -71,9 +72,9 @@
#
#-#-#-#-#-#-#-#-#-#-#- ALIAS DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
# #
-# If you have the m_alias.so module loaded, you may also define #
-# aliases as shown below. They are commonly used to provide shortcut #
-# commands to services, however they are not limited to just this use.#
+# If you have the alias module loaded, you may also define aliases as #
+# shown below. They are commonly used to provide shortcut commands to #
+# services, however they are not limited to just this use. #
# An alias tag requires the following values to be defined in it: #
# #
# text - The text to detect as the actual command line. #
@@ -134,18 +135,6 @@
# If a non-oper attempts to use the alias, it will #
# appear to not exist. #
# #
-#<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
-#<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
-#<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
-#<alias text="BOTSERV" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes">
-#<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes">
-#<alias text="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
-#<alias text="NS" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
-#<alias text="CS" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
-#<alias text="OS" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
-#<alias text="BS" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes">
-#<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes">
-#<alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
#
# An example of using the format value to create an alias with two
# different behaviours depending on the format of the parameters.
@@ -158,8 +147,7 @@
#
# This alias fixes a glitch in xchat 2.6.x and above and the way it
# assumes IDENTIFY must be prefixed by a colon (:) character. It should
-# be placed ABOVE the default NICKSERV alias (the first example) listed
-# above.
+# be placed ABOVE the default NICKSERV alias.
#
#<alias text="NICKSERV" format=":IDENTIFY *" replace="PRIVMSG NickServ :IDENTIFY $3-"
# requires="NickServ" uline="yes">
@@ -179,18 +167,18 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Allowinvite module: Gives channel mode +A to allow all users to use
# /INVITE, and extban A to deny invite from specific masks.
-#<module name="m_allowinvite.so">
+#<module name="allowinvite">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Alltime module: Shows time on all connected servers at once.
# This module is oper-only and provides /ALLTIME.
# To use, ALLTIME must be in one of your oper class blocks.
-#<module name="m_alltime.so">
+#<module name="alltime">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Auditorium module: Adds channel mode +u which makes everyone else
# except you in the channel invisible, used for large meetings etc.
-#<module name="m_auditorium.so">
+#<module name="auditorium">
#
# Auditorium settings:
#
@@ -214,25 +202,34 @@
# Another useful combination is with SSL client certificate
# fingerprints: +w h:z:72db600734bb9546c1bdd02377bc21d2a9690d48 will
# give halfop to the user(s) having the given certificate.
-#<module name="m_autoop.so">
+#<module name="autoop">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Ban except module: Adds support for channel ban exceptions (+e).
-#<module name="m_banexception.so">
+#<module name="banexception">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Ban redirection module: Allows bans which redirect to a specified
# channel. e.g. +b nick!ident@host#channelbanneduserissentto
-#<module name="m_banredirect.so">
+#<module name="banredirect">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# bcrypt module: Allows other modules to generate bcrypt hashes,
+# usually for cryptographic uses and security.
+#<module name="bcrypt">
+#
+# rounds: Defines how many rounds the bcrypt function will run when
+# generating new hashes.
+#<bcrypt rounds="10">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Block amsg module: Attempt to block all usage of /amsg and /ame.
-#<module name="m_blockamsg.so">
+#<module name="blockamsg">
#
#-#-#-#-#-#-#-#-#-#-#- BLOCKAMSG CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# If you have the m_blockamsg.so module loaded, you can configure it #
-# with the <blockamsg> tag: #
+# If you have the blockamsg module loaded, you can configure it with #
+# the <blockamsg> tag: #
# #
# delay - How many seconds between two messages to force #
# them to be recognised as unrelated. #
@@ -243,42 +240,42 @@
#<blockamsg delay="3" action="killopers">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Block CAPS module: Blocking all-CAPS messages with channel mode +B.
-#<module name="m_blockcaps.so">
+# Block CAPS module: Adds channel mode +B, blocks all-CAPS messages.
+#<module name="blockcaps">
#
#-#-#-#-#-#-#-#-#-#-#- BLOCKCAPS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# percent - How many percent of text must be caps before text #
-# will be blocked. #
+# percent - What percentage of the text must be caps before #
+# text will be blocked. #
# #
# minlen - The minimum length a line must be for the block #
# percent to have any effect. #
# #
-# capsmap - A list of chars to be considered CAPS, this was #
-# you can add CAPS for your language. Also you can #
-# add things like ! and space to further lock down #
-# on caps usage. #
+# capsmap - A list of chars to be considered CAPS. Can be used #
+# to add CAPS characters for your language. Also you #
+# can add things like ! and space to further lock #
+# down on caps usage. #
#<blockcaps percent="50"
# minlen="5"
# capsmap="ABCDEFGHIJKLMNOPQRSTUVWXYZ! ">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Block color module: Blocking color-coded messages with chan mode +c.
-#<module name="m_blockcolor.so">
+#<module name="blockcolor">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Botmode module: Adds the user mode +B. If set on a user, it will
# show that the user is a bot in /WHOIS.
-#<module name="m_botmode.so">
+#<module name="botmode">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CallerID module: Adds usermode +g which activates hybrid-style
-# callerid: block all private messages unless you /accept first
-#<module name="m_callerid.so">
+# callerid: block all private messages unless you /ACCEPT first.
+#<module name="callerid">
#
#-#-#-#-#-#-#-#-#-#-#- CALLERID CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# maxaccepts - Maximum number of entries a user can add to his #
-# /accept list. Default is 16 entries. #
+# /ACCEPT list. Default is 16 entries. #
# operoverride - Can opers (note: ALL opers) override callerid? #
# Default is no. #
# tracknick - Preserve /accept entries when a user changes nick? #
@@ -293,23 +290,24 @@
# cooldown="60">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# CAP module: Provides the CAP negotiation mechanism seen in
-# ratbox-derived ircds.
-#<module name="m_cap.so">
+# CAP module: Provides the CAP negotiation mechanism required by the
+# sasl, namesx, uhnames, and ircv3 modules.
+# It is also recommended for STARTTLS support in the starttls module.
+#<module name="cap">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CBAN module: Lets you disallow channels from being used at runtime.
-# This module is oper-only and provides /cban.
+# This module is oper-only and provides /CBAN.
# To use, CBAN must be in one of your oper class blocks.
-#<module name="m_cban.so">
+#<module name="cban">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Censor module: Adds channel and user mode +G.
-#<module name="m_censor.so">
+#<module name="censor">
#
#-#-#-#-#-#-#-#-#-#-#- CENSOR CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# Optional - If you specify to use the m_censor module, then you must #
+# Optional - If you specify to use the censor module, then you must #
# specify some censor tags. See also: #
# http://wiki.inspircd.org/Modules/censor #
#
@@ -319,11 +317,11 @@
# CGI:IRC module: Adds support for automatic host changing in CGI:IRC
# (http://cgiirc.sourceforge.net).
# Adds snomask +w for monitoring CGI:IRC connections.
-#<module name="m_cgiirc.so">
+#<module name="cgiirc">
#
#-#-#-#-#-#-#-#-#-#-#-# CGIIRC CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
#
-# Optional - If you specify to use m_cgiirc, then you must specify one
+# Optional - If you specify to use 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://wiki.inspircd.org/Modules/cgiirc
@@ -336,12 +334,12 @@
# CGI:IRC documentation.
#
# Old style:
-# <cgihost type="pass" mask="www.mysite.com"> # Get IP from PASS
-# <cgihost type="ident" mask="otherbox.mysite.com"> # Get IP from ident
-# <cgihost type="passfirst" mask="www.mysite.com"> # See the docs
+# <cgihost type="pass" mask="www.example.com"> # Get IP from PASS
+# <cgihost type="ident" mask="otherbox.example.com"> # Get IP from ident
+# <cgihost type="passfirst" mask="www.example.com"> # See the docs
# New style:
# <cgihost type="webirc" password="foobar"
-# mask="somebox.mysite.com"> # Get IP from WEBIRC
+# mask="somebox.example.com"> # Get IP from WEBIRC
#
# IMPORTANT NOTE:
# ---------------
@@ -360,12 +358,12 @@
# Channel create module: Adds snomask +j, which will notify opers of
# any new channels that are created.
# This module is oper-only.
-#<module name="m_chancreate.so">
+#<module name="chancreate">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channel filter module: Allows channel-op defined message filtering
# using simple string matches (channel mode +g).
-#<module name="m_chanfilter.so">
+#<module name="chanfilter">
#
# If hidemask is set to yes, the user will not be shown the mask when
# his/her message is blocked.
@@ -376,7 +374,7 @@
# joining a channel with +H 'X:T' set; 'T' is the maximum time to keep
# lines in the history buffer. Designed so that the new user knows what
# the current topic of conversation is when joining the channel.
-#<module name="m_chanhistory.so">
+#<module name="chanhistory">
#
# Set the maximum number of lines allowed to be stored per channel below.
# This is the hard limit for 'X'.
@@ -392,7 +390,7 @@
# The "channel" field is where you want the messages to go, "snomasks"
# is what snomasks you want to be sent to that channel. Multiple tags
# are allowed.
-#<module name="m_chanlog.so">
+#<module name="chanlog">
#<chanlog snomasks="AOcC" channel="#opers">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
@@ -400,7 +398,7 @@
# characters in the channel name such as bold, colorcodes, etc. which
# can be quite annoying and allow users to on occasion have a channel
# that looks like the name of another channel on the network.
-#<module name="m_channames.so">
+#<module name="channames">
<channames
# denyrange: characters or range of characters to deny in channel
@@ -414,7 +412,10 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channelban: Implements extended ban j:, which stops anyone already
# in a channel matching a ban like +b j:#channel*mask from joining.
-#<module name="m_channelban.so">
+# Note that by default wildcard characters * and ? are allowed in
+# channel names. To disallow them, load m_channames and add characters
+# 42 and 63 to denyrange (see above).
+#<module name="channelban">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Check module: Adds the /CHECK command.
@@ -422,7 +423,7 @@
# IP addresses and hosts.
# This module is oper-only.
# To use, CHECK must be in one of your oper class blocks.
-#<module name="m_check.so">
+#<module name="check">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CHGHOST module: Adds the /CHGHOST command.
@@ -431,7 +432,7 @@
# NOTE: Services will not be able to set vhosts on users if this module
# isn't loaded. If you're planning on running services, you probably
# want to load this.
-#<module name="m_chghost.so">
+#<module name="chghost">
#
#-#-#-#-#-#-#-#-# /CHGHOST - /SETHOST CONFIGURATION #-#-#-#-#-#-#-#-#
# Optional - If you want to use special chars for hostnames you can #
@@ -446,29 +447,37 @@
# CHGIDENT module: Adds the /CHGIDENT command.
# This module is oper-only.
# To use, CHGIDENT must be in one of your oper class blocks.
-#<module name="m_chgident.so">
+#<module name="chgident">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# CHGNAME module: Adds the /CHGNAME command
+# CHGNAME module: Adds the /CHGNAME command.
# This module is oper-only.
# To use, CHGNAME must be in one of your oper class blocks.
-#<module name="m_chgname.so">
+#<module name="chgname">
+#
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Connection class ban module: Adds support for extban 'n' which
+# matches against the class name of the user's connection.
+# This module assumes that connection classes are named in a uniform
+# way on all servers of the network.
+#<module name="classban">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Clear chan module: Allows opers to masskick, masskill or mass-G/ZLine
# all users on a channel using /CLEARCHAN.
-#<module name="m_clearchan.so">
+#<module name="clearchan">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Cloaking module: Adds usermode +x and cloaking support.
-# Relies on the module m_md5.so being loaded.
-# To use, you should enable m_conn_umodes and add +x as
-# an enabled mode. See the m_conn_umodes module for more information.
-#<module name="m_cloaking.so">
+# Relies on the md5 module being loaded.
+# To cloak users when they connect, load the conn_umodes module and set
+# <connect:modes> to include the +x mode. The example <connect> tag
+# shows this. See the conn_umodes module for more information.
+#<module name="cloaking">
#
#-#-#-#-#-#-#-#-#-#-#- CLOAKING CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# To use m_cloaking, you must define a cloak key, and optionally a #
+# To use cloaking, you must define a cloak key, and optionally a #
# cloak prefix as shown below. The cloak key must be shared across #
# the network for correct cloaking. #
# #
@@ -493,7 +502,7 @@
# Close module: Allows an oper to close all unregistered connections.
# This module is oper-only and provides the /CLOSE command.
# To use, CLOSE must be in one of your oper class blocks.
-#<module name="m_close.so">
+#<module name="close">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Clones module: Adds an oper command /CLONES for detecting cloned
@@ -501,25 +510,25 @@
# issued, use with care.
# This module is oper-only.
# To use, CLONES must be in one of your oper class blocks.
-#<module name="m_clones.so">
+#<module name="clones">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Common channels module: Adds user mode +c, which, when set, requires
# that users must share a common channel with you to PRIVMSG or NOTICE
# you.
-#<module name="m_commonchans.so">
+#<module name="commonchans">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Auto join on connect module: Allows you to force users to join one
# or more channels automatically upon connecting to the server, or
# join them in case they aren't on any channels after being online
# for X seconds.
-#<module name="m_conn_join.so">
+#<module name="conn_join">
#
#-#-#-#-#-#-#-#-#-#-#-#- CONNJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
#
-# If you have m_conn_join.so loaded, you can configure it using the
-# following values, or set autojoin="#chat,#help" in <connect> blocks.
+# If you have the conn_join module loaded, you can configure it below
+# or set autojoin="#chat,#help" in <connect> blocks.
#
# Join users immediately after connection to #one #two and #three.
#<autojoin channel="#one,#two,#three">
@@ -530,18 +539,18 @@
# Set modes on connect module: When this module is loaded <connect>
# blocks may have an optional modes="" value, which contains modes to
# add or remove from users when they connect to the server.
-#<module name="m_conn_umodes.so">
+#<module name="conn_umodes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Wait for PONG on connect module: Send a PING to all connecting users
# and don't let them connect until they reply with a PONG.
# This is useful to stop certain kinds of bots and proxies.
-#<module name="m_conn_waitpong.so">
+#<module name="conn_waitpong">
#
#-#-#-#-#-#-#-#-#-#-#- WAITPONG CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# If you have the m_conn_waitpong.so module loaded, configure it with #
-# the <waitpong> tag: #
+# If you have the conn_waitpong module loaded, configure it with the #
+# <waitpong> tag: #
# #
# sendsnotice - Whether to send a helpful notice to users on #
# connect telling them how to connect, should #
@@ -555,13 +564,13 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channel cycle module: Adds the /CYCLE command which is a server-side
# /HOP that bypasses restrictive modes.
-#<module name="m_cycle.so">
+#<module name="cycle">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Connectban: Provides IP connection throttling. Any IP range that
# connects too many times (configurable) in an hour is Z-Lined for a
# (configurable) duration, and their count resets to 0.
-#<module name="m_connectban.so">
+#<module name="connectban">
#
# ipv4cidr and ipv6cidr allow you to turn the comparison from
# individual IP addresses (32 and 128 bits) into CIDR masks, to allow
@@ -576,7 +585,7 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Connection throttle module.
-#<module name="m_connflood.so">
+#<module name="connflood">
#
#-#-#-#-#-#-#-#-#-#-#- CONNTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#
# seconds, maxconns - Amount of connections per <seconds>.
@@ -596,7 +605,7 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Custom prefixes: Allows for channel prefixes to be added.
-#<module name="m_customprefix.so">
+#<module name="customprefix">
#
# name The name of the mode, must be unique from other modes.
# letter The letter used for this mode. Required.
@@ -611,37 +620,38 @@
#<customprefix name="halfop" letter="h" prefix="%" rank="20000" ranktoset="30000">
#<customprefix name="halfvoice" letter="V" prefix="-" rank="1" ranktoset="20000">
#
-# Do /RELOADMODULE m_customprefix.so after changing the settings of this module.
+# Do /RELOADMODULE customprefix after changing the settings of this module.
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Custom title module: Adds the /TITLE command which allows for trusted
# users to gain a custom whois line and an optional vhost can be
# specified.
-#<module name="m_customtitle.so">
+#<module name="customtitle">
#
#-#-#-#-#-#-#-#-#-#- 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
+# password_hash 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">
+#<title name="bar" password="foo" host="ident@test.org" title="Official Chat Helper" vhost="helper.test.org">
+#<title name="foo" password="$2a$10$UYZ4OcO8NNTCCGyCdY9SK.2GHiqGgxZfHFPOPmWuxEVWVQTtoDC7C" hash="bcrypt" title="Official Chat Helper">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# DCCALLOW module: Adds the /DCCALLOW command.
-#<module name="m_dccallow.so">
+#<module name="dccallow">
#
#-#-#-#-#-#-#-#-#-#-#- DCCALLOW CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# blockchat - Whether to block DCC CHAT as well as DCC SEND.
# length - Default duration of entries in DCCALLOW list.
# action - Default action to take if no action is
# specified, can be 'block' or 'allow'.
+# maxentries - Max number of nicks to allow on a DCCALLOW list.
#
# File configuration:
# pattern - The glob pattern to match against.
@@ -649,14 +659,14 @@
# that matches this pattern, can be 'block' or
# 'allow'.
#
-#<dccallow blockchat="yes" length="5m" action="block">
+#<dccallow blockchat="yes" length="5m" action="block" maxentries="20">
#<banfile pattern="*.exe" action="block">
#<banfile pattern="*.txt" action="allow">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Deaf module: Adds support for the usermode +d - deaf to channel
# messages and channel notices.
-#<module name="m_deaf.so">
+#<module name="deaf">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Delay join module: Adds the channel mode +D which delays all JOIN
@@ -664,22 +674,24 @@
# speaking, their quit or part message will not be shown to the channel
# which helps cut down noise on large channels in a more friendly way
# than the auditorium mode. Only channel ops may set the +D mode.
-#<module name="m_delayjoin.so">
+#<module name="delayjoin">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Delay message module: Adds the channel mode +d which disallows a user
# from talking in the channel unless they've been joined for X seconds.
# Settable using /MODE #chan +d 30
-#<module name="m_delaymsg.so">
+#<module name="delaymsg">
+# Set allownotice to no to disallow NOTICEs too. Defaults to yes.
+#<delaymsg allownotice="no">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Deny channels module: Deny channels from being used by users.
-#<module name="m_denychans.so">
+#<module name="denychans">
#
#-#-#-#-#-#-#-#-#-#-#- DENYCHAN DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# If you have the m_denychans.so module loaded, you need to specify #
-# the channels to deny: #
+# If you have the denychans module loaded, you need to specify the #
+# channels to deny: #
# #
# name - The channel name to deny (glob masks are ok). #
# allowopers - If operators are allowed to override the deny. #
@@ -687,25 +699,25 @@
# redirect - Redirect the user to a different channel. #
# #
#<badchan name="#gods*" allowopers="yes" reason="Tortoises!"> #
-#<badchan name="#heaven" redirect="#hell" reason="Nice try!"> #
+#<badchan name="#chan1" redirect="#chan2" reason="Chan1 is closed"> #
# #
# Redirects will not work if the target channel is set +L. #
# #
# Additionally, you may specify channels which are allowed, even if #
# a badchan tag specifies it would be denied: #
-#<goodchan name="#godsleeps"> #
+#<goodchan name="#funtimes"> #
# Glob masks are accepted here also. #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Devoice module: Let users devoice themselves using /DEVOICE #chan.
-#<module name="m_devoice.so">
+#<module name="devoice">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# DNS blacklist module: Provides support for looking up IPs on one or #
# more blacklists. #
-#<module name="m_dnsbl.so"> #
+#<module name="dnsbl"> #
# #
-# For configuration options please see the wiki page for m_dnsbl at #
+# For configuration options please see the wiki page for dnsbl at #
# http://wiki.inspircd.org/Modules/dnsbl #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
@@ -713,23 +725,25 @@
# channel operators to be exempt from some channel modes. Supported #
# modes are blockcaps, noctcp, blockcolor, nickflood, flood, censor, #
# filter, regmoderated, nonick, nonotice, and stripcolor. #
-#<module name="m_exemptchanops.so"> #
+#<module name="exemptchanops"> #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Filter module: Provides message filtering, similar to SPAMFILTER. #
-#<module name="m_filter.so">
+#<module name="filter">
# #
-# This module depends upon a regex provider such as m_regex_pcre or #
-# m_regex_glob to function. You must specify which of these you want #
-# m_filter to use via the tag below. #
+# This module depends upon a regex provider such as regex_pcre or #
+# regex_glob to function. You must specify which of these you want #
+# the filter module to use via the tag below. #
# #
# Valid engines are: #
# #
-# glob - Glob patterns, provided via m_regex_glob.so #
-# pcre - PCRE regexps, provided via m_regex_pcre.so, needs libpcre #
-# tre - TRE regexps, provided via m_regex_tre.so, requires libtre #
-# posix - POSIX regexps, provided via m_regex_posix.so, not availale #
-# on windows, no dependencies on other operating systems. #
+# glob - Glob patterns, provided via regex_glob. #
+# pcre - PCRE regexps, provided via regex_pcre, needs libpcre. #
+# tre - TRE regexps, provided via regex_tre, requires libtre. #
+# posix - POSIX regexps, provided via regex_posix, not available #
+# on Windows, no dependencies on other operating systems. #
+# stdlib - stdlib regexps, provided via regex_stdlib, see comment #
+# at the <module> tag for info on availability. #
# #
#<filteropts engine="glob"> #
# #
@@ -741,7 +755,7 @@
#
#-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# Optional - If you specify to use the m_filter module, then #
+# Optional - If you specify to use the filter module, then #
# specify below the path to the filter.conf file, or define some #
# <filter> tags. #
# #
@@ -753,12 +767,12 @@
# allowing all IPs to connect to all plaintext IRC ports #
#<bind address="" port="8430" type="flashpolicyd"> #
#<flashpolicyd timeout="5" file=""> #
-#<module name="m_flashpolicyd.so"> #
+#<module name="flashpolicyd"> #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Gecos ban: Implements extended ban 'r', which stops anyone matching
# a mask like +b r:*realname?here* from joining a channel.
-#<module name="m_gecosban.so">
+#<module name="gecosban">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# GeoIP module: Allows the server admin to match users by country code.
@@ -768,7 +782,7 @@
# This module requires GeoIP to be installed on your system,
# use your package manager to find the appropriate packages
# or check the InspIRCd wiki page for this module.
-#<module name="m_geoip.so">
+#<module name="geoip">
#
# The actual allow/ban actions are done by connect classes, not by the
# GeoIP module. An example connect class to ban people from russia or
@@ -786,32 +800,32 @@
# Globops module: Provides the /GLOBOPS command and snomask +g.
# This module is oper-only.
# To use, GLOBOPS must be in one of your oper class blocks.
-#<module name="m_globops.so">
+#<module name="globops">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Global load module: Allows loading and unloading of modules network-
# wide (USE WITH EXTREME CAUTION!)
-# This module is oper-only and provides /gloadmodule, /gunloadmodule
-# and /greloadmodule.
+# This module is oper-only and provides /GLOADMODULE, /GUNLOADMODULE
+# and /GRELOADMODULE.
# To use, GLOADMODULE, GUNLOADMODULE and GRELOADMODULE
# must be in one of your oper class blocks.
-#<module name="m_globalload.so">
+#<module name="globalload">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# HELPOP module: Provides the /HELPOP command
-#<module name="m_helpop.so">
+#<module name="helpop">
#
#-#-#-#-#-#-#-#-#-#-#-#- HELPOP CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# If you specify to use the m_helpop.so module, then specify below #
-# the path to the helpop.conf file. #
+# If you specify to use the helpop module, then specify below the #
+# path to the helpop.conf file. #
# #
#<include file="examples/inspircd.helpop-full.example">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Hide chans module: Allows users to hide their channels list from non-
# opers by setting user mode +I on themselves.
-#<module name="m_hidechans.so">
+#<module name="hidechans">
#
# This mode can optionally prevent opers from seeing channels on a +I
# user, for more privacy if set to true.
@@ -819,83 +833,107 @@
#<hidechans affectsopers="false">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Hide list module: Allows for hiding the list of listmodes from users
+# who do not have sufficient channel rank.
+#<module name="hidelist">
+#
+# Each <hidelist> tag configures one listmode to hide.
+# mode: Name of the listmode to hide.
+# rank: Minimum rank required to view the list. If set to 0, all
+# members of the channel may view the list, but non-members may not.
+# The rank of the built-in op and voice mode is 30000 and 10000,
+# respectively; the rank of other prefix modes is configurable.
+# Defaults to 20000.
+#
+# Hiding the ban list is not recommended because it may break some
+# clients.
+#
+# Hide filter (+g) list:
+#<hidelist mode="filter" rank="30000">
+# Only show invite exceptions (+I) to channel members:
+#<hidelist mode="invex" rank="0">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Hide oper module: Allows opers to hide their oper status from non-
# opers by setting user mode +H on themselves.
# This module is oper-only.
-#<module name="m_hideoper.so">
+#<module name="hideoper">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Hostchange module: Allows a different style of cloaking.
-#<module name="m_hostchange.so">
+#<module name="hostchange">
#
#-#-#-#-#-#-#-#-#-#-#- HOSTCHANGE CONFIGURATION -#-#-#-#-#-#-#-#-#-#
# #
# See http://wiki.inspircd.org/Modules/hostchange for help. #
# #
-#<host suffix="polarbears.org" separator="." prefix="">
-#<hostchange mask="*@fbi.gov" action="addnick">
-#<hostchange mask="*r00t@*" action="suffix">
-#<hostchange mask="a@b.com" action="set" value="blah.blah.blah">
+#<host suffix="invalid.org" separator="." prefix="">
+#<hostchange mask="*@42.theanswer.example.org" action="addnick">
+#<hostchange mask="*root@*" action="suffix">
+#<hostchange mask="a@example.com" action="set" value="foo.bar.baz">
#<hostchange mask="localhost" ports="7000,7001,7005-7007" action="set" value="blahblah.foo">
# hostcycle: If loaded, when a user gets a host or ident set, it will
# cycle them in all their channels. If not loaded it will simply change
# their host/ident without cycling them.
-#<module name="m_hostcycle.so">
+# This module is compatible with the ircv3_chghost module. Clients
+# supporting the chghost extension will get the chghost message instead
+# of seeing a host cycle.
+#<module name="hostcycle">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# httpd module: Provides HTTP server support for InspIRCd.
-#<module name="m_httpd.so">
+#<module name="httpd">
#
#-#-#-#-#-#-#-#-#-#-#-#- HTTPD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
#
-# If you choose to use the m_httpd.so module, then you will need to add
+# If you choose to use the httpd module, then you will need to add
# a <bind> tag with type "httpd", and load at least one of the other
-# m_httpd_* modules to provide pages to display.
+# httpd_* modules to provide pages to display.
#
# You can adjust the timeout for HTTP connections below. All HTTP
# connections will be closed after (roughly) this many seconds.
#<httpd timeout="20">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# HTTP ACL module: Provides access control lists for m_httpd dependent
+# HTTP ACL module: Provides access control lists for httpd dependent
# modules. Use this module to restrict pages by IP address and by
# password.
-#<module name="m_httpd_acl.so">
+#<module name="httpd_acl">
#
#-#-#-#-#-#-#-#-#-#-#-#- HTTPD ACL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
#
-# Restrict access to the m_httpd_stats module to all but the local
+# Restrict access to the httpd_stats module to all but the local
# network and when the correct password is specified:
# <httpdacl path="/stats*" types="password,whitelist"
-# username="secretstuff" password="mypasshere" whitelist="127.0.0.*,10.*">
+# username="secrets" password="mypasshere" whitelist="127.0.0.*,10.*">
#
# Deny all connections to all but the main index page:
# <httpdacl path="/*" types="blacklist" blacklist="*">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# HTTP config module: Allows the configuration of the server to be
-# viewed over HTTP. Requires m_httpd.so to be loaded for it to function.
-#<module name="m_httpd_config.so">
+# viewed over HTTP. Requires httpd to be loaded for it to function.
+#<module name="httpd_config">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# 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">
+# Requires httpd to be loaded for it to function.
+#<module name="httpd_stats">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Ident: Provides RFC 1413 ident lookup support.
# When this module is loaded <connect:allow> tags may have an optional
# useident="yes|no" boolean value, determining whether or not to lookup
# ident on users matching that connect tag.
-#<module name="m_ident.so">
+#<module name="ident">
#
#-#-#-#-#-#-#-#-#-#-#-#- IDENT CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# Optional - If you are using the m_ident.so module, then you can #
-# specify the timeout for ident lookups here. If not defined, it will #
-# default to 5 seconds. This is a non-blocking timeout which holds #
-# the user in a 'connecting' state until the lookup is complete. #
+# Optional - If you are using the ident module, then you can specify #
+# the timeout for ident lookups here. If not defined, it will default #
+# to 5 seconds. This is a non-blocking timeout which holds the user #
+# in a 'connecting' state until the lookup is complete. #
# The bind value indicates which IP to bind outbound requests to. #
# nolookupprefix: If on, the idents of users being in a connect class #
# with ident lookups disabled (i.e. <connect useident="off">) will be #
@@ -907,8 +945,8 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Invite exception module: Adds support for channel invite exceptions
# (+I).
-#<module name="m_inviteexception.so">
-# Does a +I bypass channel +k in addition to +i?
+#<module name="inviteexception">
+# bypasskey: If this is enabled, exceptions will bypass +k as well as +i
#<inviteexception bypasskey="yes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
@@ -916,22 +954,51 @@
# extended-join, away-notify and account-notify. These are optional
# enhancements to the client-to-server protocol. An extension is only
# active for a client when the client specifically requests it, so this
-# module needs m_cap to work.
+# module needs the cap module to work.
#
# Further information on these extensions can be found at the IRCv3
# working group website:
# http://ircv3.org/extensions/
#
-#<module name="m_ircv3.so">
+#<module name="ircv3">
# The following block can be used to control which extensions are
-# enabled. Note that extended-join can be incompatible with m_delayjoin
+# enabled. Note that extended-join can be incompatible with delayjoin
# and host cycling.
#<ircv3 accountnotify="on" awaynotify="on" extendedjoin="on">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# IRCv3 cap-notify module: Provides the cap-notify IRCv3.2 extension.
+# Required for IRCv3.2 conformance.
+#<module name="ircv3_capnotify">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# IRCv3 chghost module: Provides the chghost IRCv3.2 extension which
+# allows capable clients to learn when the host/ident of another user
+# changes without cycling the user. This module is compatible with the
+# hostcycle module. If both are loaded, clients supporting the chghost
+# extension will get the chghost message and won't see host cycling.
+#<module name="ircv3_chghost">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# IRCv3 echo-message module: Provides the echo-message IRCv3.2
+# extension which allows capable clients to get an acknowledgement when
+# their messages are delivered and learn what modifications, if any,
+# were applied to them.
+#<module name="ircv3_echomessage">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# IRCv3 invite-notify module: Provides the invite-notify IRCv3.2
+# extension which notifies supporting clients when a user invites
+# another user into a channel. This respects <options:announceinvites>.
+#<module name="ircv3_invitenotify">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Join flood module: Adds support for join flood protection +j X:Y.
-# Closes the channel for 60 seconds if X users join in Y seconds.
-#<module name="m_joinflood.so">
+# Closes the channel for N seconds if X users join in Y seconds.
+#<module name="joinflood">
+#
+# The number of seconds to close the channel for:
+#<joinflood duration="1m">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Jump server module: Adds support for the RPL_REDIR numeric.
@@ -939,15 +1006,15 @@
# To use, JUMPSERVER must be in one of your oper class blocks.
# If your server is redirecting new clients and you get disconnected,
# do a REHASH from shell to open up again.
-#<module name="m_jumpserver.so">
+#<module name="jumpserver">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Anti auto rejoin: Adds support for prevention of auto-rejoin (+J).
-#<module name="m_kicknorejoin.so">
+#<module name="kicknorejoin">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Knock module: Adds the /KNOCK command and channel mode +K.
-#<module name="m_knock.so">
+#<module name="knock">
#
# This setting specifies what to do when someone successfully /KNOCKs.
# If set to "notice", then a NOTICE will be sent to the channel.
@@ -965,7 +1032,7 @@
# ./configure --enable-extras=m_ldap.cpp
# and run make install, then uncomment this module to enable it.
#
-#<module name="m_ldap.so">
+#<module name="ldap">
#<database module="ldap" id="ldapdb" server="ldap://localhost" binddn="cn=Manager,dc=inspircd,dc=org" bindauth="mysecretpass" searchscope="subtree">
# The server parameter indicates the LDAP server to connect to. The #
# ldap:// style scheme before the hostname proper is MANDATORY. #
@@ -982,7 +1049,7 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# LDAP authentication module: Adds the ability to authenticate users #
# via LDAP. #
-#<module name="m_ldapauth.so">
+#<module name="ldapauth">
# #
# Configuration: #
# #
@@ -992,7 +1059,8 @@
# allowpattern="Guest* Bot*" #
# killreason="Access denied" #
# verbose="yes" #
-# host="$uid.$ou.inspircd.org"> #
+# host="$uid.$ou.inspircd.org" #
+# useusername="no"> #
# #
# <ldapwhitelist cidr="10.42.0.0/16"> #
# #
@@ -1009,6 +1077,10 @@
# regardless of if they have an account, for example guest and bot #
# users. #
# #
+# The useusername setting chooses whether the user's username or #
+# nickname is used when locating a user account, if a username isn't #
+# provided in PASS. #
+# #
# Killreason indicates the QUIT reason to give to users if they fail #
# to authenticate. #
# #
@@ -1035,7 +1107,7 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# LDAP oper configuration module: Adds the ability to authenticate #
# opers via LDAP. #
-#<module name="m_ldapoper.so">
+#<module name="ldapoper">
# #
# Configuration: #
# #
@@ -1044,8 +1116,8 @@
# attribute="uid">
# #
# Available configuration items are identical to the same items in #
-# m_ldapauth above (except for the verbose setting, that is only #
-# supported in m_ldapauth). #
+# ldapauth above (except for the verbose setting, that is only #
+# supported in ldapauth). #
# Please always specify a password in your <oper> tags even if the #
# opers are to be authenticated via LDAP, so in case this module is #
# not loaded the oper accounts are still protected by a password. #
@@ -1059,44 +1131,37 @@
# If your server is locked and you get disconnected, do a REHASH from #
# shell to open up again. #
# This module is oper-only.
-#<module name="m_lockserv.so">
+#<module name="lockserv">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Map hiding module: replaces /MAP and /LINKS output to users with a #
-# message to see a website, set by maphide="http://link.to/site" in #
+# message to see a website, set by maphide="http://test.org/map" in #
# the <security> tag, instead. #
-#<module name="m_maphide.so">
+#<module name="maphide">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Message flood module: Adds message/notice flood protection via
# channel mode +f.
-#<module name="m_messageflood.so">
+#<module name="messageflood">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# MLOCK module: Adds support for server-side enforcement of services
# side MLOCKs. Basically, this module suppresses any mode change that
# would likely be immediately bounced by services.
-#<module name="m_mlock.so">
+#<module name="mlock">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Modenotice module: Adds the /MODENOTICE command that allows opers to
# send notices to all users having the given user mode(s) set.
-#<module name="m_modenotice.so">
+#<module name="modenotice">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# MsSQL module: Allows other SQL modules to access MS SQL Server
-# through a unified API.
-# This module is in extras. Re-run configure with:
-# ./configure --enable-extras=m_mssql.cpp
-# and run make install, then uncomment this module to enable it.
-#<module name="m_mssql.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# m_mssql.so is more complex than described here, see wiki for more #
-# info http://wiki.inspircd.org/Modules/mssql #
+# Monitor module: Adds support for MONITOR which is used by clients to
+# maintain notify lists.
+#<module name="monitor">
#
-#<database module="mssql" name="db" user="user" pass="pass" host="localhost" id="db1">
+# Set the maximum number of entries on a user's monitor list below.
+#<monitor maxentries="30">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# MySQL module: Allows other SQL modules to access MySQL databases
@@ -1104,12 +1169,12 @@
# This module is in extras. Re-run configure with:
# ./configure --enable-extras=m_mysql.cpp
# and run make install, then uncomment this module to enable it.
-#<module name="m_mysql.so">
+#<module name="mysql">
#
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
-# m_mysql.so is more complex than described here, see the wiki for #
-# more: http://wiki.inspircd.org/Modules/mysql #
+# mysql is more complex than described here, see the wiki for more #
+# info: http://wiki.inspircd.org/Modules/mysql #
#
#<database module="mysql" name="mydb" user="myuser" pass="mypass" host="localhost" id="my_database2">
@@ -1118,69 +1183,76 @@
# modes via long-form mode names via +Z and the /PROP command.
# For example, to set a ban, do /mode #channel +Z ban=foo!bar@baz or
# /PROP #channel ban=foo!bar@baz
-#<module name="m_namedmodes.so">
+#<module name="namedmodes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# NAMESX module: Provides support for the NAMESX extension which allows
# clients to see all the prefixes set on a user without getting confused.
# This is supported by mIRC, x-chat, klient, and maybe more.
-#<module name="m_namesx.so">
+#<module name="namesx">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# National characters module:
# 1) Allows using national characters in nicknames.
# 2) Allows using custom (national) casemapping over the network.
-#<module name="m_nationalchars.so">
-#
-# file - filename of existing file in "locales" directory
-# casemapping - custom value for 005 numeric (if you want it to be
-# different from the filename).
+#<module name="nationalchars">
+#
+# file - Location of the file which contains casemapping rules. If this
+# is a relative path then it is relative to "<PWD>/../locales"
+# on UNIX and "<PWD>/locales" on Windows.
+# casemapping - The name of the casemapping sent to clients in the 005
+# numeric. If this is not set then it defaults to the name
+# of the casemapping file unless the file name contains a
+# space in which case you will have to specify it manually.
#<nationalchars file="bynets/russian-w1251-charlink" casemapping="ru_RU.cp1251-charlink">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Nickchange flood protection module: Provides channel mode +F X:Y
# which allows up to X nick changes in Y seconds.
-#<module name="m_nickflood.so">
+#<module name="nickflood">
+#
+# The number of seconds to prevent nick changes for:
+#<nickflood duration="1m">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Nicklock module: Let opers change a user's nick and then stop that
-# user from changing their nick again.
+# user from changing their nick again until unlocked.
# This module is oper-only.
# To use, NICKLOCK and NICKUNLOCK must be in one of your oper class blocks.
-#<module name="m_nicklock.so">
+#<module name="nicklock">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# 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">
+#<module name="noctcp">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# 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="nokicks">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# No nicks module: Adds the +N channel mode, as well as the 'N' extban.
# +N stops all users from changing their nick, the N extban stops
# anyone from matching a +b N:nick!user@host mask from changing their
# nick.
-#<module name="m_nonicks.so">
+#<module name="nonicks">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# No part message module: Adds extban 'p' to block part messages from #
# matching users. #
-#<module name="m_nopartmsg.so">
+#<module name="nopartmsg">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# 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">
+#<module name="nonotice">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Network business join module:
# Allows an oper to join a channel using /OJOIN, giving them +Y on the
# channel which makes them immune to kick/deop/etc.
-#<module name="m_ojoin.so">
+#<module name="ojoin">
#
# Specify the prefix that +Y will grant here.
# Leave 'prefix' empty if you do not wish +Y to grant a prefix.
@@ -1195,16 +1267,17 @@
# /mode #channel +iI O:* is equivalent to channel mode +O, but you
# may also set +iI O:AdminTypeOnly to only allow admins.
# Modes +I and +e work in a similar fashion.
-#<module name="m_operchans.so">
+#<module name="operchans">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper join module: Auto-joins opers to a channel upon oper-up.
-# This module is oper-only. For the user equivalent, see m_conn_join.
-#<module name="m_operjoin.so">
+# This module is oper-only. For the user equivalent, see the conn_join
+# module.
+#<module name="operjoin">
#
#-#-#-#-#-#-#-#-#-#-# OPERJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# If you are using the m_operjoin.so module, specify options here: #
+# If you are using the operjoin module, specify options here: #
# #
# channel - The channel name to join, can also be a comma #
# separated list e.g. "#channel1,#channel2". #
@@ -1224,16 +1297,21 @@
# type "m_operlog" at default loglevel), and optionally to the 'r'
# snomask.
# This module is oper-only.
-#<module name="m_operlog.so">
+#<module name="operlog">
#
# If the following option is on then all oper commands will be sent to
# the snomask 'r'. The default is off.
#<operlog tosnomask="off">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper prefixing module: Gives server operators a prefix status
-# character on all channels they are in.
-#<module name="m_operprefix.so">
+# Oper prefixing module: Adds a channel prefix mode +y which is given
+# to all IRC operators automatically on all channels they are in.
+# This prefix mode is more powerful than channel op and other regular
+# prefix modes.
+#
+# Load this module if you want all your IRC operators to have channel
+# operator powers.
+#<module name="operprefix">
#
# You may additionally customise the prefix character.
#<operprefix prefix="!">
@@ -1242,11 +1320,11 @@
# Oper MOTD module: Provides support for separate message of the day
# on oper-up.
# This module is oper-only.
-#<module name="m_opermotd.so">
+#<module name="opermotd">
#
#-#-#-#-#-#-#-#-#-#-# OPERMOTD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# If you are using the m_opermotd.so module, specify the motd here. #
+# If you are using the opermotd module, specify the motd here. #
# #
# onoper - If on, the message is sent on /OPER, otherwise it's #
# only sent when /OPERMOTD is used. #
@@ -1260,11 +1338,11 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Override module: Adds support for oper override.
# This module is oper-only.
-#<module name="m_override.so">
+#<module name="override">
#
#-#-#-#-#-#-#-#-#-#-# OVERRIDE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# m_override.so is too complex it describe here, see the wiki: #
+# override is too complex it describe here, see the wiki: #
# http://wiki.inspircd.org/Modules/override #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
@@ -1272,21 +1350,22 @@
# being taken by lower level opers against higher level opers.
# Specify the level as the 'level' parameter of the <type> tag.
# This module is oper-only.
-#<module name="m_operlevels.so">
+#<module name="operlevels">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper modes module: Allows you to specify modes to add/remove on oper.
# Specify the modes as the 'modes' parameter of the <type> tag
# and/or as the 'modes' parameter of the <oper> tag.
-# This module is oper-only. For the user equivalent, see m_conn_umodes.
-#<module name="m_opermodes.so">
+# This module is oper-only. For the user equivalent, see the
+# conn_umodes module.
+#<module name="opermodes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Password forwarding module: Forwards a password users can send on
# connect to the specified client below. The client is usually NickServ
# and this module is usually used to authenticate users with NickServ
# using their connect password.
-#<module name="m_passforward.so">
+#<module name="passforward">
<passforward
# nick: nick to forward connect passwords to.
@@ -1304,8 +1383,8 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Password hash module: Allows hashed passwords to be used.
-# To be useful, a hashing module like m_sha256.so also needs to be loaded.
-#<module name="m_password_hash.so">
+# To be useful, a hashing module like bcrypt also needs to be loaded.
+#<module name="password_hash">
#
#-#-#-#-#-#-#-#-#-# PASSWORD HASH CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#
#
@@ -1313,28 +1392,44 @@
# password you want to hash. For example:
#
# <oper name="Brain"
-# host="ident@dialup15.isp.com"
-# hash="sha256"
-# password="01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"
+# host="ident@dialup15.isp.test.com"
+# hash="bcrypt"
+# password="$2a$10$Mss9AtHHslZTLBrXqM0FB.JBwD.UTSu8A48SfrY9exrpxbsRiRTbO"
# type="NetAdmin">
#
-# Starting from 2.0, you can use a more secure salted hash that prevents simply
-# looking up the hash's value in a rainbow table built for the hash.
+# If you are using a hash algorithm which does not perform salting you can use
+# HMAC to salt your passwords in order to prevent them from being looked up in
+# a rainbow table.
+#
# hash="hmac-sha256" password="lkS1Nbtp$CyLd/WPQXizsbxFUTqFRoMvaC+zhOULEeZaQkUJj+Gg"
#
# Generate hashes using the /MKPASSWD command on the server.
# Don't run it on a server you don't trust with your password.
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# PBKDF2 module: Allows other modules to generate PBKDF2 hashes,
+# usually for cryptographic uses and security.
+# This module relies on other hash providers (e.g. SHA256).
+#<module name="pbkdf2">
+#
+# iterations: Iterations the hashing function runs when generating new
+# hashes.
+# length: Length in bytes of the derived key.
+#<pbkdf2 iterations="12288" length="32">
+# You can override these values with specific values
+# for specific providers if you want to. Example given for SHA256.
+#<pbkdf2prov hash="sha256" iterations="24576">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Permanent channels module: Channels with the permanent channel mode
# will remain open even after everyone else has left the channel, and
# therefore keep things like modes, ban lists and topic. Permanent
# channels -may- need support from your Services package to function
# properly with them. This adds channel mode +P.
# This module is oper-only.
-#<module name="m_permchannels.so">
+#<module name="permchannels">
#
-# If you like, m_permchannels can write a config file of permanent channels
+# If you like, this module can write a config file of permanent channels
# whenever +P is set, unset, or the topic/modes on a +P channel is changed.
# If you want to do this, set the filename below, and uncomment the include.
#
@@ -1344,7 +1439,6 @@
#<include file="permchannels.conf">
#
# You may also create channels on startup by using the <permchannels> block.
-# Don't forget to set them +P in the modes, or they won't stay permanent.
#<permchannels channel="#opers" modes="isP" topic="Opers only.">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
@@ -1353,11 +1447,11 @@
# This module is in extras. Re-run configure with:
# ./configure --enable-extras=m_pgsql.cpp
# and run make install, then uncomment this module to enable it.
-#<module name="m_pgsql.so">
+#<module name="pgsql">
#
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
-# m_pgsql.so is more complex than described here, see the wiki for #
+# pgsql is more complex than described here, see the wiki for #
# more: http://wiki.inspircd.org/Modules/pgsql #
#
#<database module="pgsql" name="mydb" user="myuser" pass="mypass" host="localhost" id="my_database" ssl="no">
@@ -1365,18 +1459,18 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Muteban: Implements extended ban 'm', which stops anyone matching
# a mask like +b m:nick!user@host from speaking on channel.
-#<module name="m_muteban.so">
+#<module name="muteban">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Random quote module: Provides a random quote on connect.
# NOTE: Some of these may mimic fatal errors and confuse users and
# opers alike - BEWARE!
-#<module name="m_randquote.so">
+#<module name="randquote">
#
#-#-#-#-#-#-#-#-#-#- RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# Optional - If you specify to use the m_randquote.so module, then #
-# specify below the path to the quotes file. #
+# Optional - If you specify to use the randquote module, then specify #
+# below the path to the quotes file. #
# #
#<randquote file="quotes.txt">
@@ -1390,37 +1484,37 @@
# This also breaks linking to servers that do not have the option. #
# This defaults to false for the 2.0 version, it will be enabled in #
# all the future versions. #
-#<module name="m_redirect.so">
+#<module name="redirect">
#<redirect antiredirect="true">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for glob or wildcard (?/*) matching.
-# You must have at least 1 provider loaded to use m_filter or m_rline
+# You must have at least 1 provider loaded to use the filter or rline
# modules. This module has no additional requirements, as it uses the
# matching already present in InspIRCd core.
-#<module name="m_regex_glob.so">
+#<module name="regex_glob">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for PCRE (Perl-Compatible Regular
# Expressions). You need libpcre installed to compile and load this
-# module. You must have at least 1 provider loaded to use m_filter or
-# m_rline.
-#<module name="m_regex_pcre.so">
+# module. You must have at least 1 provider loaded to use the filter or
+# rline modules.
+#<module name="regex_pcre">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular Expression Provider for RE2 Regular Expressions.
# You need libre2 installed and in your include/library paths in order
# to compile and load this module.
-#<module name="m_regex_re2.so">
+#<module name="regex_re2">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for POSIX regular expressions.
# You shouldn't need any additional libraries on a POSIX-compatible
# system (i.e.: any Linux, BSD, but not Windows). You must have at
-# least 1 provider loaded to use m_filter or m_rline.
+# least 1 provider loaded to use filter or rline.
# On POSIX-compliant systems, regex syntax can be found by using the
# command: 'man 7 regex'.
-#<module name="m_regex_posix.so">
+#<module name="regex_posix">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for C++11 std::regex regular expressions.
@@ -1430,7 +1524,7 @@
# You should verify that std::regex is supported by your setup before
# using this module, as it may compile normally but won't do anything
# on some implementations.
-#<module name="m_regex_stdlib.so">
+#<module name="regex_stdlib">
#
# Specify the regular expression engine to use here. Valid settings are
# bre, ere, awk, grep, egrep, ecmascript (default if not specified).
@@ -1439,10 +1533,10 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for TRE regular expressions.
# This is the same regular expression engine used by UnrealIRCd, so
-# if you are most familiar with the syntax of /spamfilter from there,
+# if you are most familiar with the syntax of /SPAMFILTER from there,
# this is the provider you want. You need libtre installed in order
# to compile and load this module.
-#<module name="m_regex_tre.so">
+#<module name="regex_tre">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Registered users only channel creation module. If enabled, only
@@ -1450,15 +1544,21 @@
#
# You probably *DO NOT* want to load this module on a public network.
#
-#<module name="m_regonlycreate.so">
+#<module name="regonlycreate">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Remove module: Adds the /REMOVE command which is a peaceful
# alternative to /KICK.
-#<module name="m_remove.so">
+#<module name="remove">
+#
+# supportnokicks: If true, /REMOVE is not allowed on channels where the
+# nokicks (+Q) mode is set. Defaults to false.
+# protectedrank: Members having this rank or above may not be /REMOVE'd
+# by anyone. Set to 0 to disable this feature. Defaults to 50000.
+#<remove supportnokicks="true" protectedrank="50000">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# A module to block, kick or ban upon similiar messages being uttered several times.
+# A module to block, kick or ban upon similar messages being uttered several times.
# Syntax [~*][lines]:[sec]{[:difference]}{[:matchlines]}
# ~ is to block, * is to ban, default is kick.
# lines - In mode 1 the amount of lines that has to match consecutively - In mode 2 the size of the backlog to keep for matching
@@ -1475,25 +1575,25 @@
# before they are checked, resulting in less CPU usage. Increasing this beyond 512
# doesn't have any effect, as the maximum length of a message on IRC cannot exceed that.
#<repeat maxbacklog="20" maxlines="20" maxdistance="50" maxsecs="0" size="512">
-#<module name="m_repeat.so">
+#<module name="repeat">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Restricted channels module: Allows only opers to create channels.
#
# You probably *DO NOT* want to load this module on a public network.
#
-#<module name="m_restrictchans.so">
+#<module name="restrictchans">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Restrict message module: Allows users to only message opers.
#
# You probably *DO NOT* want to load this module on a public network.
#
-#<module name="m_restrictmsg.so">
+#<module name="restrictmsg">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# R-Line module: Ban users through regular expression patterns.
-#<module name="m_rline.so">
+#<module name="rline">
#
#-#-#-#-#-#-#-#-#-#-#-#- RLINE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
#
@@ -1503,7 +1603,7 @@
# Also, this is where you set what Regular Expression engine is to be
# used. If you ever change it while running, all of your R-Lines will
# be wiped. This is the regex engine used by all R-Lines set, and
-# m_regex_<engine>.so must be loaded, or rline will be non-functional
+# regex_<engine> must be loaded, or rline will be non-functional
# until you load it or change the engine to one that is loaded.
#
#<rline matchonnickchange="yes" engine="pcre">
@@ -1521,7 +1621,7 @@
# Allows channel mods to remove list modes en masse.
# Syntax: /rmode <channel> <mode> [pattern]
# E.g. '/rmode #Channel b m:*' will remove all mute-extbans on the channel.
-#<module name="m_rmode.so">
+#<module name="rmode">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAJOIN module: Adds the /SAJOIN command which forcibly joins a user
@@ -1530,14 +1630,14 @@
# To use, SAJOIN must be in one of your oper class blocks.
# Opers need the users/sajoin-others priv to be able to /SAJOIN users
# other than themselves.
-#<module name="m_sajoin.so">
+#<module name="sajoin">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAKICK module: Adds the /SAKICK command which kicks a user from the
# given channel.
# This module is oper-only.
# To use, SAKICK must be in one of your oper class blocks.
-#<module name="m_sakick.so">
+#<module name="sakick">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAMODE module: Adds the /SAMODE command which allows server operators
@@ -1545,55 +1645,54 @@
# channel priviliges. Also allows changing user modes for any user.
# This module is oper-only.
# To use, SAMODE must be in one of your oper class blocks.
-#<module name="m_samode.so">
+#<module name="samode">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SANICK module: Adds the /SANICK command which allows opers to change
# users' nicks.
# This module is oper-only.
# To use, SANICK must be in one of your oper class blocks.
-#<module name="m_sanick.so">
+#<module name="sanick">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAPART module: Adds the /SAPART command which forcibly parts a user
# from a channel.
# This module is oper-only.
# To use, SAPART must be in one of your oper class blocks.
-#<module name="m_sapart.so">
+#<module name="sapart">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAQUIT module: Adds the /SAQUIT command which forcibly quits a user.
# This module is oper-only.
# To use, SAQUIT must be in one of your oper class blocks.
-#<module name="m_saquit.so">
+#<module name="saquit">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SATOPIC module: Adds the /SATOPIC command which allows changing the
# topic on a channel without requiring any channel priviliges.
# This module is oper-only.
# To use, SATOPIC must be in one of your oper class blocks.
-#<module name="m_satopic.so">
+#<module name="satopic">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SASL authentication module: Provides support for IRC Authentication
-# Layer via AUTHENTICATE. Note: You also need to have m_cap.so loaded
+# Layer via AUTHENTICATE. Note: You also need to have cap loaded
# for SASL to work.
-#<module name="m_sasl.so">
+#<module name="sasl">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Secure list module: Prevent /LIST in the first minute of connection,
# crippling most spambots and trojan spreader bots.
-#<module name="m_securelist.so">
+#<module name="securelist">
#
#-#-#-#-#-#-#-#-#-# SECURELIST CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
-# Securelist can be harmful to some IRC search engines such as #
-# netsplit.de and searchirc.com. To prevent securelist blocking these #
-# sites from listing, define exception tags as shown below: #
-#<securehost exception="*@*.searchirc.org">
+# Securelist can be harmful to some IRC search engines. To prevent #
+# securelist blocking these sites from listing, define exception tags #
+# as shown below: #
#<securehost exception="*@*.netsplit.de">
-#<securehost exception="*@echo940.server4you.de">
#<securehost exception="*@*.ircdriven.com">
+#<securehost exception="*@*.irc-source.com">
# #
# Define the following variable to change how long a user must wait #
# before issuing a LIST. If not defined, defaults to 60 seconds. #
@@ -1603,19 +1702,19 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Servprotect module: Provides support for Austhex style +k /
# UnrealIRCD +S services mode.
-#<module name="m_servprotect.so">
+#<module name="servprotect">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# See nicks module: Adds snomask +n and +N which show local and remote
# nick changes.
# This module is oper-only.
-#<module name="m_seenicks.so">
+#<module name="seenicks">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Set idle module: Adds a command for opers to change their idle time.
# This module is oper-only.
# To use, SETIDLE must be in one of your oper class blocks.
-#<module name="m_setidle.so">
+#<module name="setidle">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Services support module: Adds several usermodes such as +R and +M.
@@ -1626,41 +1725,45 @@
# as identified separately from the idea of a master account, which
# can be useful for services which are heavily nick-as-account centric.
#
-# Also of note is that this module implements three extbans:
+# Also of note is that this module implements two extbans:
# +b R: (stop matching account names from joining)
-# +b M: (stop matching account names from speaking)
# +b U:n!u@h (blocks matching unregistered users)
#
-#<module name="m_services_account.so">
+#<module name="services_account">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Sethost module: Adds the /SETHOST command.
# This module is oper-only.
# To use, SETHOST must be in one of your oper class blocks.
-# See m_chghost for how to customise valid chars for hostnames
-#<module name="m_sethost.so">
+# See the chghost module for how to customise valid chars for hostnames.
+#<module name="sethost">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Setident module: Adds the /SETIDENT command.
# This module is oper-only.
# To use, SETIDENT must be in one of your oper class blocks.
-#<module name="m_setident.so">
+#<module name="setident">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SETNAME module: Adds the /SETNAME command.
-#<module name="m_setname.so">
+#<module name="setname">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Serverban: Implements extended ban 's', which stops anyone connected
# to a server matching a mask like +b s:server.mask.here from joining.
-#<module name="m_serverban.so">
+#<module name="serverban">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# SHA1 module: Allows other modules to generate SHA1 hashes.
+# Required by the WebSocket module.
+#<module name="sha1">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Showfile: Provides support for showing a text file to users when #
# they enter a command. #
# This module adds one command for each <showfile> tag that shows the #
# given file to the user as a series of messages or numerics. #
-#<module name="m_showfile.so"> #
+#<module name="showfile"> #
# #
#-#-#-#-#-#-#-#-#-#-# SHOWFILE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
@@ -1670,7 +1773,7 @@
# By default same as the command name. #
# method - How should the file be shown? #
# * numeric: Send contents using a numeric #
-# (similiar to /MOTD; the default). #
+# (similar to /MOTD; the default). #
# * notice: Send contents as a series of notices. #
# * msg: Send contents as a series of private messages. #
# colors - If true, color codes (\c, \b, \u, etc.) will be processed #
@@ -1696,7 +1799,7 @@
# Show whois module: Adds the +W usermode which allows opers to see
# when they are /WHOIS'd.
# This module is oper-only by default.
-#<module name="m_showwhois.so">
+#<module name="showwhois">
#
# If you wish, you may also let users set this mode. Only opers with the
# users/auspex priv will see real hosts of people, though.
@@ -1711,7 +1814,7 @@
# executing all except configured commands.
# This module is oper-only.
# To use, SHUN must be in one of your oper class blocks.
-#<module name="m_shun.so">
+#<module name="shun">
#
# You may also configure which commands you wish a user to be able to
# perform when shunned. It should be noted that if a shunned user
@@ -1727,60 +1830,68 @@
# SSL channel mode module: Adds support for SSL-only channels via
# channel mode +z and the 'z' extban which matches SSL client
# certificate fingerprints.
-# Does not do anything useful without a working SSL module (see below).
-#<module name="m_sslmodes.so">
+# Does not do anything useful without a working SSL module and the
+# sslinfo module (see below).
+#<module name="sslmodes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# GnuTLS SSL module: Adds support for SSL connections using GnuTLS,
# if enabled. You must answer 'yes' in ./configure when asked or
# manually symlink the source for this module from the directory
# src/modules/extra, if you want to enable this, or it will not load.
-#<module name="m_ssl_gnutls.so">
+#<module name="ssl_gnutls">
#
#-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# m_ssl_gnutls.so is too complex to describe here, see the wiki: #
+# ssl_gnutls is too complex to describe here, see the wiki: #
# http://wiki.inspircd.org/Modules/ssl_gnutls #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SSL info module: Allows users to retrieve information about other
# users' peer SSL certificates and keys. This can be used by client
-# scripts to validate users. For this to work, one of m_ssl_gnutls.so
-# or m_ssl_openssl.so must be loaded. This module also adds the
+# scripts to validate users. For this to work, one of ssl_gnutls
+# or ssl_openssl must be loaded. This module also adds the
# "* <user> is using a secure connection" whois line, the ability for
-# opers to use SSL fingerprints to verify their identity and the
+# opers to use SSL cert fingerprints to verify their identity and the
# ability to force opers to use SSL connections in order to oper up.
# It is highly recommended to load this module if you use SSL on your
# network.
# For how to use the oper features, please see the first example <oper> tag
# in opers.conf.example.
#
-#<module name="m_sslinfo.so">
+#<module name="sslinfo">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# mbedTLS SSL module: Adds support for SSL/TLS connections using mbedTLS.
+#<module name="ssl_mbedtls">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# OpenSSL SSL module: Adds support for SSL connections using OpenSSL,
# if enabled. You must answer 'yes' in ./configure when asked or symlink
# the source for this module from the directory src/modules/extra, if
# you want to enable this, or it will not load.
-#<module name="m_ssl_openssl.so">
+#<module name="ssl_openssl">
#
#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# m_ssl_openssl.so is too complex to describe here, see the wiki: #
+# ssl_openssl is too complex to describe here, see the wiki: #
# http://wiki.inspircd.org/Modules/ssl_openssl #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Strip color module: Adds channel mode +S that strips mIRC color
-# codes from all messages sent to the channel.
-#<module name="m_stripcolor.so">
+# Strip color module: Adds channel mode +S that strips color codes and
+# all control codes except CTCP from all messages sent to the channel.
+#<module name="stripcolor">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Silence module: Adds support for the /SILENCE command, which allows
# users to have a server-side ignore list for their client.
-#<module name="m_silence.so">
+#<module name="silence">
#
# Set the maximum number of entries allowed on a user's silence list.
-#<silence maxentries="32">
+#<silence maxentries="32"
+#
+# Whether messages from U-lined servers will bypass silence masks.
+#exemptuline="yes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SQLite3 module: Allows other SQL modules to access SQLite3 #
@@ -1789,12 +1900,12 @@
# ./configure --enable-extras=m_sqlite.cpp
# and run make install, then uncomment this module to enable it. #
#
-#<module name="m_sqlite3.so">
+#<module name="sqlite3">
#
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
-# m_sqlite.so is more complex than described here, see the wiki for #
-# more: http://wiki.inspircd.org/Modules/sqlite3 #
+# sqlite is more complex than described here, see the wiki for more #
+# info: http://wiki.inspircd.org/Modules/sqlite3 #
#
#<database module="sqlite" hostname="/full/path/to/database.db" id="anytext">
@@ -1805,11 +1916,11 @@
# ./configure --enable-extras=m_sqlauth.cpp
# and run make install, then uncomment this module to enable it.
#
-#<module name="m_sqlauth.so">
+#<module name="sqlauth">
#
#-#-#-#-#-#-#-#-#-#-#- SQLAUTH CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# m_sqlauth.so is too complex to describe here, see the wiki: #
+# sqlauth is too complex to describe here, see the wiki: #
# http://wiki.inspircd.org/Modules/sqlauth #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
@@ -1818,7 +1929,7 @@
# ./configure --enable-extras=m_sqloper.cpp
# and run make install, then uncomment this module to enable it.
#
-#<module name="m_sqloper.so">
+#<module name="sqloper">
#
#-#-#-#-#-#-#-#-#-#-#- SQLOPER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
@@ -1827,18 +1938,18 @@
# #
# See also: http://wiki.inspircd.org/Modules/sqloper #
# #
-#<sqloper dbid="1" hash="md5">
+#<sqloper dbid="1" hash="bcrypt">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# StartTLS module: Implements STARTTLS, which allows clients #
# connected to non SSL enabled ports to enable SSL, if a proper SSL #
-# module is loaded (either m_ssl_gnutls or m_ssl_openssl). #
-#<module name="m_starttls.so">
+# module is loaded (either ssl_gnutls or ssl_openssl). #
+#<module name="starttls">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SVSHold module: Implements SVSHOLD. Like Q:Lines, but can only be #
# added/removed by Services. #
-#<module name="m_svshold.so">
+#<module name="svshold">
# SVSHOLD does not generate server notices by default, you can turn
# notices on by uncommenting the next line.
#<svshold silent="false">
@@ -1847,29 +1958,23 @@
# SWHOIS module: Allows you to add arbitrary lines to user WHOIS.
# This module is oper-only.
# To use, SWHOIS must be in one of your oper class blocks.
-#<module name="m_swhois.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Test module: Enable this to create a command useful in testing
-# flood control. To avoid accidental use on live networks, the server
-# name must contain ".test" to load the module
-#<module name="m_testnet.so">
+#<module name="swhois">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Timed bans module: Adds timed channel bans with the /TBAN command.
-#<module name="m_timedbans.so">
+#<module name="timedbans">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Test line module: Adds the /TLINE command, used to test how many
# users a /GLINE or /ZLINE etc. would match.
# This module is oper-only.
# To use, TLINE must be in one of your oper class blocks.
-#<module name="m_tline.so">
+#<module name="tline">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Topiclock module: implements server-side topic locking to achieve deeper
# integration with services packages.
-#<module name="m_topiclock.so">
+#<module name="topiclock">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# UHNAMES support module: Adds support for the IRCX style UHNAMES
@@ -1877,23 +1982,23 @@
# each user, saving clients from doing a WHO on the channel.
# If a client does not support UHNAMES it will not enable it, this will
# not break incompatible clients.
-#<module name="m_uhnames.so">
+#<module name="uhnames">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Uninvite module: Adds the /UNINVITE command which lets users remove
# pending invites from channels without waiting for the user to join.
-#<module name="m_uninvite.so">
+#<module name="uninvite">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Userip module: Adds the /USERIP command.
# Allows users to query their own IP, also allows opers to query the IP
# of anyone else.
-#<module name="m_userip.so">
+#<module name="userip">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Vhost module: Adds the VHOST command which allows for adding virtual
# hosts which are accessible using a username and password in the config.
-#<module name="m_vhost.so">
+#<module name="vhost">
#
#-#-#-#-#-#-#-#-#-#-#- VHOST CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
@@ -1902,32 +2007,39 @@
# 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. #
+# password_hash 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">
+#<vhost user="some_username" pass="some_password" host="some.host.test.cc">
+#<vhost user="foo" password="$2a$10$iTuYLT6BRhRlOgzfsW9oPe62etW.oXwSpyKw5rJit64SGZanLXghO" hash="bcrypt" host="some.other.host.example.com">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Watch module: Adds the WATCH command, which is used by clients to
# maintain notify lists.
-#<module name="m_watch.so">
+#<module name="watch">
#
# Set the maximum number of entries on a user's watch list below.
#<watch maxentries="32">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# WebSocket module: Adds HTML5 WebSocket support.
+# Specify hook="websocket" in a <bind> tag to make that port accept
+# WebSocket connections. Compatible with SSL/TLS.
+# Requires SHA-1 hash support available in the sha1 module.
+#<module name="websocket">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# XLine database: Stores all *Lines (G/Z/K/R/any added by other modules)
# in a file which is re-loaded on restart. This is useful
# for two reasons: it keeps bans so users may not evade them, and on
# bigger networks, server connections will take less time as there will
# be a lot less bans to apply - as most of them will already be there.
-#<module name="m_xline_db.so">
+#<module name="xline_db">
# Specify the filename for the xline database here.
-#<xlinedb filename="data/xline.db">
+#<xlinedb filename="xline.db">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# ____ _ _____ _ _ ____ _ _ _ #
@@ -1936,8 +2048,8 @@
# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| #
# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) #
# #
-# To link servers to InspIRCd, you MUST load the m_spanningtree #
-# module. If you don't do this, server links will NOT work at all. #
+# To link servers to InspIRCd, you MUST load the spanningtree module. #
+# If you don't do this, server links will NOT work at all. #
# This is by design, to allow for the implementation of other linking #
# protocols in modules in the future. #
@@ -1946,4 +2058,4 @@
# tree protocol (see the READ THIS BIT section above).
# You will almost always want to load this.
#
-#<module name="m_spanningtree.so">
+#<module name="spanningtree">
diff --git a/docs/conf/modules/charybdis.conf.example b/docs/conf/modules/charybdis.conf.example
index bd99f7dc2..6f8171b41 100644
--- a/docs/conf/modules/charybdis.conf.example
+++ b/docs/conf/modules/charybdis.conf.example
@@ -1,6 +1,6 @@
-<module name="m_md5.so">
-<module name="m_sha256.so">
-<module name="m_alias.so">
+<module name="md5">
+<module name="sha256">
+<module name="alias">
<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
@@ -15,26 +15,26 @@
<alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
<alias text="ID" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes">
-<module name="m_banexception.so">
-<module name="m_banredirect.so">
-<module name="m_blockcolor.so">
-<module name="m_callerid.so">
+<module name="banexception">
+<module name="banredirect">
+<module name="blockcolor">
+<module name="callerid">
<callerid maxaccepts="16"
operoverride="no"
tracknick="no"
cooldown="60">
-<module name="m_cap.so">
-<module name="m_cban.so">
+<module name="cap">
+<module name="cban">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CGI:IRC module: Adds support for automatic host changing in CGI:IRC
# (http://cgiirc.sourceforge.net).
-#<module name="m_cgiirc.so">
+#<module name="cgiirc">
#
#-#-#-#-#-#-#-#-#-#-#-# CGIIRC CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
#
-# Optional - If you specify to use m_cgiirc, then you must specify one
+# Optional - If you specify to use 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://wiki.inspircd.org/Modules/cgiirc
@@ -68,13 +68,13 @@
# sessions maximum.
#
-<module name="m_chancreate.so">
+<module name="chancreate">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channel names module: Allows disabling channels which have certain
# characters in the channel name such as bold, colorcodes, etc. which
# can be quite annoying and allow users to on occasion have a channel
# that looks like the name of another channel on the network.
-<module name="m_channames.so">
+<module name="channames">
<channames
# denyrange: characters or range of characters to deny in channel
@@ -85,16 +85,16 @@
# in channel names.
allowrange="">
-<module name="m_channelban.so">
-<module name="m_chghost.so">
+<module name="channelban">
+<module name="chghost">
<hostname charmap="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789">
-<module name="m_chgident.so">
-<module name="m_chgname.so">
-<module name="m_cloaking.so">
+<module name="chgident">
+<module name="chgname">
+<module name="cloaking">
#
#-#-#-#-#-#-#-#-#-#-#- CLOAKING CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# If you specify the m_cloaking.so module as above, you must define #
+# If you specify the cloaking module as above, you must define #
# cloak keys, and optionally a cloak prefix as shown below. The cloak #
# keys must be shared across the network for correct cloaking. #
# #
@@ -126,8 +126,8 @@
key="secret"
prefix="net-">
-<module name="m_close.so">
-<module name="m_conn_umodes.so">
+<module name="close">
+<module name="conn_umodes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Connectban: Provides IP connection throttling. Any IP range that connects
@@ -141,11 +141,11 @@
#<connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128">
# This allows for 10 connections in an hour with a 10 minute ban if that is exceeded.
#
-#<module name="m_connectban.so">
+#<module name="connectban">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Connection throttle module.
-#<module name="m_connflood.so">
+#<module name="connflood">
#
#-#-#-#-#-#-#-#-#-#-#- CONTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# seconds, maxconns - Amount of connections per <seconds>.
@@ -163,46 +163,46 @@
#<connflood seconds="30" maxconns="3" timeout="30"
# quitmsg="Throttled" bootwait="10">
-<module name="m_deaf.so">
-<module name="m_dnsbl.so">
-<module name="m_gecosban.so">
-<module name="m_globalload.so">
-<module name="m_ident.so">
+<module name="deaf">
+<module name="dnsbl">
+<module name="gecosban">
+<module name="globalload">
+<module name="ident">
<ident timeout="1">
-<module name="m_inviteexception.so">
-<module name="m_joinflood.so">
-<module name="m_knock.so">
-<module name="m_namesx.so">
-<module name="m_operchans.so">
-<module name="m_operlog.so">
-<module name="m_opermodes.so">
-<module name="m_password_hash.so">
-<module name="m_permchannels.so">
-<module name="m_muteban.so">
-<module name="m_redirect.so">
+<module name="inviteexception">
+<module name="joinflood">
+<module name="knock">
+<module name="namesx">
+<module name="operchans">
+<module name="operlog">
+<module name="opermodes">
+<module name="password_hash">
+<module name="permchannels">
+<module name="muteban">
+<module name="redirect">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for glob or wildcard (?/*) matching.
-# You must have at least 1 provider loaded to use m_filter or m_rline
-# modules. This module has no additional requirements, as it uses the
-# matching already present in InspIRCd core.
-#<module name="m_regex_glob.so">
+# You must have at least 1 provider loaded to use the filter or the
+# rline modules. This module has no additional requirements, as it uses
+# the matching already present in InspIRCd core.
+#<module name="regex_glob">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for PCRE (Perl-Compatible Regular
# Expressions). You need libpcre installed to compile and load this
-# module. You must have at least 1 provider loaded to use m_filter or
-# m_rline.
-#<module name="m_regex_pcre.so">
+# module. You must have at least 1 provider loaded to use the filter or
+# the rline module.
+#<module name="regex_pcre">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for POSIX regular expressions.
# You shouldn't need any additional libraries on a POSIX-compatible
# system (ie: any Linux, BSD, but not Windows). You must have at least
-# 1 provider loaded to use m_filter or m_rline.
+# 1 provider loaded to use the filter or the rline module.
# On POSIX-compliant systems, regex syntax can be found by using the
# command: 'man 7 regex'.
-#<module name="m_regex_posix.so">
+#<module name="regex_posix">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Registered users only channel creation
@@ -210,11 +210,11 @@
#
# You probably *DO NOT* want to load this module on a public network.
#
-#<module name="m_regonlycreate.so">
+#<module name="regonlycreate">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Ban users through regular expression patterns
-#<module name="m_rline.so">
+#<module name="rline">
#
#-#-#-#-#-#-#-#-#-#-#-#- RLINE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
#
@@ -224,7 +224,7 @@
# Also, this is where you set what Regular Expression engine is to be
# used. If you ever change it while running, all of your R-Lines will be
# wiped. This is the regex engine used by all R-Lines set, and
-# m_regex_<engine>.so must be loaded, or rline will be nonfunctional
+# regex_<engine> must be loaded, or rline will be nonfunctional
# until you load it or change the engine to one that is loaded.
#
#<rline matchonnickchange="yes" engine="pcre">
@@ -237,66 +237,66 @@
# use glob. For this reason, is recommended to use a real regex engine
# so that at least \s or [[:space:]] is available.
-<module name="m_sasl.so">
-<module name="m_servprotect.so">
-<module name="m_services_account.so">
-<module name="m_sethost.so">
-<module name="m_serverban.so">
-<module name="m_showwhois.so">
+<module name="sasl">
+<module name="servprotect">
+<module name="services_account">
+<module name="sethost">
+<module name="serverban">
+<module name="showwhois">
<showwhois opersonly="yes" showfromopers="yes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SSL channel mode module: Adds support for SSL-only channels via
-# channel mode +z and the 'z' extban which matches SSL client
+# SSL channel mode module: Adds support for SSL-only channels via
+# channel mode +z and the 'z' extban which matches SSL client
# certificate fingerprints.
# Does not do anything useful without a working SSL module (see below).
-#<module name="m_sslmodes.so">
+#<module name="sslmodes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# GnuTLS SSL module: Adds support for SSL connections using GnuTLS,
# if enabled. You must answer 'yes' in ./configure when asked or
# manually symlink the source for this module from the directory
# src/modules/extra, if you want to enable this, or it will not load.
-#<module name="m_ssl_gnutls.so">
+#<module name="ssl_gnutls">
#
#-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# m_ssl_gnutls.so is too complex to describe here, see the wiki: #
+# ssl_gnutls is too complex to describe here, see the wiki: #
# http://wiki.inspircd.org/Modules/ssl_gnutls #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SSL Info module: Allows users to retrieve information about other
# user's peer SSL certificates and keys. This can be used by client
-# scripts to validate users. For this to work, one of m_ssl_gnutls.so
-# or m_ssl_openssl.so must be loaded. This module also adds the
+# scripts to validate users. For this to work, one of ssl_gnutls
+# or ssl_openssl must be loaded. This module also adds the
# "* <user> is using a secure connection" whois line, the ability for
-# opers to use SSL fingerprints to verify their identity and the ability
-# to force opers to use SSL connections in order to oper up.
+# opers to use SSL cert fingerprints to verify their identity and the
+# ability to force opers to use SSL connections in order to oper up.
# It is highly recommended to load this module especially if
# you use SSL on your network.
# For how to use the oper features, please see the first example <oper> tag
# in opers.conf.example.
#
-#<module name="m_sslinfo.so">
+#<module name="sslinfo">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# OpenSSL SSL module: Adds support for SSL connections using OpenSSL,
# if enabled. You must answer 'yes' in ./configure when asked or symlink
# the source for this module from the directory src/modules/extra, if
# you want to enable this, or it will not load.
-#<module name="m_ssl_openssl.so">
+#<module name="ssl_openssl">
#
#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# m_ssl_openssl.so is too complex to describe here, see the wiki: #
+# ssl_openssl is too complex to describe here, see the wiki: #
# http://wiki.inspircd.org/Modules/ssl_openssl #
-<module name="m_stripcolor.so">
-<module name="m_svshold.so">
-<module name="m_tline.so">
-<module name="m_uhnames.so">
-<module name="m_watch.so">
+<module name="stripcolor">
+<module name="svshold">
+<module name="tline">
+<module name="uhnames">
+<module name="watch">
<watch maxentries="32">
-<module name="m_xline_db.so">
+<module name="xline_db">
-<module name="m_spanningtree.so">
+<module name="spanningtree">
diff --git a/docs/conf/modules/unrealircd.conf.example b/docs/conf/modules/unrealircd.conf.example
index 1ed7b33b2..102307661 100644
--- a/docs/conf/modules/unrealircd.conf.example
+++ b/docs/conf/modules/unrealircd.conf.example
@@ -1,8 +1,8 @@
-<module name="m_md5.so">
-<module name="m_sha256.so">
+<module name="md5">
+<module name="sha256">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Alias module: Allows you to define server-side command aliases.
-<module name="m_alias.so">
+<module name="alias">
<fantasy prefix="!" allowbots="no">
# Aliases
<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
@@ -35,28 +35,28 @@
#<alias text="NICKSERV" format=":IDENTIFY *" replace="PRIVMSG NickServ :IDENTIFY $3-"
# requires="NickServ" uline="yes">
-<module name="m_allowinvite.so">
-<module name="m_alltime.so">
-<module name="m_auditorium.so">
+<module name="allowinvite">
+<module name="alltime">
+<module name="auditorium">
<auditorium showops="yes" operoverride="yes">
-<module name="m_banexception.so">
-<module name="m_blockcaps.so">
+<module name="banexception">
+<module name="blockcaps">
<blockcaps percent="50"
minlen="5"
capsmap="ABCDEFGHIJKLMNOPQRSTUVWXYZ! ">
-<module name="m_blockcolor.so">
-<module name="m_botmode.so">
-<module name="m_censor.so">
+<module name="blockcolor">
+<module name="botmode">
+<module name="censor">
<include file="inspircd.censor.example">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CGI:IRC module: Adds support for automatic host changing in CGI:IRC
# (http://cgiirc.sourceforge.net).
-#<module name="m_cgiirc.so">
+#<module name="cgiirc">
#
#-#-#-#-#-#-#-#-#-#-#-# CGIIRC CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
#
-# Optional - If you specify to use m_cgiirc, then you must specify one
+# Optional - If you specify to use 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://wiki.inspircd.org/Modules/cgiirc
@@ -90,42 +90,41 @@
# sessions maximum.
#
-<module name="m_chanfilter.so">
+<module name="chanfilter">
<chanfilter hidemask="yes">
-<module name="m_check.so">
-<module name="m_chghost.so">
+<module name="check">
+<module name="chghost">
<hostname charmap="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789">
-<module name="m_chgident.so">
-<module name="m_chgname.so">
-<module name="m_cloaking.so">
+<module name="chgident">
+<module name="chgname">
+<module name="cloaking">
<cloak mode="half"
key="secret"
prefix="net-">
-<module name="m_close.so">
-<module name="m_clones.so">
-<module name="m_commonchans.so">
+<module name="close">
+<module name="clones">
+<module name="commonchans">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Auto join on connect module: Allows you to force users to join one
# or more channels automatically upon connecting to the server.
-#<module name="m_conn_join.so">
+#<module name="conn_join">
#
#-#-#-#-#-#-#-#-#-#-#-#- CONNJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
#
-# If you have m_conn_join.so loaded, you can configure it using the
-# follow values:
+# If you have the conn_join module loaded, you can configure it below:
#
#<autojoin channel="#one,#two,#three">
-<module name="m_conn_umodes.so">
-<module name="m_cycle.so">
+<module name="conn_umodes">
+<module name="cycle">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Connection throttle module.
-#<module name="m_connflood.so">
+#<module name="connflood">
#
#-#-#-#-#-#-#-#-#-#-#- CONTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# seconds, maxconns - Amount of connections per <seconds>.
@@ -145,7 +144,7 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# DCCALLOW module: Adds the /DCCALLOW command.
-<module name="m_dccallow.so">
+<module name="dccallow">
#
#-#-#-#-#-#-#-#-#-#-#- DCCALLOW CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# blockchat - Whether to block DCC CHAT as well as DCC SEND
@@ -164,30 +163,32 @@
#
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-<module name="m_deaf.so">
-<module name="m_denychans.so">
+<module name="deaf">
+<module name="denychans">
#<badchan name="#gods*" allowopers="yes" reason="Tortoises!"> #
#<badchan name="#heaven" redirect="#hell" reason="Nice try!"> #
-<module name="m_devoice.so">
+<module name="devoice">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Filter module: Provides message filtering, similar to SPAMFILTER.
-<module name="m_filter.so">
+<module name="filter">
# #
-# This module depends upon a regex provider such as m_regex_pcre or #
-# m_regex_glob to function. You must specify which of these you want #
-# m_filter to use via the tag below. #
+# This module depends upon a regex provider such as regex_pcre or #
+# regex_glob to function. You must specify which of these you want #
+# the filter module to use via the tag below. #
# #
# Valid engines are: #
# #
-# glob - Glob patterns, provided via m_regex_glob.so #
-# pcre - PCRE regexps, provided via m_regex_pcre.so, needs libpcre #
-# tre - TRE regexps, provided via m_regex_tre.so, requires libtre #
-# posix - POSIX regexps, provided via m_regex_posix.so, not availale #
-# on windows, no dependencies on other operating systems. #
+# glob - Glob patterns, provided via regex_glob. #
+# pcre - PCRE regexps, provided via regex_pcre, needs libpcre. #
+# tre - TRE regexps, provided via regex_tre, requires libtre. #
+# posix - POSIX regexps, provided via regex_posix, not available #
+# on Windows, no dependencies on other operating systems. #
+# stdlib - stdlib regexps, provided via regex_stdlib, see comment #
+# at the <module> tag for info on availability. #
# #
-<filteropts engine="glob">
+<filteropts engine="glob">
# #
# Your choice of regex engine must match on all servers network-wide.
#
@@ -197,47 +198,48 @@
#
#-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# Optional - If you specify to use the m_filter module, then #
+# Optional - If you specify to use the filter module, then #
# specfiy below the path to the filter.conf file, or define some #
# <filter> tags. #
# #
#<include file="filter.conf">
-<module name="m_gecosban.so">
-<module name="m_globops.so">
-<module name="m_globalload.so">
-<module name="m_halfop.so">
-<module name="m_helpop.so">
+<module name="gecosban">
+<module name="globops">
+<module name="globalload">
+<module name="halfop">
+<module name="helpop">
<include file="inspircd.helpop-full.example">
-<module name="m_hidechans.so">
+<module name="hidechans">
<hidechans affectsopers="false">
-<module name="m_hideoper.so">
-<module name="m_ident.so">
+<module name="hideoper">
+<module name="ident">
<ident timeout="1">
-<module name="m_inviteexception.so">
-<module name="m_joinflood.so">
-<module name="m_jumpserver.so">
-<module name="m_knock.so">
-<module name="m_messageflood.so">
-<module name="m_namesx.so">
-<module name="m_nickflood.so">
-<module name="m_noctcp.so">
-<module name="m_nokicks.so">
-<module name="m_nonicks.so">
-<module name="m_nopartmsg.so">
-<module name="m_nonotice.so">
-<module name="m_operchans.so">
+<module name="inviteexception">
+<module name="joinflood">
+<module name="jumpserver">
+<module name="knock">
+<module name="messageflood">
+<module name="namesx">
+<module name="nickflood">
+<module name="noctcp">
+<module name="nokicks">
+<module name="nonicks">
+<module name="nopartmsg">
+<module name="nonotice">
+<module name="operchans">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper join module: Auto-joins opers to a channel upon oper-up.
-# This module is oper-only. For the user equivalent, see m_conn_join.
-<module name="m_operjoin.so">
+# This module is oper-only. For the user equivalent, see the conn_join
+# module.
+<module name="operjoin">
#
#-#-#-#-#-#-#-#-#-#-# OPERJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# If you are using the m_operjoin.so module, specify options here: #
+# If you are using the operjoin module, specify options here: #
# #
# channel - The channel name to join, can also be a comma #
# separated list eg. "#channel1,#channel2". #
@@ -252,52 +254,52 @@
#
#<type name="Helper" autojoin="#help" classes="...">
-<module name="m_operlog.so">
+<module name="operlog">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper MOTD module: Provides support for separate message of the day
# on oper-up.
# This module is oper-only.
-#<module name="m_opermotd.so">
+#<module name="opermotd">
#
#-#-#-#-#-#-#-#-#-#-# OPERMOTD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# If you are using the m_opermotd.so module, specify the motd here #
+# If you are using the opermotd module, specify the motd here #
# #
# onoper - If on, the message is sent on /OPER, otherwise it's #
# only sent when /OPERMOTD is used. #
# #
#<opermotd file="oper.motd" onoper="yes">
-<module name="m_override.so">
+<module name="override">
#-#-#-#-#-#-#-#-#-#-# OVERRIDE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# m_override.so is too complex to describe here, see the wiki: #
+# The override module is too complex to describe here, see the wiki: #
# http://wiki.inspircd.org/Modules/override #
-<module name="m_operlevels.so">
-<module name="m_opermodes.so">
-<module name="m_password_hash.so">
-<module name="m_muteban.so">
+<module name="operlevels">
+<module name="opermodes">
+<module name="password_hash">
+<module name="muteban">
-<module name="m_redirect.so">
-<module name="m_regex_glob.so">
+<module name="redirect">
+<module name="regex_glob">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for PCRE (Perl-Compatible Regular
# Expressions). You need libpcre installed to compile and load this
-# module. You must have at least 1 provider loaded to use m_filter or
-# m_rline.
-#<module name="m_regex_pcre.so">
+# module. You must have at least 1 provider loaded to use the filter
+# or the rline module.
+#<module name="regex_pcre">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for POSIX Regular Expressions.
# You shouldn't need any additional libraries on a POSIX-compatible
# system (ie: any Linux, BSD, but not Windows). You must have at least
-# 1 provider loaded to use m_filter or m_rline.
+# 1 provider loaded to use the filter or rline module.
# On POSIX-compliant systems, regex syntax can be found by using the
# command: 'man 7 regex'.
-#<module name="m_regex_posix.so">
+#<module name="regex_posix">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Regular expression provider for TRE Regular Expressions.
@@ -305,7 +307,7 @@
# if you are most familiar with the syntax of /spamfilter from there,
# this is the provider you want. You need libtre installed in order
# to compile and load this module.
-#<module name="m_regex_tre.so">
+#<module name="regex_tre">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Registered users only channel creation module. If enabled, only
@@ -313,77 +315,77 @@
#
# You probably *DO NOT* want to load this module on a public network.
#
-#<module name="m_regonlycreate.so">
+#<module name="regonlycreate">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Restricted channels module: Allows only opers to create channels.
#
# You probably *DO NOT* want to load this module on a public network.
#
-#<module name="m_restrictchans.so">
+#<module name="restrictchans">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Restrict message module: Allows users to only message opers.
#
# You probably *DO NOT* want to load this module on a public network.
#
-#<module name="m_restrictmsg.so">
-
-<module name="m_sajoin.so">
-<module name="m_sakick.so">
-<module name="m_samode.so">
-<module name="m_sanick.so">
-<module name="m_sapart.so">
-<module name="m_saquit.so">
-<module name="m_satopic.so">
-<module name="m_servprotect.so">
-<module name="m_seenicks.so">
-<module name="m_setidle.so">
-<module name="m_services_account.so">
-<module name="m_sethost.so">
-<module name="m_setident.so">
-<module name="m_setname.so">
-<module name="m_showwhois.so">
+#<module name="restrictmsg">
+
+<module name="sajoin">
+<module name="sakick">
+<module name="samode">
+<module name="sanick">
+<module name="sapart">
+<module name="saquit">
+<module name="satopic">
+<module name="servprotect">
+<module name="seenicks">
+<module name="setidle">
+<module name="services_account">
+<module name="sethost">
+<module name="setident">
+<module name="setname">
+<module name="showwhois">
<showwhois opersonly="yes" showfromopers="yes">
-<module name="m_shun.so">
+<module name="shun">
<shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="no" affectopers="no">
-<module name="m_sslmodes.so">
+<module name="sslmodes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# GnuTLS SSL module: Adds support for SSL connections using GnuTLS,
# if enabled. You must answer 'yes' in ./configure when asked or symlink
# the source for this module from the directory src/modules/extra, if
-# you want to enable this, or it will not load.
-#<module name="m_ssl_gnutls.so">
+# you want to enable this, or it will not load.
+#<module name="ssl_gnutls">
#
#-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# m_ssl_gnutls.so is too complex to describe here, see the wiki: #
+# ssl_gnutls is too complex to describe here, see the wiki: #
# http://wiki.inspircd.org/Modules/ssl_gnutls #
-<module name="m_sslinfo.so">
+<module name="sslinfo">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# OpenSSL SSL module: Adds support for SSL connections using OpenSSL,
# if enabled. You must answer 'yes' in ./configure when asked or symlink
# the source for this module from the directory src/modules/extra, if
# you want to enable this, or it will not load.
-#<module name="m_ssl_openssl.so">
+#<module name="ssl_openssl">
#
#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# m_ssl_openssl.so is too complex to describe here, see the wiki: #
+# ssl_openssl is too complex to describe here, see the wiki: #
# http://wiki.inspircd.org/Modules/ssl_openssl #
-<module name="m_stripcolor.so">
-<module name="m_svshold.so">
-<module name="m_swhois.so">
-<module name="m_tline.so">
-<module name="m_uhnames.so">
-<module name="m_userip.so">
-<module name="m_watch.so">
+<module name="stripcolor">
+<module name="svshold">
+<module name="swhois">
+<module name="tline">
+<module name="uhnames">
+<module name="userip">
+<module name="watch">
<watch maxentries="32">
-<module name="m_spanningtree.so">
+<module name="spanningtree">
diff --git a/docs/conf/motd.txt.example b/docs/conf/motd.txt.example
index 66fddd344..04f7b11b2 100644
--- a/docs/conf/motd.txt.example
+++ b/docs/conf/motd.txt.example
@@ -10,11 +10,11 @@
Putting the ricer in IRCer since 2007
- //\
+ //\
V \ WELCOME TO AN INSPIRCD NETWORK
\ \_ If you see this, I am probably new.
\,'.`-. If I'm not new, my owner is lazy.
- |\ `. `.
+ |\ `. `.
( \ `. `-. _,.-:\
\ \ `. `-._ __..--' ,-';/
\ `. `-. `-..___..---' _.--' ,'/
@@ -23,7 +23,7 @@
`-_ `-.___ __,--' ,'
`-.__ `----""" __.-'
`--..____..--'
-
+
---- To change, see motd.txt.example -----
/ \
/ * Web: http://www.inspircd.org \
diff --git a/docs/conf/opermotd.txt.example b/docs/conf/opermotd.txt.example
index 110cba8e4..0ac4cfea1 100644
--- a/docs/conf/opermotd.txt.example
+++ b/docs/conf/opermotd.txt.example
@@ -10,11 +10,11 @@
Putting the ricer in IRCer since 2007
- //\
+ //\
V \ WELCOME TO AN INSPIRCD NETWORK
\ \_ If you see this, I am probably new.
\,'.`-. If I'm not new, my owner is lazy.
- |\ `. `.
+ |\ `. `.
( \ `. `-. _,.-:\
\ \ `. `-._ __..--' ,-';/
\ `. `-. `-..___..---' _.--' ,'/
@@ -23,7 +23,7 @@
`-_ `-.___ __,--' ,'
`-.__ `----""" __.-'
`--..____..--'
-
+
-- To change, see opermotd.txt.example ---
/ \
/ * Web: http://www.inspircd.org \
diff --git a/docs/conf/opers.conf.example b/docs/conf/opers.conf.example
index eef8039cb..5e1ec28f5 100644
--- a/docs/conf/opers.conf.example
+++ b/docs/conf/opers.conf.example
@@ -15,7 +15,7 @@
name="Shutdown"
# commands: Oper-only commands that opers of this class can run.
- commands="DIE RESTART REHASH LOADMODULE UNLOADMODULE RELOADMODULE GUNLOADMODULE GRELOADMODULE"
+ commands="DIE RESTART REHASH LOADMODULE UNLOADMODULE RELOADMODULE GLOADMODULE GUNLOADMODULE GRELOADMODULE"
# privs: Special privileges that users with this class may utilise.
# VIEWING:
@@ -39,11 +39,11 @@
# chanmodes: Oper-only channel modes that opers with this class can use.
chanmodes="*">
-<class name="SACommands" commands="SAJOIN SAPART SANICK SAQUIT SATOPIC SAKICK SAMODE">
+<class name="SACommands" commands="SAJOIN SAPART SANICK SAQUIT SATOPIC SAKICK SAMODE OJOIN">
<class name="ServerLink" commands="CONNECT SQUIT RCONNECT RSQUIT MKPASSWD ALLTIME SWHOIS JUMPSERVER LOCKSERV UNLOCKSERV" usermodes="*" chanmodes="*" privs="servers/auspex">
<class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE ELINE TLINE RLINE CHECK NICKLOCK NICKUNLOCK SHUN CLONES CBAN CLOSE" usermodes="*" chanmodes="*">
<class name="OperChat" commands="WALLOPS GLOBOPS" usermodes="*" chanmodes="*" privs="users/mass-message">
-<class name="HostCloak" commands="SETHOST SETIDENT CHGNAME CHGHOST CHGIDENT SETIDLE" usermodes="*" chanmodes="*" privs="users/auspex">
+<class name="HostCloak" commands="SETHOST SETIDENT SETIDLE CHGNAME CHGHOST CHGIDENT" usermodes="*" chanmodes="*" privs="users/auspex">
#-#-#-#-#-#-#-#-#-#-#-#- OPERATOR COMPOSITION -#-#-#-#-#-#-#-#-#-#-#
@@ -68,7 +68,7 @@
# modes: User modes besides +o that are set on an oper of this type
# when they oper up. Used for snomasks and other things.
- # Requires that m_opermodes.so be loaded.
+ # Requires the opermodes module be loaded.
modes="+s +cCqQ">
<type name="GlobalOp" classes="SACommands OperChat BanControl HostCloak ServerLink" vhost="ircop.omega.example.org">
@@ -97,26 +97,26 @@
host="attila@inspircd.org *@2001:db8::/32"
# ** ADVANCED ** This option is disabled by default.
- # fingerprint: When using the m_sslinfo module, you may specify
+ # fingerprint: When using the sslinfo module, you may specify
# a key fingerprint here. This can be obtained by using the /sslinfo
# command while the module is loaded, and is also noticed on connect.
# This enhances security by verifying that the person opering up has
# a matching SSL client certificate, which is very difficult to
# forge (impossible unless preimage attacks on the hash exist).
- # If m_sslinfo isn't loaded, this option will be ignored.
+ # If the sslinfo module isn't loaded, this option will be ignored.
#fingerprint="67cb9dc013248a829bb2171ed11becd4"
- # autologin: If an SSL fingerprint for this oper is specified, you can
- # have the oper block automatically log in. This moves all security of the
- # oper block to the protection of the client certificate, so be sure that
- # the private key is well-protected! Requires m_sslinfo.
+ # autologin: If an SSL certificate fingerprint for this oper is specified,
+ # you can have the oper block automatically log in. This moves all security
+ # of the oper block to the protection of the client certificate, so be sure
+ # that the private key is well-protected! Requires the sslinfo module.
#autologin="on"
# sslonly: If on, this oper can only oper up if they're using a SSL connection.
# Setting this option adds a decent bit of security. Highly recommended
# if the oper is on wifi, or specifically, unsecured wifi. Note that it
# is redundant to specify this option if you specify a fingerprint.
- # This setting only takes effect if m_sslinfo is loaded.
+ # This setting only takes effect if the sslinfo module is loaded.
#sslonly="yes"
# vhost: Overrides the vhost in the type block. Class and modes may also
@@ -130,8 +130,8 @@
# Operator with a plaintext password and no comments, for easy copy & paste.
<oper
name="Brain"
- password="s3cret"
- host="brain@dialup15.isp.com *@localhost *@example.com *@2001:db8::/32"
+ password="youshouldhashthis"
+ host="brain@dialup15.isp.test.com *@localhost *@example.com *@2001:db8::/32"
#fingerprint="67cb9dc013248a829bb2171ed11becd4"
type="NetAdmin">
@@ -141,18 +141,18 @@
# Remember: This is case sensitive.
name="Adam"
- # hash: What hash this password is hashed with.
- # Requires the module for selected hash (m_md5.so, m_sha256.so
- # or m_ripemd160.so) be loaded and the password hashing module
- # (m_password_hash.so) loaded.
- # Options here are: "md5", "sha256" and "ripemd160", or one of
- # these prefixed with "hmac-", e.g.: "hmac-sha256".
+ # hash: the hash function this password is hashed with. Requires the
+ # module for the selected function (bcrypt, md5, sha1, sha256, or
+ # ripemd160) and the password hashing module (password_hash) to be
+ # loaded.
+ # You may also use any of the above other than bcrypt prefixed with
+ # either "hmac-" or "pbkdf2-hmac-" (requires the pbkdf2 module).
# Create hashed passwords with: /mkpasswd <hash> <password>
- hash="hmac-sha256"
+ hash="bcrypt"
# password: A hash of the password (see above option) hashed
- # with /mkpasswd <hash> <password>. See m_password_hash in modules.conf
- # for more information about password hashing.
+ # with /mkpasswd <hash> <password>. See the password_hash module
+ # in modules.conf for more information about password hashing.
password="qQmv3LcF$Qh63wzmtUqWp9OXnLwe7yv1GcBwHpq59k2a0UrY8xe0"
# host: What hostnames and IPs are allowed to use this operator account.
diff --git a/docs/conf/services/anope.conf.example b/docs/conf/services/anope.conf.example
new file mode 100644
index 000000000..603bb538d
--- /dev/null
+++ b/docs/conf/services/anope.conf.example
@@ -0,0 +1,9 @@
+# This file contains aliases and nickname reservations which are used
+# by Anope. See https://www.anope.org/ for more information on Anope.
+
+# This file inherits from the generic config to avoid repetition.
+<include file="examples/services/generic.conf.example">
+
+# /GLOBAL <message>
+# Sends a global notice.
+<alias text="GLOBAL" format="*" replace="PRIVMSG $requirement :GLOBAL $2-" requires="Global" uline="yes" operonly="yes">
diff --git a/docs/conf/services/atheme.conf.example b/docs/conf/services/atheme.conf.example
new file mode 100644
index 000000000..037087998
--- /dev/null
+++ b/docs/conf/services/atheme.conf.example
@@ -0,0 +1,52 @@
+# This file contains aliases and nickname reservations which are used
+# by Atheme. See http://atheme.net for more information on Atheme.
+
+# This file inherits from the generic config to avoid repetition.
+<include file="examples/services/generic.conf.example">
+
+# Long hand aliases for services pseudoclients.
+<alias text="ALIS" replace="PRIVMSG $requirement :$2-" requires="ALIS" uline="yes">
+<alias text="CHANFIX" replace="PRIVMSG $requirement :$2-" requires="ChanFix" uline="yes">
+<alias text="GAMESERV" replace="PRIVMSG $requirement :$2-" requires="GameServ" uline="yes">
+<alias text="GLOBAL" replace="PRIVMSG $requirement :$2-" requires="Global" uline="yes" operonly="yes">
+<alias text="GROUPSERV" replace="PRIVMSG $requirement :$2-" requires="GroupServ" uline="yes">
+<alias text="HELPSERV" replace="PRIVMSG $requirement :$2-" requires="HelpServ" uline="yes">
+<alias text="INFOSERV" replace="PRIVMSG $requirement :$2-" requires="InfoServ" uline="yes">
+<alias text="PROXYSCAN" replace="PRIVMSG $requirement :$2-" requires="Proxyscan" uline="yes" operonly="yes">
+<alias text="RPGSERV" replace="PRIVMSG $requirement :$2-" requires="RPGServ" uline="yes">
+
+# Short hand aliases for services pseudoclients.
+<alias text="CF" replace="PRIVMSG $requirement :$2-" requires="ChanFix" uline="yes">
+<alias text="GL" replace="PRIVMSG $requirement :$2-" requires="Global" uline="yes" operonly="yes">
+<alias text="GS" replace="PRIVMSG $requirement :$2-" requires="GroupServ" uline="yes">
+<alias text="IS" replace="PRIVMSG $requirement :$2-" requires="InfoServ" uline="yes">
+<alias text="LS" replace="PRIVMSG $requirement :$2-" requires="ALIS" uline="yes">
+<alias text="PS" replace="PRIVMSG $requirement :$2-" requires="Proxyscan" uline="yes" operonly="yes">
+<alias text="RS" replace="PRIVMSG $requirement :$2-" requires="RPGServ" uline="yes">
+
+# These short hand aliases conflict with other pseudoclients. You can enable
+# them but you will need to comment out the uncommented ones above first,
+#<alias text="GS" replace="PRIVMSG $requirement :$2-" requires="GameServ" uline="yes">
+#<alias text="HS" replace="PRIVMSG $requirement :$2-" requires="HelpServ" uline="yes">
+
+# Prevent clients from using the nicknames of services pseudoclients.
+<badnick nick="ALIS" reason="Reserved for a network service">
+<badnick nick="ChanFix" reason="Reserved for a network service">
+<badnick nick="GameServ" reason="Reserved for a network service">
+<badnick nick="GroupServ" reason="Reserved for a network service">
+<badnick nick="HelpServ" reason="Reserved for a network service">
+<badnick nick="InfoServ" reason="Reserved for a network service">
+<badnick nick="Proxyscan" reason="Reserved for a network service">
+<badnick nick="RPGServ" reason="Reserved for a network service">
+<badnick nick="SaslServ" reason="Reserved for a network service">
+
+# Exempt services pseudoclients from filters.
+<exemptfromfilter target="ALIS">
+<exemptfromfilter target="ChanFix">
+<exemptfromfilter target="GameServ">
+<exemptfromfilter target="GroupServ">
+<exemptfromfilter target="HelpServ">
+<exemptfromfilter target="InfoServ">
+<exemptfromfilter target="Proxyscan">
+<exemptfromfilter target="RPGServ">
+<exemptfromfilter target="SaslServ">
diff --git a/docs/conf/services/generic.conf.example b/docs/conf/services/generic.conf.example
new file mode 100644
index 000000000..6904d31d8
--- /dev/null
+++ b/docs/conf/services/generic.conf.example
@@ -0,0 +1,45 @@
+# This file contains aliases and nickname reservations which are used
+# by all common services implementations.
+
+# Long hand aliases for services pseudoclients.
+<alias text="BOTSERV" replace="PRIVMSG $requirement :$2-" requires="BotServ" uline="yes">
+<alias text="CHANSERV" replace="PRIVMSG $requirement :$2-" requires="ChanServ" uline="yes">
+<alias text="HOSTSERV" replace="PRIVMSG $requirement :$2-" requires="HostServ" uline="yes">
+<alias text="MEMOSERV" replace="PRIVMSG $requirement :$2-" requires="MemoServ" uline="yes">
+<alias text="NICKSERV" replace="PRIVMSG $requirement :$2-" requires="NickServ" uline="yes">
+<alias text="OPERSERV" replace="PRIVMSG $requirement :$2-" requires="OperServ" uline="yes" operonly="yes">
+<alias text="STATSERV" replace="PRIVMSG $requirement :$2-" requires="StatServ" uline="yes">
+
+# Short hand aliases for services pseudoclients.
+<alias text="BS" replace="PRIVMSG $requirement :$2-" requires="BotServ" uline="yes">
+<alias text="CS" replace="PRIVMSG $requirement :$2-" requires="ChanServ" uline="yes">
+<alias text="HS" replace="PRIVMSG $requirement :$2-" requires="HostServ" uline="yes">
+<alias text="MS" replace="PRIVMSG $requirement :$2-" requires="MemoServ" uline="yes">
+<alias text="NS" replace="PRIVMSG $requirement :$2-" requires="NickServ" uline="yes">
+<alias text="OS" replace="PRIVMSG $requirement :$2-" requires="OperServ" uline="yes" operonly="yes">
+<alias text="SS" replace="PRIVMSG $requirement :$2-" requires="StatServ" uline="yes">
+
+# /ID [account] <password>
+# Identifies to a services account.
+<alias text="ID" format="*" replace="PRIVMSG $requirement :IDENTIFY $2-" requires="NickServ" uline="yes">
+<alias text="IDENTIFY" format="*" replace="PRIVMSG $requirement :IDENTIFY $2-" requires="NickServ" uline="yes">
+
+# Prevent clients from using the nicknames of services pseudoclients.
+<badnick nick="BotServ" reason="Reserved for a network service">
+<badnick nick="ChanServ" reason="Reserved for a network service">
+<badnick nick="Global" reason="Reserved for a network service">
+<badnick nick="HostServ" reason="Reserved for a network service">
+<badnick nick="MemoServ" reason="Reserved for a network service">
+<badnick nick="NickServ" reason="Reserved for a network service">
+<badnick nick="OperServ" reason="Reserved for a network service">
+<badnick nick="StatServ" reason="Reserved for a network service">
+
+# Exempt services pseudoclients from filters.
+<exemptfromfilter target="BotServ">
+<exemptfromfilter target="ChanServ">
+<exemptfromfilter target="Global">
+<exemptfromfilter target="HostServ">
+<exemptfromfilter target="MemoServ">
+<exemptfromfilter target="NickServ">
+<exemptfromfilter target="OperServ">
+<exemptfromfilter target="StatServ">