]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - docs/conf/modules.conf.example
Give m_connectban a configurable ban message
[user/henk/code/inspircd.git] / docs / conf / modules.conf.example
index ca1340f040f4b7915f64075d4e3d84bb01e721e9..7d7fba26ca3dcd5c81213a58ca9fdea80ef317c4 100644 (file)
 #   Allow opers (channels/auspex) to see see all joins/parts/kicks in the channel
 #
 # Exemptchanops can be used to adjust the level at which users become visible or
-# the level at which they can see the full membe list of the channel.
+# the level at which they can see the full member list of the channel.
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Autoop module: Adds basic channel access controls via the +w listmode.
 #           capsmap="ABCDEFGHIJKLMNOPQRSTUVWXYZ! ">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Block color module: Blocking color-coded messages with cmode +c
+# Block color module: Blocking color-coded messages with chan mode +c
 #<module name="m_blockcolor.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # CallerID module: Adds usermode +g which activates hybrid-style 
-# callerid (== block all private messages unless you /accept first)
+# callerid: block all private messages unless you /accept first
 #<module name="m_callerid.so">
 # 
 #-#-#-#-#-#-#-#-#-#-#- CALLERID  CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # 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">
 #
 #-#-#-#-#-#-#-#-#-#-#-# CGIIRC  CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Channel Names module: Allows disabling channels which have certain
-# characters in the channel name such as bold, colorcodes, etc which
+# 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">
 # To use, CHGNAME must be in one of your oper class blocks.
 #<module name="m_chgname.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Clear chan module: Allows opers to masskick, masskill or mass-G/ZLine
+# all users on a channel using /CLEARCHAN.
+#<module name="m_clearchan.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Cloaking module: Adds usermode +x and cloaking support.
 # Relies on the module m_md5.so being loaded.
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Clones module: Adds an oper command /CLONES for detecting cloned
-# users. Warning: This module may be resource intensive when its
-# command is issued, use with care.
+# users. Warning: This command may be resource intensive when it is
+# 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">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Conn-Join: Allows you to force users to join one or more channels
-# automatically upon connecting to the server.
+# 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">
 #
 #-#-#-#-#-#-#-#-#-#-#-#- CONNJOIN CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
 #
-# If you have m_conn_join.so loaded, you can configure it using the
-# follow values:
-#
+# Join users immediately after connection to #one #two and #three.
 #<autojoin channel="#one,#two,#three">
+# Join users to #chat after 15 seconds if they aren't on any channels.
+#<autojoin channel="#chat" delay="15">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Conn-Usermodes: Set modes on users when they connect
 
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Channel cycle module. Server side /hop, with +ilk etc bypass.
+# Channel cycle module. Server side /hop, with +ilk etc. bypass.
 #<module name="m_cycle.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # IP addresses (32 and 128 bits) into CIDR masks, to allow for throttling
 # over whole ISPs/blocks of IPs, which may be needed to prevent attacks.
 #
-#<connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128">
+# A custom ban message may optionally be specified.
+#
+# <connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128"
+#  banmessage="Your IP range has been attempting to connect too many times in too short a duration. Wait a while, and you will be able to connect.">
+#
 # This allows for 10 connections in an hour with a 10 minute ban if that is exceeded.
 #
 #<module name="m_connectban.so">
 #   quitmsg="Throttled" bootwait="10">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Custom prefixes: allows for channel prefixes to be added.
+# Custom prefixes: allows for channel prefixes to be added. 
 #<module name="m_customprefix.so">
 #
 # name       The name of the mode, must be unique from other modes
 #<customprefix name="admin" letter="a" prefix="&amp;" rank="40000" ranktoset="50000">
 #<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.
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Custom title module: Adds the /TITLE command which allows for trusted
 # Glob masks are accepted here also.
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Devoice Module: Let users devoice themselves.
+# Devoice Module: Let users devoice themselves using /devoice #chan.
 #<module name="m_devoice.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 #                                                                     #
 #<include file="examples/filter.conf.example">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Flash Policy Daemon module: Allows Flash IRC clients (e.g. LightIRC)#
+# to connect. If no file is specified, it'll serve a default policy   #
+# 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">                                    #
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Gecosban: Implements extended ban r:, which stops anyone matching
 # a mask like +b r:*realname?here* from joining a channel.
 #<include file="examples/inspircd.helpop-full.example">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# HIDECHANS module: Allows opers to hide their channels list from non-
