-#<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">
-#<hostchange mask="localhost" ports="7000,7001,7005-7007" action="set" value="blahblah.foo">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# httpd module: Provides http server support for InspIRCd
-#<module name="m_httpd.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- HTTPD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
-#
-# Optional - If you choose to use the m_httpd.so module, then you must
-# specify the port number and other details of your http server:
-#
-#<http ip="192.168.1.10" host="brainwave" port="32006"
-# index="/home/brain/inspircd/http/index.html">
-#
-# You may have as many of these tags as you wish, each with a different
-# IP, port, host or index file. Each one will act as an independent
-# HTTP server.
-#
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# http ACL module: Provides access control lists for m_httpd dependent
-# modules. Use this module to restrict pages by IP address and by
-# password.
-#
-#<module name="m_httpd_acl.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- HTTPD ACL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
-#
-# Restrict access to the m_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.*">
-#
-# Deny all connections to all but the main index page:
-#
-# <httpdacl path="/*" types="blacklist" blacklist="*">
-#
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# http config module: Allows the server's configuration to be viewed
-# over HTTP. Requires m_httpd.so to be loaded for it to function.
-#<module name="m_httpd_config.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# http stats module: Provides basic stats pages over HTTP
-# Requires m_httpd.so to be loaded for it to function.
-#<module name="m_httpd_stats.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- HTTPD STATS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
-#
-#<httpstats stylesheet="http://remote.style/sheet.css">
-#
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Ident: Provides RFC 1413 ident lookup support
-#<module name="m_ident.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- 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 one second. 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. #
-# #
-#<ident timeout="5" bind="">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Invite except module: Adds support for channel invite exceptions (+I)
-#<module name="m_inviteexception.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Invisible module - Adds support for usermode +Q (quiet) which lets an
-# oper go 'invisible' similar to unrealircd 3.1's +I mode. Note that
-# opers are still able to see invisible users, and if an oper with +Q
-# deopers, they will become visible.
-#
-# IMPORTANT NOTE: To allow this mode to be used by a type of oper, you
-# must first add the value canquiet="yes" to that oper's type tag.
-#
-#<module name="m_invisible.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Join flood module: Adds support for join flood protection (+j)
-#<module name="m_joinflood.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Jump Server module: Adds support for the RPL_REDIR numeric
-#<module name="m_jumpserver.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Anti-Auto-Rejoin: Adds support for prevention of auto-rejoin (+J)
-#<module name="m_kicknorejoin.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Knock module: adds the /KNOCK command and +K channel mode
-#<module name="m_knock.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# 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 #
-# #
-#<module name="m_ldapauth.so"> #
-# #
-# Configuration: #
-# #
-# <ldapauth baserdn="ou=People,dc=brainbox,dc=cc" #
-# attribute="uid" #
-# server="ldap://brainwave.brainbox.cc" #
-# allowpattern="Guest*" #
-# killreason="Access denied" #
-# searchscope="subtree" #
-# binddn="cn=Manager,dc=brainbox,dc=cc" #
-# bindauth="mysecretpass" #
-# verbose="yes"> #
-# #
-# The baserdn indicates the base DN to search in for users. Usually #
-# this is 'ou=People,dc=yourdomain,dc=yourtld'. #
-# #
-# 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. #
-# #
-# 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. #
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Lock server module: Adds /LOCKSERV and /UNLOCKSERV commands that is #
-# used to temporarily close/open for new connections to the server. #
-# These commands require OPER status and that the LOCKSERV UNLOCKSERV #
-# 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 got disconnected, do a REHASH from #
-# shell to open up again.
-#<module name="m_lockserv.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Msg flood module: Adds message/notice flood protection (+f)
-#<module name="m_messageflood.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# MsSQL module: Allows other SQL modules to access MS SQL Server
-# through a unified API. You must copy the source for this module
-# from the directory src/modules/extra, plus the file m_sqlv2.h
-#<module name="m_mssql.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# m_mssql.so is more complex than described here, see wiki for more #
-# info http://www.inspircd.org/wiki/SQLServer_Service_Provider_Module #
-#
-#<database name="db" username="user" password="pass" hostname="localhost" id="db1">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# MySQL module: Allows other SQL modules to access MySQL databases
-# through a unified API. You must copy the source for this module
-# from the directory src/modules/extra, plus the file m_sqlv2.h
-#<module name="m_mysql.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# m_mysql.so is more complex than described here, see the wiki for #
-# more: http://www.inspircd.org/wiki/SQL_Service_Provider_Module #
-#
-#<database name="mydb" username="myuser" password="mypass" hostname="localhost" id="my_database2">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# 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">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Nickban: Implements extended ban n:, which stops anyone matching
-# a mask like +b n:nick!user@host from changing their nick on channel.
-#<module name="m_nickban.so">
-#
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Nickchange flood protection module: Allows up to X nick changes in Y seconds.
-# Provides channel mode +F.
-#<module name="m_nickflood.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Nicklock module: Let opers change a user's nick and then stop that
-# user from changing their nick again.
-#<module name="m_nicklock.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# No ctcp module: Adds the channel mode +C to block CTCPs
-#<module name="m_noctcp.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Noinvite module: Gives channel mode +V
-#<module name="m_noinvite.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# No kicks module: Adds the +Q channel mode
-#<module name="m_nokicks.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# No nicks module: Adds the +N channel mode
-#<module name="m_nonicks.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# No Notice module: adds the channel mode +T
-#<module name="m_nonotice.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper channels mode: Adds the +O channel mode
-#<module name="m_operchans.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper flood module: Removes flood limits from users upon opering up
-#<module name="m_operflood.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper Join module: Auto-joins opers to a channel upon oper-up
-#<module name="m_operjoin.so">
-#
-#-#-#-#-#-#-#-#-#-#-# OPERJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
-# #
-# 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". #
-# #
-# override - Lets the oper join walking thru any modes that #
-# might be set, even bans. Use "yes" or "no". #
-# #
-#<operjoin channel="#channel" override="no">
-#
-# Alternatively you can use the autojoin="channellist" in a <type> #
-# tag to set specific autojoins for a type of oper, for example: #
-#
-#<type name="Helper" autojoin="#help" classes="...">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper log module: Logs all oper commands to the ircd log at default
-# loglevel.
-#<module name="m_operlog.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper MOTD module: Provides support for seperate message of the day
-# on oper-up
-#<module name="m_opermotd.so">
-#
-#-#-#-#-#-#-#-#-#-#-# OPERMOTD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
-# #
-# If you are using the m_opermotd.so module, specify the motd here #
-# #
-#<opermotd file="oper.motd">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Override module: Adds support for oper override
-#<module name="m_override.so">
-#
-#-#-#-#-#-#-#-#-#-#-# OVERRIDE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
-# #
-# m_override.so is too complex it describe here, see the wiki: #
-# http://www.inspircd.org/wiki/Oper_Override_Module #
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# 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
-#<module name="m_operlevels.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# 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.
-#<module name="m_opermodes.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper password hash module: Allows hashed oper passwords
-# Relies on the module m_md5.so and/or m_sha256.so being loaded before
-# m_password_hash.so in the configuration file.
-#<module name="m_password_hash.so">
-#
-#-#-#-#-#-#-#-#-#-#-# OPER HASH CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
-#
-# To use this module, you must define a hash type for each oper's
-# password you want to hash. For example:
-#
-# <oper name="Brain"
-# host="ident@dialup15.isp.com"
-# hash="sha256"
-# password="a41d730937a53b79f788c0ab13e9e1d5"
-# type="NetAdmin">
-#
-# The types of hashing available vary depending on which hashing modules
-# you load, but usually if you load m_sha256.so and m_md5.so, both md5
-# and sha256 type hashing will be available (the most secure of which
-# is SHA256).
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Permanent Channels module: Channels with the permanent channels 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.
-#<module name="m_permchannels.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# PostgreSQL module: Allows other SQL modules to access PgSQL databases
-# through a unified API. You must copy the source for this module
-# from the directory src/modules/extra, plus the file m_sqlv2.h
-#<module name="m_pgsql.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# m_pgsql.so is more complex than described here, see the wiki for #
-# more: http://www.inspircd.org/wiki/SQL_Service_Provider_Module #
-#
-#<database name="mydb" username="myuser" password="mypass" hostname="localhost" id="my_database" ssl="no">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Proxy scan module: Scans locally connecting clients for proxies.
-#<module name="m_proxyscan.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Quietban: Implements extended ban q:, which stops anyone matching
-# a mask like +b q:nick!user@host from speaking on channel.
-#<module name="m_quietban.so">
-#
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# 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">
-#
-#-#-#-#-#-#-#-#-#-#- RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
-# #
-# 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">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Redirect module: Adds channel redirection (mode +L)
-#<module name="m_redirect.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Registered users only channel creation
-# Allows only registered users and opers to create new channels.
-#<module name="m_regonlycreate.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Remove module: Adds the /REMOVE command which is a peaceful
-# alternative to /KICK
-#<module name="m_remove.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Restrict banned users module:
-# Disallows banned users on a channel from messaging the channel,
-# changing nick, or changing the topic, if loaded.
-#<module name="m_restrictbanned.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Restricted channels module: Allows only opers to create channels
-#<module name="m_restrictchans.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Restrict message module: Allows users to only message opers
-#<module name="m_restrictmsg.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Ban users through regular expression patterns
-#<module name="m_rline.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- RLINE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
-# If you wish to re-check a user when they change nickname (can be
-# useful under some situations, but *can* also use CPU with more users
-# on a server) then set the following configuration value:
-#<rline matchonnickchange="yes">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# JSON-RPC module: Encode and decode JSON-RPC requests for modules
-#<module name="m_rpc_json.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# RPC test module: A test of the RPC API
-#<module name="m_rpctest.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Provide /LIST throttling (to prevent flooding) and /LIST safety to
-# prevent excess flood when the list is large.
-#<module name="m_safelist.so">
-#
-#-#-#-#-#-#-#-#-#-#-# SAFELIST CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
-#
-# When using Safelist, you may set the following values;
-#
-# The first value, 'throttle', sets the amount of time in seconds a user
-# must wait between LIST commands. For example, if this is set to 60
-# (the default) then the user may not /LIST more than once a minute.
-# If not defined, the default value is 60 seconds.
-#
-# The second value, 'maxlisters', indicates the maximum number of users
-# which may be retrieving a LIST at once. It is not recommended you raise
-# this value, as increasing it too high can make your network vulnerable
-# to floodbots which waste your bandwidth and CPU time with LIST requests.
-#
-#<safelist throttle="60" maxlisters="50">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SAJOIN module: Adds the /SAJOIN command
-#<module name="m_sajoin.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SAMODE module: Adds the oper /SAMODE command
-#<module name="m_samode.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SANICK module: Allows opers to change user's nicks
-#<module name="m_sanick.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SAPART module: Adds the oper /SAPART command
-#<module name="m_sapart.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SAQUIT module: Adds the oper /SAQUIT command (abusable!!!)
-#<module name="m_saquit.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SASL authentication module: Provides support for IRC Authentication
-# Layer (aka: atheme SASL) via AUTHENTICATE.
-#<module name="m_sasl.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Secure list module: Prevent /LIST in the first minute of connection,
-# crippling most spambots and trojan spreader bots.
-#<module name="m_securelist.so">
-#
-#-#-#-#-#-#-#-#-#-# 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">
-<securehost exception="*@*.netsplit.de">
-<securehost exception="*@echo940.server4you.de">
-# #
-# Define the following variable to change how long a user must wait #
-# before issuing a LIST. If not defined, defaults to 60 seconds. #
-# #
-#<securelist waittime="60"> #
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Servprotect module: Provides support for Austhex style +k /
-# UnrealIRCD +S services mode
-#<module name="m_servprotect.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# See nicks module: Allow for SNOMASK +N which shows nick changes.
-#<module name="m_seenicks.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Set Idle module: Adds a command for opers to change their
-# idle time (mainly a toy)
-#<module name="m_setidle.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Services support module: Adds several usermodes such as +R and +M
-# this module implements the 'identified' state via user mode +r, which
-# is similar to the DALnet and dreamforge systems.
-#
-# N O T E!!
-# >> This CAN NOT be used at the same time as m_services_account <<
-# N O T E!!
-#<module name="m_services.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Services support module: Adds several usermodes such as +R and +M
-# this module implements the 'identified' state via account names (AC)
-# and is similar in operation to the way asuka and ircu handle services.
-#
-# N O T E!!
-# >> This CAN NOT be used at the same time as m_services <<
-# N O T E!!
-#<module name="m_services_account.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Sethost module: Adds the /SETHOST command
-# See m_chghost for how to customise valid chars for hostnames
-#<module name="m_sethost.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Setident module: Adds the /SETIDENT command
-#<module name="m_setident.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SETNAME module: Adds the /SETNAME command
-#<module name="m_setname.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# 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">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Shun module: Provides the /shun command, which stops a user executing
-# all commands except PING and PONG.
-#<module name="m_shun.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Spy module: Provides the ability to see the complete names list of
-# channels an oper is not a member of
-#<module name="m_spy.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SSL channel mode module: Adds support for SSL-only channels (+z).
-# does not do anything useful without a working SSL module (see below)
-#<module name="m_sslmodes.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Dummy ssl module: If you have other servers on your network which
-# have SSL, but your server does not have ssl enabled, you should load
-# this module, which will handle SSL metadata (e.g. the "Is using ssl"
-# field in the WHOIS information).
-#<module name="m_ssl_dummy.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.
-#<module name="m_ssl_gnutls.so">
-#
-#-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# m_ssl_gnutls.so is too complex it describe here, see the wiki: #
-# http://www.inspircd.org/wiki/GnuTLS_SSL_Module #
-# #
-# 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
-# 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. You must symlink the source for
-# this module from the directory src/modules/extra.
-#<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.
-#<module name="m_ssl_openssl.so">
-#
-#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# m_ssl_openssl.so is too complex it describe here, see the wiki: #
-# http://www.inspircd.org/wiki/OpenSSL_SSL_Module #
-# #
-# 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 Cert Oper module: Allows opers to oper up using the key fingerprint
-# stored within their SSL certificate and key pair.
-# When using this module, one of m_ssl_gnutls.so or m_ssl_openssl.so must
-# be loaded. An extra value should be added to enabled opers, which
-# is in the following format: fingerprint="<hash>". For more information,
-# see the example in the oper blocks.
-#<module name="m_ssl_oper_cert.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Strip colour module: Adds the channel mode +S
-#<module name="m_stripcolor.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SILENCE module: Adds support for /SILENCE
-#<module name="m_silence.so">
-#
-# Configuration tags:
-#
-#<silence maxentries="32">
-#
-# Sets the maximum number of entries on a users silence list.
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SQLite3 module: Allows other SQL modules to access SQLite3 #
-# databases through a unified API. You must link the source for this #
-# module from the directory src/modules/extra to src/modules, plus #
-# the file m_sqlv2.h #
-#<module name="m_sqlite3.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# m_sqlite.so is more complex than described here, see the wiki for #
-# more: http://www.inspircd.org/wiki/SQLite3_Service_Provider_Module #
-#
-#<database hostname="/full/path/to/database.db" id="anytext">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SQLutils module: Provides some utilities to SQL client modules, such
-# as mapping queries to users and channels. You must copy the source
-# for this module from the directory src/modules/extra/m_sqlutils.cpp
-# and src/modules/extra/m_sqlutils.h into /src/modules
-# Needed for, and loaded before: SQLauth and SQLoper
-#<module name="m_sqlutils.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SQL authentication module: Allows IRCd connections to be tied into
-# a database table (for example a forum). You must copy the source for
-# this module from the directory src/modules/extra
-# Depends on the SQLutils module being loaded first.
-#<module name="m_sqlauth.so">
-#
-#-#-#-#-#-#-#-#-#-#-#- SQLAUTH CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# m_sqlauth.so is too complex it describe here, see the wiki: #
-# http://www.inspircd.org/wiki/SQL_Authentication_Module #
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SQL logging module: Allows you to log network-wide data for your
-# network in a fully normalised set of SQL tables. You must copy the
-# source for this module from the directory src/modules/extra
-#<module name="m_sqllog.so">
-#
-#-#-#-#-#-#-#-#-#-#-#- SQLLOG CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# dbid - Database ID to use (see m_sql) #
-# #
-# See also: http://www.inspircd.org/wiki/SQL_Logging_Module #
-# #
-#<sqllog dbid="1">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SQL oper module: Allows you to store oper credentials in an SQL table
-# You must copy the source for this module from the directory src/modules/extra
-# Depends on the SQLutils module being loaded first.
-#<module name="m_sqloper.so">
-#
-#-#-#-#-#-#-#-#-#-#-#- SQLOPER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# dbid - Database ID to use (see m_sql) #
-# hash - Hashing provider to use for password hashing #
-# #
-# See also: http://www.inspircd.org/wiki/SQL_Oper_Storage_Module #
-# #
-#<sqloper dbid="1" hash="md5">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SVSHold module: Implements SVSHOLD. Like Q:Lines, but can only be #
-# added/removed by Services. #
-#<module name="m_svshold.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SWHOIS module: Allows you to add arbitary lines to user WHOIS.
-#<module name="m_swhois.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Taxonomy module: Adds the /TAXONOMY command, used to view all
-# metadata attached to a user.
-#<module name="m_taxonomy.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Test command module: Does nothing significant. Read: pointless.
-#<module name="m_testcommand.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Timed bans module: Adds timed bans and the /TBAN command
-#<module name="m_timedbans.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Test line module: Adds the /TLINE command, used to test how many
-# users a /GLINE or /ZLINE etc would match.
-#<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.
-#<module name="m_uhnames.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# 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">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Userip module: Adds the /USERIP command
-#<module name="m_userip.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# 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">
-#
-#-#-#-#-#-#-#-#-#-#-#- VHOST CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# user - Username for the vhost. #
-# #
-# pass - Password for the vhost. #
-# #
-# host - Vhost to set. #
-#
-#<vhost user="some_username" pass="some_password" host="some.host">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Watch module: Adds the WATCH command, which is used by clients to
-# maintain notify lists.
-#<module name="m_watch.so">
-#
-# Configuration tags:
-#
-#<watch maxentries="32">
-#
-# Sets the maximum number of entries on a user's watch list.
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# XLine database: Stores all *Lines (G/Z/K/R/any added by other modules)
-# in a file "xline.db" which can be 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">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# XMLSocket module: Adds support for connections using the shockwave
-# flash XMLSocket. Note that this does not work if the client you are
-# using has retarded ideas of the IRC protocol. Your client must still
-# send RFC-correct lines to the server, this module only changes the
-# line ending from newlines to null terminators.
-#
-#<module name="m_xmlsocket.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# ZipLinks module: Adds support for zlib deflate on server to server
-# connections. Both ends of the connection must load this module.
-#
-#<module name="m_ziplink.so">
-#
-# To use this module, you must enable it as a transport type in your
-# <link> tags or <bind> tags using the transport name 'zip'.
-# See the documentation of <link> and <bind>, respectively.
-#
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#- BAN OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# The ban tags define nick masks, host masks and ip ranges which are #
-# banned from your server. All details in these tags are local to #
-# Your server. #
-# #
-# #
-# badip lines ban an ip range (same as a zline) #
-# #
-# ipmask - The ip range to ban (wildcards possible) #
-# CIDR is supported in the IP mask. #
-# reason - Reason to display when disconnected #
-# #
-# badnick lines ban a nick mask (same as a qline) #
-# #
-# nick - Nick mask to ban (wildcards possible) #
-# reason - Reason to display on /NICK #
-# #
-# badhost lines ban a user@host mask (same as a kline) #
-# #
-# host - ident@hostname (wildcards possible) #
-# If you specify an IP, CIDR is supported. #
-# reason - Reason to display on disconnection #
-# #
-# exception lines define a hostmask that is excempt from [kzg]lines #
-# #
-# host - ident@hostname (wildcards possible) #
-# If you specify an IP, CIDR is supported. #
-# reason - Reason, shown only in /stats e #
-# #
-
-<badip ipmask="69.69.69.69" reason="No porn here thanks.">
-
-<badnick nick="ChanServ" 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">
-
-<badhost host="*@hundredz.n.hundredz.o.1337.kiddies.com" reason="Too many 1337 kiddiots">
-<badhost host="*@localhost" reason="No irc from localhost!">
-<badhost host="*@172.32.0.0/16" reason="This subnet is bad.">
-
-<exception host="*@ircop.host.com" reason="Opers hostname">
-
-#-#-#-#-#-#-#-#-#-#-#- INSANE BAN OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# This optional tag allows you to specify how wide a gline, eline, #
-# kline, zline or qline can be before it is forbidden from being #
-# set. By setting hostmasks="yes", you can allow all G, K, E lines, #
-# no matter how many users the ban would cover. This is not #
-# recommended! By setting ipmasks="yes", you can allow all Z lines, #
-# no matter how many users these cover too. Needless to say we #
-# don't recommend you do this, or, set nickmasks="yes", which will #
-# allow any qline. #
-# #
-# The trigger value indicates how wide any mask will be before it is #
-# prevented from being set. The default value is 95.5% if this tag is #
-# not defined in your configuration file, meaning that if your #
-# network has 1000 users, a gline matching over 955 of them will be #
-# prevented from being added. #
-# #
-# Please note that remote servers (and services) are exempt from #
-# these restrictions and expected to enforce their own policies #
-# locally! #
-# #
-
-<insane hostmasks="no" ipmasks="no" nickmasks="no" trigger="95.5">
-
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# 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.)">