# This is an example of the config file for InspIRCd. #
# Change the options to suit your network #
# #
-# Last updated on : 03 Feb 2007 #
+# $Id$
# #
# ____ _ _____ _ _ ____ _ _ _ #
# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | #
# #
# <server name="server.name" #
# description="Server Description" #
+# networkemail="Email address shown on g/k/z/q lines" #
# network="MyNetwork"> #
# #
<server name="penguin.omega.org.za"
description="Waddle World"
- network="Omega">
+ network="Omega">
#-#-#-#-#-#-#-#-#-#-#-#- ADMIN INFORMATION -#-#-#-#-#-#-#-#-#-#-#-#
# pause="secs before dying"> #
# #
-<power diepass="diepass" restartpass="restartpass" pause="2">
+<power diepass="" restartpass="" pause="2">
#-#-#-#-#-#-#-#-#-# INCLUDE CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#-#
#-#-#-#-#-#-#-#-#-#- CONNECTIONS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
# This is where you can configure which connections are allowed #
-# and denied access onto your server. #
-# The password is optional. #
-# You may have as many of these as you require. #
-# To allow/deny all connections use a * #
+# and denied access onto your server. The password is optional. #
+# You may have as many of these as you require. To allow/deny all #
+# connections, use a '*' or 0.0.0.0/0. #
# #
# Syntax is as follows: #
# #
-# <connect allow="ip mask"> #
-# <connect allow="ip mask" password="blahblah"> #
-# <connect allow="ip mask" password="blah" timeout="10"> #
-# <connect allow="ip mask" timeout="blah" flood="5"> #
-# <connect allow="ip mask" threshold="8" pingfreq="120"> #
-# <connect allow="ip mask" sendq="99999" revcq="696969"> #
-# <connect allow="ip mask" localmax="3" globalmax="3"> #
-# <connect deny="ip mask"> #
+# <connect allow="1.2.3.0/24" password="blahblah" #
+# timeout="10" timeout="blah" flood="5" #
+# threshold="8" pingfreq="120" sendq="99999" #
+# revcq="696969" localmax="3" globalmax="3" #
+# port="6660"> #
+# #
+# <connect deny="127.0.0.1" port="6667"> #
# #
# IP masks may be specified in CIDR format or wildcard format, #
-# for IPV4 and IPV6. #
+# for IPV4 and IPV6. You *cannot* use hostnames in the allow or #
+# deny field, as the state is applied before the user's DNS has #
+# been resolved. #
# #
# You may optionally include timeout="x" on any allow line, which #
# specifies the amount of time given before an unknown connection #
# receive more than they send in normal circumstances. The default #
# if not specified is 4096. #
# #
-# IMPORTANT NOTE, CALL THE CONFUSION POLICE! #
# The sendq is the data waiting to be sent TO THE USER. #
# The recvq is the data being received FROM THE USER. #
# The names sendq and recvq are from the SERVER'S PERSPECTIVE not #
# but if they can connect again to B, there are three. You get the #
# idea (i hope). #
# #
+# The optional port value determines which port the connect tag is #
+# handling. If left out the connect tag covers all bound ports else #
+# only incoming connections on the specified port will match. Port #
+# tags may be used on connect allow and connect deny tags. #
+# #
-<connect allow="196.12.*" password="secret">
-<connect allow="*" timeout="60" flood="20" threshold="1" pingfreq="120" sendq="262144" recvq="8192" localmax="3" globalmax="3">
+<connect allow="196.12.*" password="secret" port="6667">
+
+<connect allow="*"
+ timeout="60"
+ flood="20"
+ threshold="1"
+ pingfreq="120"
+ sendq="262144"
+ recvq="8192"
+ localmax="3"
+ globalmax="3">
<connect deny="69.254.*">
<connect deny="3ffe::0/32">
# <oper name="login" #
# password="pass" #
# host="hostmask@of.oper" #
-# fingerprint="hexsequence" #
+# fingerprint="hexsequence" #
# type="oper type"> #
# #
# link to succeed. OpenSSL and GnuTLS are link- #
# compatible with each other. #
# #
-# hidden - When using m_spanningtree.so for linking. you may #
+# statshidden - When using m_spanningtree.so for linking. you may #
# set this to 'yes', and if you do, the IP address/ #
# hostname of this connection will NEVER be shown to #
# any opers on the network. In /STATS c its address #
timeout="15"
transport="gnutls"
bind="1.2.3.4"
+ statshidden="no"
hidden="no"
sendpass="outgoing!password"
recvpass="incoming!password">
sendpass="penguins"
recvpass="polarbears">
-<uline server="services.antarctic.com">
+
+#-#-#-#-#-#-#-#-#-#-#-#- ULINES CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
+# This tag defines a ulined server. A U-Lined server has special #
+# permissions, and should be used with caution. Services servers are #
+# usually u-lined in this manner. #
+# #
+# The 'silent' value if set to yes indicates that this server should #
+# not generate quit and connect notices, which can cut down on noise #
+# to opers on the network. #
+# #
+<uline server="services.antarctic.com" silent="yes">
#-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
# configurtion directory. #
# #
-<files motd="inspircd.motd"
- rules="inspircd.rules">
+<files motd="inspircd.motd.example"
+ rules="inspircd.rules.example">
#-#-#-#-#-#-#-#-#-#-#-# MAXIMUM CHANNELS -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# #
# Define your DNS server address here. InspIRCd has its own resolver. #
-# If you do not define this value, the first dns server from your #
-# /etc/resolv.conf file is read. If no entries are found in this file #
-# or the file cannot be opened, the default value '127.0.0.1' is used #
-# instead. The timeout value is in seconds. #
+# If you do not define this value, then then InspIRCd will attempt to #
+# determine your DNS server from your operating system. On POSIX #
+# platforms, InspIRCd will read /etc/resolv.conf, and populate this #
+# value with the first DNS server address found. On Windows platforms #
+# InspIRCd will check the registry, and use the DNS server of the #
+# first active network interface, if one exists. #
+# If a DNS server cannot be determined from these checks, the default #
+# value '127.0.0.1' is used instead. The timeout value is in seconds. #
# #
# ____ _ _____ _ _ ____ _ _ _ #
# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | #
# this feature, which stops even the founder taking #
# away their founder status without using services. #
# #
+# deprotectothers-If this value is set to yes, true, or 1, then any #
+# user with +q or +a may remove the +q or +a from #
+# other users. The default setting is to not enable #
+# this feature, so that only +q may remove +a, and #
+# nothing but services may remove +q. #
+# #
# cyclehosts - If this is set to true, yes or 1, then when a #
# user's hostname changes, they will appear to quit #
# and then rejoin with their new host. This prevents #
# query. This is to prevent /WHO being used as a #
# spam vector or means of flooding an ircd. The #
# default is 128, it is not recommended to raise it #
-# above 1024. Values up to 65535 are permitted. #
+# above 1024. Values up to 65535 are permitted. If #
+# this value is omitted, any size WHO is allowed by #
+# anyone. #
# #
# somaxconn - The maximum number of sockets that may be waiting #
# in the accept queue. This usually allows the ircd #
# invites annother user. If you consider this to be #
# unnecessary noise, explicitly set this to no. #
# #
+# disablehmac - If you are linking your InspIRCd to older versions #
+# then you can specify this option and set it to #
+# yes. 1.1.6 and above support HMAC and challenge- #
+# response for password authentication. These can #
+# greatly enhance security of your server to server #
+# connections when you are not using SSL (as is the #
+# case with a lot of larger networks). Linking to #
+# older versions of InspIRCd should not *usually* be #
+# a problem, but if you have problems with HMAC #
+# authentication, this option can be used to turn it #
+# off. #
+# #
+# hidemodes - If this option is enabled, then the listmodes #
+# given (e.g. +eI), will be hidden from users below #
+# halfop. This is not recommended to be set on mode #
+# +b, as it may break some features in popular #
+# clients such as mIRC. #
+# #
+# quietbursts - When synching or splitting from the network, a #
+# server can generate a lot of connect and quit #
+# snotices to the +C and +Q snomasks. Setting this #
+# value to yes squelches those messages, which can #
+# make them more useful for opers, however it will #
+# degrade their use by certain third party programs #
+# such as BOPM which rely on them to scan users when #
+# a split heals in certain configurations. #
+# #
+# pingwarning - This should be set to a number between 1 and 59 if #
+# defined, and if it is defined will cause the server#
+# to send out a warning via snomask +l if a server #
+# does not answer to PING after this many seconds. #
+# This can be useful for finding servers which are #
+# at risk of pinging out due to network issues. #
+# #
+# exemptchanops - This option allows channel operators to be exempted#
+# from certain channel modes. #
+# Supported modes are +SfgNc. Defaults to off. #
+# #
+# defaultmodes - The default modes to be given to each channel on #
+# creation. Defaults to 'nt'. There should be no + #
+# or - symbols in this sequence, if you add them #
+# they will be ignored. You may add parameters for #
+# parameterised modes. #
+# #
+# moronbanner - The NOTICE to show to users who are glined, zlined #
+# klined or qlined when they are disconnected. This #
+# is totally freeform, you may place any text here #
+# you wish. #
+# #
<options prefixquit="Quit: "
loglevel="default"
noservices="no"
qaprefixes="no"
deprotectself="no"
+ deprotectothers="no"
somaxconn="128"
softlimit="12800"
userstats="Pu"
cyclehosts="yes"
ircumsgprefix="no"
announcets="yes"
+ disablehmac="no"
hostintopic="yes"
- allowhalfop="yes">
+ hidemodes="eI"
+ quietbursts="yes"
+ pingwarning="15"
+ allowhalfop="yes"
+ defaultmodes="nt"
+ moronbanner="You're banned! Email haha@abuse.com with the ERROR line below for help."
+ exemptchanops="">
#-#-#-#-#-#-#-#-#-#-#-#-#-#- TIME SYNC OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#
# Time sychronization options for m_spanningtree linking. #
# Antibottler module: Labels bottler leech bots
#<module name="m_antibottler.so">
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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">
+#
+# Auditorium settings:
+#
+#<auditorium showops="no">
+#
+# Setting this value to yes makes m_auditorium behave like unrealircd
+# +u channel mode, e.g. ops see users joining, parting, etc, and users
+# joining the channel see the ops. Without this flag, the mode acts
+# like ircnet's +a (anonymous channels), showing only the user in the
+# names list, and not even showing the ops in the list, or showing the
+# ops that the user has joined.
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Ban except module: Adds support for channel ban exceptions (+e)
#<module name="m_banexception.so">
# <cgihost type="webirc" mask="somebox.mysite.com"> # Get IP from WEBIRC
# <cgihost type="ident" mask="otherbox.mysite.com"> # Get IP from ident
# <cgihost type="passfirst" mask="www.mysite.com"> # See the docs
+#
+# IMPORTANT NOTE:
+# ---------------
+#
+# When you connect CGI:IRC clients, there are two connect classes which
+# apply to these clients. When the client initially connects, the connect
+# class which matches the cgi:irc site's host is checked. Therefore you
+# must raise the maximum local/global clients for this ip as high as you
+# want to allow cgi clients. After the client has connected and is
+# determined to be a cgi:irc client, the class which matches the client's
+# real IP is then checked. You may set this class to a lower value, so that
+# the real IP of the client can still be restricted to, for example, 3
+# sessions maximum.
+#
+
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Channel create module: Adds snomask +j, which will notify opers of
+# any new channels that are created
+#<module name="m_chancreate.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channel filter module: Allows channel-op defined message
# Chanprotect module: gives +q and +a channel modes
#<module name="m_chanprotect.so">
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Check module: gives /check
+# Check is useful for looking up information on channels,
+# users, IP addresses and hosts.
+#<module name="m_check.so">
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CHGHOST module: Adds the /CHGHOST command
#<module name="m_chghost.so">
+#
+#-#-#-#-#-#-#-#-# /CHGHOST - /SETHOST CONFIGURATION #-#-#-#-#-#-#-#-#
+# Optional - If you want to use special chars for hostnames you can #
+# specify your own custom list of chars with the <hostname> tag: #
+# #
+# charmap - A list of chars accepted as valid by the /CHGHOST #
+# and /SETHOST commands. Also note that the list is #
+# case-sensitive. #
+#<hostname charmap="abcdefghijklmnopqrstuvwxyz.-_/0123456789">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CHGIDENT module: Adds the /CHGIDENT command
#<module name="m_chgident.so">
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# CHGNAME module: Adds the /CHGNAME command
+#<module name="m_chgname.so">
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Cloaking module: Adds usermode +x and cloaking support.
# Relies on the module m_md5.so being loaded before m_cloaking.so in
# use hexdecimal numbers prefixed by "0x", as shown in this example, #
# with each key eight hex digits long. #
+#-#-#-#-#-#-#-#-#-#-#-#- CLOSE MODULE #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Close module: Allows an oper to close all unregistered connections.
+#<module name="m_close.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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.
+#<module name="m_clones.so">
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Conn-Join: Allows you to force users to join one or more channels
# automatically upon connecting to the server.
#
#<autojoin channel="#one,#two,#three">
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Conn-Lusers: Shows the LUSERS output on connect
-#<module name="m_conn_lusers.so">
-
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Conn-Usermodes: Set modes on users when they connect
# When this module is loaded <connect:allow> tags may have an optional
# #
#<waitpong sendsnotice="yes" killonbadreply="yes">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Channel cycle module. Server side /hop, with +ilk etc bypass.
+#<module name="m_cycle.so">
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Connection throttle module. Configuration:
#<module name="m_connflood.so">
#<connflood seconds="30" maxconns="3" timeout="30"
# quitmsg="Throttled" bootwait="10">
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Custom title module: Adds the /TITLE command which allows for trusted
+# users to gain a custom whois line and a optional
+# vhost can be specified.
+#<module name="m_customtitle.so">
+#
+#-#-#-#-#-#-#-#-#-#- CUSTOM TITLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#
+# name - The username used to identify
+# password - The password used to identify
+# 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">
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# DCCALLOW module: Adds the /DCCALLOW command
#<module name="m_dccallow.so">
# Optional - If you choose to use the m_hostchange.so module. #
# Config Help - See http://www.inspircd.org/wiki/Host_Changer_Module #
# #
-#<host suffix="polarbears.org">
+#<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">
# 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">
+#<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">
# This is supported by mIRC, x-chat, klient, and maybe more.
#<module name="m_namesx.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.
# 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
# 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: #
-<securelist exception="*@*.searchirc.org">
-<securelist exception="*@*.netsplit.de">
-<securelist exception="*@echo940.server4you.de">
+<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. #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Sethost module: Adds the /SETHOST command
+# See m_chghost for how to customise valid chars for hostnames
#<module name="m_sethost.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.
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Extended SILENCE module: Adds support for /SILENCE with additional
# features to silence based on invites, channel messages, etc.
#<module name="m_silence_ext.so">
+#
+# The configuration tags for this module are identical to those of
+# m_silence, shown above.
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SQLite3 module: Allows other SQL modules to access SQLite3 #
# 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">
# 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.
# 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.
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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
# #
# You should already know what to do here :) #
-<die value="No, i wasnt joking. You should probably edit your config *PROPERLY* and try again.">
+<die value="User error. Insert new user and press any key. (you didn't edit your config properly.)">
#########################################################################