+# HIDECHANS module: Allows users to hide their channels list from non-
 # opers by setting user mode +I on themselves.
 #<module name="m_hidechans.so">
 #
 # a <bind> tag with type "httpd", and load at least one of the other
 # m_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
 #<module name="m_ircv3.so">
 # The following block can be used to control which extensions are
 # enabled.
-#<ircv3 accoutnotify="on" awaynotify="on" extendedjoin="on">
+#<ircv3 accountnotify="on" awaynotify="on" extendedjoin="on">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Join flood module: Adds support for join flood protection (+j)
 # If set to "both" then (surprise!) both will be sent.
 #<knock notify="notice">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# LDAP module: Allows other SQL modules to access a LDAP database
+# through a unified API.
+# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_ldap.cpp
+# and run make install, then uncomment this module to enable it.
+#
+#<module name="m_ldap.so">
+#<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.       #
+#                                                                     #
+# The binddn and bindauth indicate the DN to bind to for searching,   #
+# and the password for the distinguished name. Some LDAP servers will #
+# allow anonymous searching in which case these two values do not     #
+# need defining, otherwise they should be set similar to the examples #
+# above.                                                              #
+#                                                                     #
+# The searchscope value indicates the subtree to search under. On our #
+# test system this is 'subtree'. Your mileage may vary.               #
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # LDAP authentication module: Adds the ability to authenticate users  #
-# via LDAP. This is an extra module which must be enabled explicitly  #
-# by symlinking it from modules/extra, and requires the OpenLDAP libs #
-# This modules is in extras. To enable it, Re-run configure with:     #
-# ./configure --enable-extras=m_ldapauth.cpp                          #
-# and run make install, then uncomment this module.                   #
+# via LDAP.                                                           #
 #                                                                     #
 #<module name="m_ldapauth.so">                                        #
 #                                                                     #
 # Configuration:                                                      #
 #                                                                     #
-# <ldapauth baserdn="ou=People,dc=brainbox,dc=cc"                     #
+# <ldapauth dbid="ldapdb"                                             #
+#           baserdn="ou=People,dc=brainbox,dc=cc"                     #
 #           attribute="uid"                                           #
-#           server="ldap://brainwave.brainbox.cc"                     #
-#           allowpattern="Guest*"                                     #
+#           allowpattern="Guest* Bot*"                                #
 #           killreason="Access denied"                                #
-#           searchscope="subtree"                                     #
-#           binddn="cn=Manager,dc=brainbox,dc=cc"                     #
-#           bindauth="mysecretpass"                                   #
 #           verbose="yes"                                             #
 #           host="$uid.$ou.inspircd.org">                             #
 #                                                                     #
 # The attribute value indicates the attribute which is used to locate #
 # a user account by name. On POSIX systems this is usually 'uid'.     #
 #                                                                     #
-# The server parameter indicates the LDAP server to connect to. The   #
-# ldap:// style scheme before the hostname proper is MANDITORY.       #
-#                                                                     #
-# The allowpattern value allows you to specify a wildcard mask which  #
-# will always be allowed to connect regardless of if they have an     #
-# account, for example guest users.                                   #
+# The allowpattern value allows you to specify a space separated list #
+# of wildcard masks which will always be allowed to connect           #
+# regardless of if they have an account, for example guest and bot    #
+# users.                                                              #
 #                                                                     #
 # Killreason indicates the QUIT reason to give to users if they fail  #
 # to authenticate.                                                    #
 #                                                                     #
-# The searchscope value indicates the subtree to search under. On our #
-# test system this is 'subtree'. Your mileage may vary.               #
-#                                                                     #
 # Setting the verbose value causes an oper notice to be sent out for  #
 # every failed authentication to the server, with an error string.    #
 #                                                                     #
-# The binddn and bindauth indicate the DN to bind to for searching,   #
-# and the password for the distinguished name. Some LDAP servers will #
-# allow anonymous searching in which case these two values do not     #
-# need defining, otherwise they should be set similar to the examples #
-# above.                                                              #
-#                                                                     #
 # ldapwhitelist indicates that clients connecting from an IP in the   #
 # provided CIDR do not need to authenticate against LDAP. It can be   #
 # repeated to whitelist multiple CIDRs.                               #
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # LDAP oper configuration module: Adds the ability to authenticate    #
-# opers via LDAP. This is an extra module which must be enabled       #
-# explicitly by symlinking it from modules/extra, and requires the    #
-# OpenLDAP libs. Re-run configure with: ./configure --enable-extras=m_ldapoper.cpp
-# and run make install, then uncomment this module to enable it.      #
+# opers via LDAP.                                                     #
 #                                                                     #
 #<module name="m_ldapoper.so">
 #                                                                     #
 # Configuration:                                                      #
 #                                                                     #
