]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - docs/inspircd.conf.example
Add m_nickflood to example conf.
[user/henk/code/inspircd.git] / docs / inspircd.conf.example
index ff73ee8d6c7e8fe096ee1ff4407bd3b95197973f..77dee18b12c2e23589ac26f1b2b80c6aae1031b9 100644 (file)
@@ -20,7 +20,7 @@
 #         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   -#-#-#-#-#-#-#-#-#-#-#-#
 
 <connect allow="*"
          timeout="60"
-        flood="20"
-        threshold="1"
-        pingfreq="120"
-        sendq="262144"
-        recvq="8192"
-        localmax="3"
-        globalmax="3">
+         flood="20"
+         threshold="1"
+         pingfreq="120"
+         sendq="262144"
+         recvq="8192"
+         localmax="3"
+         globalmax="3">
 
 <connect deny="69.254.*">
 <connect deny="3ffe::0/32">
 #                 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">
 #   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. #
 #                                                                     #
 #    ____                _   _____ _     _       ____  _ _   _        #
 #   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
 #                  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  #
 #                  +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"
+         deprotectothers="no"
          somaxconn="128"
          softlimit="12800"
          userstats="Pu"
          cyclehosts="yes"
          ircumsgprefix="no"
          announcets="yes"
-        disablehmac="no"
+         disablehmac="no"
          hostintopic="yes"
-        hidemodes="eI"
-         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.
+#
 
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # 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">
 # 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
 #
 #<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.      #
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # 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="User error. Insert new user and press any key.">
+<die value="User error. Insert new user and press any key. (you didn't edit your config properly.)">
 
 
 #########################################################################