]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - conf/inspircd.conf.example
Don't query module version prior to init; fixes valgrind segfault
[user/henk/code/inspircd.git] / conf / inspircd.conf.example
index fba35bd86c7c09bb5b281248188e7aafefc1860b..baadf24d62233c39ad47a1823bc4e2311517e581 100644 (file)
@@ -46,9 +46,8 @@
 # file you include will be treated as part of the configuration file  #
 # which includes it, in simple terms the inclusion is transparent.    #
 #                                                                     #
-# All paths to config files are relative to the directory of the main #
-# config file inspircd.conf, unless the filename starts with a forward#
-# slash (/) in which case it is treated as an absolute path.          #
+# All paths to config files are relative to the directory that the    #
+# process runs in.                                                    #
 #                                                                     #
 # You may also include an executable file, in which case if you do so #
 # the output of the executable on the standard output will be added   #
 #                                                                     #
 
 
+#-#-#-#-#-#-#-#-#-#-#-#  VARIABLE DEFINITIONS  -#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# You can define variables that will be substituted later in the      #
+# configuration file. This can be useful to allow settings to be      #
+# easily changed, or to parameterize a remote includes.               #
+#                                                                     #
+# Variables may be redefined and may reference other variables.       #
+# Value expansion happens at the time the tag is read.                #
+#                                                                     #
+# Using variable definitions REQUIRES that the config format be       #
+# changed to "xml" from the default "compat" that uses escape         #
+# sequences such as "\"" and "\n", and does not support <define>      #
+<config format="xml">
+<define name="bindip" value="1.2.2.3">
+<define name="localips" value="&bindip;/24">
+
 #-#-#-#-#-#-#-#-#-#-#-#-  SERVER DESCRIPTION  -#-#-#-#-#-#-#-#-#-#-#-#-
 #                                                                     #
 #   Here is where you enter the information about your server.        #
 
 <bind address="" port="6660-6669" type="clients">
 
-# When linking servers, the openssl and gnutls transports are largely
+# When linking servers, the openssl and gnutls transports are completely
 # link-compatible and can be used alongside each other
 # on each end of the link without any significant issues.
 # Transports can only be used on server blocks.
-# Supported Transports are: "zip", "openssl" and "gnutls".
+# Supported Transports are: "ziplinks", "openssl" and "gnutls".
 # You must load m_ziplinks module for zip, m_ssl_openssl for openssl
 # or m_ssl_gnutls for gnutls.
 
 <bind address="" port="7000,7001" type="servers">
-<bind address="1.2.3.4" port="7005" type="servers" transport="openssl">
+<bind address="1.2.3.4" port="7005" type="servers" ssl="openssl">
 
 
 #-#-#-#-#-#-#-#-#-#-  DIE/RESTART CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-
          # send /nick, /user or /pass)
          timeout="10"
 
-         # pingfreq: How often (in seconds) the server tries to ping connecting clients.
-         pingfreq="120"
-
-         # sendq: Amount of data (in bytes) that the server is allowed to send to the user
-         # before they are dropped.
-         sendq="262144"
-
-         # recvq: Amount of data (in bytes) allowed in a clients queue before they are dropped.
-         recvq="8192"
-
          # localmax: Maximum local connections per IP (or CIDR mask, see below).
          localmax="3"
 
          # pingfreq: How often (in seconds) the server tries to ping connecting clients.
          pingfreq="120"
 
-         # sendq: Amount of data that the server is allowed to send to the user
-         # before they are dropped.
-         sendq="262144"
+         # hardsendq: maximum amount of data allowed in a client's send queue
+         # before they are dropped. Keep this value higher than the length of
+         # your network's /LIST or /WHO output, or you will have lots of
+         # disconnects from sendq overruns!
+         hardsendq="1048576"
 
-         # recvq: amount of data allowed in a clients queue before they are dropped.
+         # softsendq: amount of data in a client's send queue before the server
+         # begins delaying their commands in order to allow the sendq to drain
+         softsendq="8192"
+
+         # recvq: amount of data allowed in a client's queue before they are dropped.
          recvq="8192"
 