-# <ldapoper baserdn="ou=People,dc=brainbox,dc=cc"
-#           server="ldap://brainwave.brainbox.cc"
-#           searchscope="subtree"
-#           binddn="cn=Manager,dc=brainbox,dc=cc"
-#           bindauth="mysecretpass"
+# <ldapoper dbid="ldapdb"
+#           baserdn="ou=People,dc=brainbox,dc=cc"
 #           attribute="uid">
 #                                                                     #
 # Available configuration items are identical to the same items in    #
 # are specified in a <class> tag that the oper is part of. This is so #
 # you can control who has access to this possible dangerous command.  #
 # If your server is locked and you get disconnected, do a REHASH from #
-# shell to open up again.
+# shell to open up again.                                             #
 #
 # This module is oper-only.
 #
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # 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   #
-# the security tag, instead.                                          #
+# the <security> tag, instead.                                        #
 #<module name="m_maphide.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # would likely be immediately bounced by services.
 #<module name="m_mlock.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # MsSQL module: Allows other SQL modules to access MS SQL Server 
 # through a unified API.
 #<module name="m_nokicks.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# No nicks module: Adds the +N channel mode, as well as the +b N:
-# extended bantype. +N stops all users from changing their nick,
-# the +b N: extban stops anyone from matching a +b N:nick!user@host
-# mask from changing their nick.
+# 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="m_nonotice.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Network buisness join module
+# 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">
 # If you are using the m_operjoin.so module, specify options here:    #
 #                                                                     #
 # channel     -      The channel name to join, can also be a comma    #
-#                    seperated list eg. "#channel1,#channel2".        #
+#                    separated list eg. "#channel1,#channel2".        #
 #                                                                     #
 # override    -      Lets the oper join walking thru any modes that   #
 #                    might be set, even bans. Use "yes" or "no".      #
 #<operprefix prefix="!">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper MOTD module: Provides support for seperate message of the day
+# Oper MOTD module: Provides support for separate message of the day
 # on oper-up
 # This module is oper-only.
 #<module name="m_opermotd.so">
 # Oper levels module: Gives each oper a level and prevents
 # actions being taken against higher level opers
 # Specify the level as the 'level' parameter of the <type> tag
-# This module is oper-only.
+# This module is oper-only.
 #<module name="m_operlevels.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
                # You can also use $user for the user ident string.
                forwardmsg="NOTICE $nick :*** Forwarding PASS to $nickrequired"
 
-               # cmd: Command for the nick to run when it recieves a connect
+               # cmd: Command for the nick to run when it receives a connect
                # password. 
                cmd="PRIVMSG $nickrequired :IDENTIFY $pass">
 
 # 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.
 #
-#<permchanneldb filename="data/permchannels.conf">
+# If 'listmodes' is true then all list modes (+b, +I, +e, +g...) will be
+# saved. Defaults to false.
+#<permchanneldb filename="data/permchannels.conf" listmodes="true">
 #<include file="data/permchannels.conf">
 #
 # You may also create channels on startup by using the <permchannels> block.
 # Optional - If you specify to use the m_randquote.so module, then    #
 # specify below the path to the randquotes.conf file.                 #
 #                                                                     #
-#<randquote file="randquotes.conf">
+#<randquote file="quotes.txt">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Redirect module: Adds channel redirection (mode +L)                 #
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # 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.
+# system (i.e.: any Linux, BSD, but not Windows). You must have at
+# least 1 provider loaded to use m_filter or m_rline.
 # On POSIX-compliant systems, regex syntax can be found by using the
 # command: 'man 7 regex'.
 #<module name="m_regex_posix.so">
 # SAJOIN module: Adds the /SAJOIN command
 # This module is oper-only.
 # 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">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # SASL authentication module: Provides support for IRC Authentication 
-# Layer (aka: atheme SASL) via AUTHENTICATE.
+# Layer via AUTHENTICATE. Note: You also need to have m_cap.so loaded
+# for SASL to work.
 #<module name="m_sasl.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # and is similar in operation to the way asuka and ircu handle services.
 #
 # At the same time, this offers +r for users and channels to mark them
