# #
########################################################################
+#-#-#-#-#-#-#-#-#-# CONFIGURATION FORMAT #-#-#-#-#-#-#-#-#-#-#-#-#-#-
+# #
+# In order to maintain compatibility with older configuration files, #
+# you can change the configuration parser to parse as it did in #
+# previous releases. When using the "compat" format, you need to use #
+# C++ escape sequences (e.g. \n) instead of XML ones (e.g. &nl;) and #
+# can not use <define> to create macros. #
+#<config format="compat">
+
#-#-#-#-#-#-#-#-#-# INCLUDE CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#-#
# #
# This optional tag allows you to include another config file #
# #
# 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">
# for ssl to work. If you do not want this bind section to support ssl,
# just remove or comment out this option.
ssl="gnutls"
+
+ # defer: When this is non-zero, connections will not be handed over to
+ # the daemon from the operating system before data is ready.
+ # In Linux, the value indicates the number of seconds we'll wait for a
+ # connection to come up with data. Don't set it too low!
+ # In BSD the value is ignored; only zero and non-zero is possible.
+ # Windows ignores this parameter completely.
+ # Note: This does not take effect on rehash.
+ # To change it on a running bind, you'll have to comment it out,
+ # rehash, comment it in and rehash again.
+ defer="0"
>
<bind address="" port="6660-6669" type="clients">
# maxconnwarn: Enable warnings when localmax or globalmax is hit (defaults to on)
maxconnwarn="off"
+ # resolvehostnames: If disabled, no DNS lookups will be performed on connecting users
+ # in this class. This can save a lot of resources on very busy servers.
+ resolvehostnames="yes"
+
+ # usednsbl: Defines whether or not users in this class are subject to DNSBL. Default is yes.
+ # This setting only has effect when m_dnsbl is loaded.
+ #usednsbl="yes"
+
# useident: Defines if users in this class MUST respond to a ident query or not.
useident="no"
# specified using <files secretmotd="filename"> or <execfiles ...>
motd="secretmotd"
+ # Allow color codes to be processed in the message of the day file.
+ # the following characters are valid color code escapes:
+ # \002 or \b = Bold
+ # \037 or \u = Underline
+ # \003 or \c = Color (with a code postfixed to this char)
+ # \017 or \x = Stop all color sequences
+ allowmotdcolors="false"
+
# port: What port this user is allowed to connect on. (optional)
# The port MUST be set to listen in the bind blocks above.
port="6697">
# globalmax: Maximum global (network-wide) connections per IP.
globalmax="3"
+ # resolvehostnames: If disabled, no DNS lookups will be performed on connecting users
+ # in this class. This can save a lot of resources on very busy servers.
+ resolvehostnames="yes"
+
# useident: Defines if users in this class must respond to a ident query or not.
useident="no"
# This file has all the information about oper classes, types and o:lines.
# You *MUST* edit it.
-<include file="conf/opers.conf.example">
+<include file="conf/examples/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="conf/links.conf.example">
+<include file="conf/examples/links.conf.example">
#-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
# #
# motd - displayed on connect and when a user executes /MOTD
# rules - displayed when the user executes /RULES
# Modules can also define their own files
-<files motd="conf/inspircd.motd.example" rules="conf/inspircd.rules.example">
+<files motd="conf/examples/motd.txt.example" rules="conf/examples/rules.txt.example">
# Example of an executable file include. Note this will be read on rehash,
# not when the command is run.
# the correct parameters are.
syntaxhints="no"
- # cyclehosts: If enabled, when a user gets a host set, it will cycle
- # them in all their channels. If not, it will simply change their host
- # without cycling them.
- cyclehosts="yes"
-
# cyclehostsfromuser: If enabled, the source of the mode change for
# cyclehosts will be the user who cycled. This can look nicer, but
# triggers anti-takeover mechanisms of some obsolete bots.
# in channel will be sent a NOTICE about it.
announcets="yes"
- # allowmismatched: Setting this option to yes will allow servers to link even
+ # allowmismatch: 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"
+ allowmismatch="no"
# defaultbind: Sets the default for <bind> tags without an address. Choices are
# ipv4 or ipv6; if not specified, IPv6 will be used if your system has support,
# autochanmodes.
defaultmodes="nt"
- # moronbanner: This is the text that is sent to a user when they are
+ # xlinemessage: This is the text that is sent to a user when they are
# banned from the server.
- moronbanner="You're banned! Email haha@abuse.com with the ERROR line below for help."
+ xlinemessage="You're banned! Email irc@example.com with the ERROR line below for help."
# exemptchanops: exemptions for channel access restrictions based on prefix.
exemptchanops="nonick:v flood:o"
# in the accept queue. This is *NOT* the total maximum number of
# connections per server. Some systems may only allow this to be up
# to 5, while others (such as linux and *BSD) default to 128.
+ # Setting this above the limit imposed by your OS can have undesired
+ # effects.
somaxconn="128"
# softlimit: This optional feature allows a defined softlimit for
# connections. If defined, it sets a soft max connections value.
- # must be lower than ./configure maxclients.
softlimit="12800"
+ # clonesonconnect: If this is set to false, we won't check for clones
+ # on initial connection, but only after the DNS check is done.
+ # This can be useful where your main class is more restrictive
+ # than some other class a user can be assigned after DNS lookup is complete.
+ # Turning this option off will make the server spend more time on users we may
+ # potentially not want. Normally this should be neglible, though.
+ # Default value is true
+ clonesonconnect="true"
+
# quietbursts: When syncing or splitting from a network, a server
# can generate a lot of connect and quit messages to opers with
# +C and +Q snomasks. Setting this to yes squelches those messages,
# which makes it easier for opers, but degrades the functionality of
# bots like BOPM during netsplits.
- quietbursts="yes"
-
- # nouserdns: If enabled, no DNS lookups will be performed on
- # connecting users. This can save a lot of resources on very busy servers.
- nouserdns="no">
+ quietbursts="yes">
#-#-#-#-#-#-#-#-#-#-#-# SECURITY CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#
# #
<security
-
- # announceinvites: If this option is set, then invites are announced
- # to the channel when a user invites another user. If you consider
- # this to be unnecessary noise, set this to 'none'.
- # To announce to all ops, set this to 'ops' and to announce to all users,
- # set the value to 'all'. The value 'dynamic' will make the messages
- # go to every user who has power of INVITE on the channel. This
- # is the recommended setting.
+ # allowcoreunload: If this value is set to yes, Opers will be able to
+ # unload core modules (e.g. cmd_privmsg.so).
+ allowcoreunload="no"
+
+ # announceinvites: This option controls which members of the channel
+ # receive an announcement when someone is INVITEd. Available values:
+ # 'none' - don't send invite announcements
+ # 'all' - send invite announcements to all members
+ # 'ops' - send invite announcements to ops and higher ranked users
+ # 'dynamic' - send invite announcements to halfops (if available) and
+ # higher ranked users. This is the recommended setting.
announceinvites="dynamic"
# hidemodes: If enabled, then the listmodes given will be hidden
# (Commands like /notice, /privmsg, /kick, etc)
maxtargets="20"
- # customversion: Displays a custom string when a user /version's
- # the ircd. This may be set for security reasons or vanity reasons.
+ # customversion: A custom message to be displayed in the comments field
+ # of the VERSION command response. This does not hide the InspIRCd version.
customversion=""
# operspywhois: show opers (users/auspex) the +s channels a user is in. Values:
# provide almost all the features of InspIRCd. :) #
# #
# The default does nothing -- we include it for simplicity for you. #
-<include file="conf/modules.conf.example">
+<include file="conf/examples/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
# 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">
+#<include file="conf/examples/modules/unrealircd.conf.example">
# Settings similar to Charybdis IRCd defaults.
-#<include file="conf/modules/modules.conf.charybdis">
+#<include file="conf/examples/modules/charybdis.conf.example">
#########################################################################