+         # threshold: This specifies the amount of command penalty a user is allowed to have
+         # before being quit or fakelagged due to flood. Normal commands have a penalty of 1,
+         # ones such as /OPER have penalties up to 10.
+         #
+         # If you are not using fakelag, this should be at least 20 to avoid excess flood kills
+         # from processing some commands.
+         threshold="10"
+
+         # commandrate: This specifies the maximum rate that commands can be processed.
+         # If commands are sent more rapidly, the user's penalty will increase and they will
+         # either be fakelagged or killed when they reach the threshold
+         #
+         # Units are millicommands per second, so 1000 means one line per second.
+         commandrate="1000"
+
+         # fakelag: Use fakelag instead of killing users for excessive flood
+         #
+         # Fake lag stops command processing for a user when a flood is detected rather than
+         # immediately killing them; their commands are held in the recvq and processed later
+         # as the user's command penalty drops. Note that if this is enabled, flooders will
+         # quit with "RecvQ exceeded" rather than "Excess Flood".
+         fakelag="on"
+
          # localmax: Maximum local connections per IP.
          localmax="3"
 
 
 # This file has all the information about oper classes, types and o:lines.
 # You *MUST* edit it.
-<include file="opers.conf.example">
+<include file="conf/opers.conf.example">
 
 # This file has all the information about server links and ulined servers.
 # You *MUST* edit it if you intend to link servers.
-<include file="links.conf.example">
+<include file="conf/links.conf.example">
 
 #-#-#-#-#-#-#-#-#-#-  MISCELLANEOUS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
 #                                                                     #
 
 <files
-       # motd: Path to your motd file. Path is relative to the conf directory.
-       motd="inspircd.motd.example"
+       # motd: Path to your motd file. Path is relative to the run directory.
+       motd="conf/inspircd.motd.example"
 
-       # rules: Path to your rules file. Path is relative to the conf directory.
+       # rules: Path to your rules file. Path is relative to the run directory.
        # This is optional and is displayed when a user does /rules on the network.
-       rules="inspircd.rules.example">
+       rules="conf/inspircd.rules.example">
 
 #-#-#-#-#-#-#-#-#-#-#-# MAXIMUM CHANNELS -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 #                                                                     #
 
          # prefixpart: What (if anything) a users' part message
          # should be prefixed with.
-         prefixpart="\""
+         prefixpart="&quot;"
+         # NOTE: Use "\"" instead of "&quot;" if not using <config format="xml">
 
          # suffixpart: What (if anything) a users' part message
          # should be suffixed with.
-         suffixpart="\""
+         suffixpart="&quot;"
+
+         # fixedquit: Set all users' quit messages to this value.
+         #fixedquit=""
+
+         # fixedpart: Set all users' part messages in all channels
+         # to this value.
+         #fixedpart=""
 
          # syntaxhints: If enabled, if a user fails to send the correct parameters
          # for a command, the ircd will give back some help text of what
          # in channel will be sent a NOTICE about it.
          announcets="yes"
 
+         # allowmismatched: Setting this option to yes will allow servers to link even
+        # if they don't have the same VF_OPTCOMMON modules loaded. Setting this to
+        # yes may introduce some desyncs and weirdness.
+        allowmismatched="no"
+
          # hostintopic: If enabled, channels will show the host of the topicsetter
          # in the topic. If set to no, it will only show the nick of the topicsetter.
          hostintopic="yes"
          # banned from the server.
          moronbanner="You're banned! Email haha@abuse.com with the ERROR line below for help."
 
-         # exemptchanops: Defines what channel modes channel operators are
-         # exempt from. Supported modes are +TCGfcSFBgN. Defaults to off.
-         exemptchanops=""
-
          # invitebypassmodes: This allows /invite to bypass other channel modes.
          # (Such as +k, +j, +l, etc)
          invitebypassmodes="yes">
              netbuffersize="10240"
 
              # maxwho: Maximum number of results to show in a /who query.
-             # It is not recommended to set this above 1024.
-             maxwho="128"
+             maxwho="4096"
 
              # somaxconn: The maximum number of connections that may be waiting
              # in the accept queue. This is *NOT* the total maximum number of
 # provide almost all the features of InspIRCd. :)                     #
 #                                                                     #
 # The default does nothing -- we include it for simplicity for you.   #
-<include file="modules.conf.example">
+<include file="conf/modules.conf.example">
+
+# Here are some pre-built modules.conf files that closely match the
+# default configurations of some popular IRCd's. You still may want to
+# look over them and make sure if everything is correct for you and setup
+# the proper SSL information.
+#
+# *NOTE*: These files have no comments for what the modules do. If you
+# are interested in that, please read the modules.conf.example. It is also
+# recommended that you make your own modules file based on modules.conf.example.
+
+# Settings similar to UnrealIRCd defaults.
+#<include file="conf/modules/modules.conf.unreal">
+
+# Settings similar to Charybdis IRCd defaults.
+#<include file="conf/modules/modules.conf.charybdis">
 
 
 #########################################################################