-# as identified seperately from the idea of a master account, which
+# as identified separately from the idea of a master account, which
 # can be useful for services which are heavily nick-as-account centric.
 #
 # This replaces m_services from 1.1 and earlier.
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # SETNAME module: Adds the /SETNAME command
-# This module is oper-only.
-# To use, SETNAME must be in one of your oper class blocks.
 #<module name="m_setname.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # to a server matching a mask like +b s:server.mask.here from joining.
 #<module name="m_serverban.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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">                                        #
+#                                                                     #
+#-#-#-#-#-#-#-#-#-#-# SHOWFILE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# name    - The name of the command which displays this file. This is #
+#           the only mandatory setting, all others are optional.      #
+# file    - The text file to be shown to the user.                    #
+#           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).                       #
+#           * 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 #
+#           and sent as ANSI colors. If false (default) the file will #
+#           be displayed as-is.                                       #
+#                                                                     #
+# When using the method "numeric", the following extra settings are   #
+# available:                                                          #
+#                                                                     #
+# introtext    - Introductory line, "Showing <name>" by default.      #
+# intronumeric - Numeric used for the introductory line.              #
+# numeric      - Numeric used for sending the text itself.            #
+# endtext      - Ending line, "End of <name>" by default.             #
+# endnumeric   - Numeric used for the ending line.                    #
+#                                                                     #
+#<showfile name="RULES"
+#          file="rules.txt"
+#          colors="true"
+#          introtext="Server rules:"
+#          endtext="End of server rules.">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Show Whois module: Adds the +W usermode which allows opers
 # to see when they are whois'ed (can be annoying).
 #<module name="m_showwhois.so">
 #
 # 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. This setting
-# is not reloadable via /rehash, and will require /reloadmodule, as
-# it directly affects the mode object itself.
+# users/auspex priv will see real hosts of people, though.
 #<showwhois opersonly="yes"
 #
-# You may also set whether or not users should recieve whois notices, should
+# You may also set whether or not users should receive whois notices, should
 # they be /whois'd by an oper.
 # showfromopers="yes">
 
 #<module name="m_sslmodes.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# GnuTLS ssl module: Adds support for client-server SSL using GnuTLS,
-# if enabled. You must copy the source for this module from the directory
-# src/modules/extra, or answer 'yes' in ./configure when asked if you
-# want to enable this, or it will not load.
+# 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">
 #
 #-#-#-#-#-#-#-#-#-#-#-  GNUTLS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
 #                                                                     #
 # m_ssl_gnutls.so is too complex it describe here, see the wiki:      #
 # http://wiki.inspircd.org/Modules/ssl_gnutls                         #
-#                                                                     #
-# NOTE: If you want to use this module to encrypt and sign your       #
-# server to server traffic, you MUST load it before m_spanningtree in #
-# your configuration file!                                            #
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # SSL Info module: Allows users to retrieve information about other
 #<module name="m_sslinfo.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# OpenSSL ssl module: Adds support for client-server SSL using OpenSSL,
-# if enabled. You must copy the source for this module from the directory
-# src/modules/extra, or answer 'yes' in ./configure when asked if you
-# want to enable this, or it will not load.
+# 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">
 #
 #-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
 #                                                                     #
 # m_ssl_openssl.so is too complex it describe here, see the wiki:     #
 # http://wiki.inspircd.org/Modules/ssl_openssl                        #
-#                                                                     #
-# NOTE: If you want to use this module to encrypt and sign your       #
-# server to server traffic, you MUST load it before m_spanningtree in #
-# your configuration file!                                            #
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Strip color module: Adds the channel mode +S
 #                                                                     #
 #<sqloper dbid="1" hash="md5">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # SVSHold module: Implements SVSHOLD. Like Q:Lines, but can only be   #
 # added/removed by Services.                                          #
 #<module name="m_svshold.so">
+# SVSHOLD does not generate server notices by default, you can turn
+# notices on by uncommenting the next line.
+#<svshold silent="false">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # SWHOIS module: Allows you to add arbitary lines to user WHOIS.
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Test line module: Adds the /TLINE command, used to test how many
-# users a /GLINE or /ZLINE etc would match.
+# 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">
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # UHNAMES support module: Adds support for the IRCX style UHNAMES
 # extension, which displays ident and hostname in the names list for
-# each user, saving clients from doing a WHO on the channel. Note that
-# this module is not widely supported yet. If a client does not support
-# UHNAMES it will not enable it, this will not break incompatible
-# clients.
+# 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">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Userip module: Adds the /USERIP command
-# This module is oper-only.
-# To use, USERIP must be in one of your oper class blocks.
+# Allows users to query their own IP, also allows opers to query the IP
+# of anyone else.
 #<module name="m_userip.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#