# |___/ #
# #
##################################||####################################
- #||#
+ #||#
##################################||####################################
# #
# This is an example of the config file for InspIRCd. #
-# Change the options to suit your network #
+# Change the options to suit your network. #
# #
# #
# ____ _ _____ _ _ ____ _ _ _ #
# something new or different to this version and you SHOULD READ IT. #
# #
########################################################################
-# #
-# Unalphabeticalise the modules list at your own risk #
-# #
-########################################################################
#-#-#-#-#-#-#-#-#-# CONFIGURATION FORMAT #-#-#-#-#-#-#-#-#-#-#-#-#-#-
# #
#<include file="file.conf"> #
#<include executable="/path/to/executable parameters"> #
# #
-# Executable Include Example: #
-#<include executable="/usr/bin/wget -q -O - http://mynet.net/inspircd.conf">
+# Executable include example: #
+#<include executable="/usr/bin/wget -q -O - http://example.com/inspircd.conf">
# #
<server
# name: Hostname of your server. Does not need to resolve, but
# does need to be correct syntax (something.somethingelse.tld).
- name="penguin.omega.org.za"
+ name="penguin.omega.example.org"
# description: Server description. Spaces are allowed.
description="Waddle World"
# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) #
# #
# If you want to link servers to InspIRCd you must load the #
-# m_spanningtree.so module! Please see the modules list below for #
+# spanningtree module! Please see the modules list for #
# information on how to load this module! If you do not load this #
-# module, server ports will NOT be bound! #
-# #
-# PLEASE NOTE: If you have build InspIRCd with IPv6 support, you MUST #
-# specify a bind address if you want the IRCd to bind to a IPv4 IP. #
+# module, server ports will NOT work! #
<bind
# address: IP address to bind to if the box that you are hosting
# to this bind section.
type="clients"
- # ssl: If you want this bind section to use SSL, define either
- # gnutls or openssl here. The appropriate SSL modules must be loaded
- # for ssl to work. If you do not want this bind section to support ssl,
- # just remove or comment out this option.
+ # ssl: If you want the port(s) in this bind tag to use SSL, set this
+ # to either "gnutls" or "openssl". The appropriate SSL module must be
+ # loaded for SSL to work. If you do not want the port(s) in this bind
+ # tag 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
<bind address="" port="6660-6669" type="clients">
-# When linking servers, the openssl and gnutls implementations are completely
+# When linking servers, the OpenSSL and GnuTLS implementations are completely
# link-compatible and can be used alongside each other
# on each end of the link without any significant issues.
-# Supported ssl types are: "openssl" and "gnutls".
-# You must load, m_ssl_openssl for openssl
-# or m_ssl_gnutls for gnutls.
+# Supported SSL types are: "openssl" and "gnutls".
+# You must load the ssl_openssl module for OpenSSL or ssl_gnutls for GnuTLS.
<bind address="" port="7000,7001" type="servers">
<bind address="1.2.3.4" port="7005" type="servers" ssl="openssl">
#-#-#-#-#-#-#-#-#-#- DIE/RESTART CONFIGURATION -#-#-#-#-#-#-#-#-#-#-
# #
# You can configure the passwords here which you wish to use for #
-# the die and restart commands. Only trusted IRCop's who will #
+# the /DIE and /RESTART commands. Only trusted ircops who will #
# need this ability should know the die and restart password. #
# #
<power
- # hash: what hash these passwords are hashed with. requires the module
- # for selected hash (m_md5.so, m_sha256.so or m_ripemd160.so) be
- # loaded and the password hashing module (m_password_hash.so)
- # loaded. Options here are: "md5", "sha256" and "ripemd160".
- # Optional, but recommended. Create hashed password with:
+ # hash: what hash these passwords are hashed with.
+ # Requires the module for selected hash (md5, sha256, or
+ # ripemd160) be loaded and the password hashing module
+ # (password_hash) loaded.
+ # Options here are: "md5", "sha256" and "ripemd160", or one of
+ # these prefixed with "hmac-", e.g.: "hmac-sha256".
+ # Optional, but recommended. Create hashed passwords with:
# /mkpasswd <hash> <password>
#hash="sha256"
<connect
# deny: Will not let people connect if they have specified host/IP.
- deny="69.254.*">
+ deny="192.0.2.*">
# connect:reason is the message that users will see if they match a deny block
<connect deny="3ffe::0/32" reason="The 6bone address space is deprecated">
parent="main"
# allow: What IP addresses/hosts to allow for this block.
- allow="196.12.*"
+ allow="203.0.113.*"
# hash: what hash this password is hashed with. requires the module
- # for selected hash (m_md5.so, m_sha256.so or m_ripemd160.so) be
- # loaded and the password hashing module (m_password_hash.so)
- # loaded. Options here are: "md5", "sha256" and "ripemd160".
- # Optional, but recommended. Create hashed password with:
+ # for selected hash (md5, sha256 or ripemd160) be loaded and the
+ # password hashing module (password_hash) loaded.
+ # Optional, but recommended. Create hashed passwords with:
# /mkpasswd <hash> <password>
#hash="sha256"
password="secret"
# maxchans: Maximum number of channels a user in this class
- # be in at one time. This overrides every other maxchans setting.
- #maxchans="30"
+ # be in at one time.
+ maxchans="20"
# timeout: How long (in seconds) the server will wait before
# disconnecting a user if they do not do anything on connect.
# globalmax: Maximum global (network-wide) connections per IP (or CIDR mask, see below).
globalmax="3"
- # maxconnwarn: Enable warnings when localmax or globalmax is hit (defaults to on)
+ # maxconnwarn: Enable warnings when localmax or globalmax are reached (defaults to on)
maxconnwarn="off"
# resolvehostnames: If disabled, no DNS lookups will be performed on connecting users
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.
+ # This setting only has effect when the dnsbl module is loaded.
#usednsbl="yes"
# useident: Defines if users in this class MUST respond to a ident query or not.
limit="5000"
# modes: Usermodes that are set on users in this block on connect.
- # Enabling this option requires that the m_conn_umodes module be loaded.
+ # Enabling this option requires that the conn_umodes module be loaded.
# This entry is highly recommended to use for/with IP Cloaking/masking.
- # For the example to work, this also requires that the m_cloaking
+ # For the example to work, this also requires that the "cloaking"
# module be loaded as well.
modes="+x"
# requireident, requiressl, requireaccount: require that users of this
# block have a valid ident response, use SSL, or have authenticated.
- # Requires m_ident, m_sslinfo, or m_services_account respectively.
+ # Requires ident, sslinfo, or the services_account module, respectively.
requiressl="on"
# NOTE: For requireaccount, you must complete the signon prior to full
# connection. Currently, this is only possible by using SASL
allow="*"
# maxchans: Maximum number of channels a user in this class
- # be in at one time. This overrides every other maxchans setting.
- #maxchans="30"
+ # be in at one time.
+ maxchans="20"
# timeout: How long (in seconds) the server will wait before
# disconnecting a user if they do not do anything on connect.
# 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"
+ # Setting this to "1M" is equivalent to "1048576", "8K" is 8192, etc.
+ hardsendq="1M"
# 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"
+ # Entering "8K" is equivalent to "8192", see above.
+ recvq="8K"
# 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,
limit="5000"
# modes: Usermodes that are set on users in this block on connect.
- # Enabling this option requires that the m_conn_umodes module be loaded.
+ # Enabling this option requires that the conn_umodes module be loaded.
# This entry is highly recommended to use for/with IP Cloaking/masking.
- # For the example to work, this also requires that the m_cloaking
+ # For the example to work, this also requires that the cloaking
# module be loaded as well.
modes="+x">
# This file has all the information about oper classes, types and o:lines.
# You *MUST* edit it.
-<include file="conf/examples/opers.conf.example">
+<include file="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/examples/links.conf.example">
+<include file="examples/links.conf.example">
#-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
# #
# Files block - contains files whose contents are used by the ircd
#
# 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/examples/motd.txt.example" rules="conf/examples/rules.txt.example">
+<files motd="examples/motd.txt.example">
# Example of an executable file include. Note this will be read on rehash,
# not when the command is run.
-#<execfiles rules="wget -O - http://www.example.com/rules.txt">
-
-#-#-#-#-#-#-#-#-#-#-#-# MAXIMUM CHANNELS -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-
-<channels
- # users: Maximum number of channels a user can be in at once.
- users="20"
-
- # opers: Maximum number of channels a oper can be in at once.
- opers="60">
+#<execfiles motd="wget -O - http://www.example.com/motd.txt">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# If these values are not defined, InspIRCd uses the default DNS resolver
# server: DNS server to use to attempt to resolve IP's to hostnames.
# in most cases, you won't need to change this, as inspircd will
# automatically detect the nameserver depending on /etc/resolv.conf
- # (or, on windows, your set nameservers in the registry.)
+ # (or, on Windows, your set nameservers in the registry.)
# Note that this must be an IP address and not a hostname, because
# there is no resolver to resolve the name until this is defined!
#
# matched, the banlist size defaults to 64 entries. #
# #
-<banlist chan="#morons" limit="128">
+<banlist chan="#largechan" limit="128">
<banlist chan="*" limit="69">
#-#-#-#-#-#-#-#-#-#-#- DISABLED FEATURES -#-#-#-#-#-#-#-#-#-#-#-#-#-#
# #
<options
- # prefixquit: What (if anything) a users' quit message
+ # prefixquit: What (if anything) users' quit messages
# should be prefixed with.
prefixquit="Quit: "
- # suffixquit: What (if anything) a users' quit message
+ # suffixquit: What (if anything) users' quit messages
# should be suffixed with.
suffixquit=""
- # prefixpart: What (if anything) a users' part message
+ # prefixpart: What (if anything) users' part messages
# should be prefixed with.
prefixpart="""
# NOTE: Use "\"" instead of """ if not using <config format="xml">
- # suffixpart: What (if anything) a users' part message
+ # suffixpart: What (if anything) users' part message
# should be suffixed with.
suffixpart="""
# triggers anti-takeover mechanisms of some obsolete bots.
cyclehostsfromuser="no"
- # ircumsgprefix: Use undernet-style message prefixing for NOTICE and
- # PRIVMSG. If enabled, it will add users' prefix to the line, if not,
- # it will just message the user normally.
- ircumsgprefix="no"
-
- # announcets: If set to yes, when the TimeStamp on a channel changes, all users
- # in channel will be sent a NOTICE about it.
+ # announcets: If set to yes, when the timestamp on a channel changes, all users
+ # in the channel will be sent a NOTICE about it.
announcets="yes"
# 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.
+ # if they don't have the same "optionally common" modules loaded. Setting this to
+ # yes may introduce some desyncs and unwanted behaviour.
allowmismatch="no"
# defaultbind: Sets the default for <bind> tags without an address. Choices are
# falling back to IPv4 otherwise.
defaultbind="auto"
- # 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: If enabled, channels will show the host of the topic setter
+ # in the topic. If set to no, it will only show the nick of the topic setter.
hostintopic="yes"
# pingwarning: If a server does not respond to a ping within x seconds,
serverpingfreq="60"
# defaultmodes: What modes are set on a empty channel when a user
- # joins it and it is unregistered. This is similar to Asuka's
- # autochanmodes.
- defaultmodes="nt"
+ # joins it and it is unregistered.
+ defaultmodes="not"
- # 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"
# invitebypassmodes: This allows /invite to bypass other channel modes.
- # (Such as +k, +j, +l, etc)
+ # (Such as +k, +j, +l, etc.)
invitebypassmodes="yes"
# nosnoticestack: This prevents snotices from 'stacking' and giving you
# #
<performance
- # netbuffersize: Size of the buffer used to recieve data from clients.
+ # netbuffersize: Size of the buffer used to receive data from clients.
# The ircd may only read this amount of text in 1 go at any time.
netbuffersize="10240"
- # maxwho: Maximum number of results to show in a /who query.
- maxwho="4096"
-
# somaxconn: The maximum number of connections that may be waiting
# 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.
+ # 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"
# higher ranked users. This is the recommended setting.
announceinvites="dynamic"
- # hidemodes: If enabled, then the listmodes given will be hidden
- # from users below halfop. This is not recommended to be set on +b
- # as it may break some functionality in popular clients such as mIRC.
- hidemodes="eI"
-
# hideulines: If this value is set to yes, U-lined servers will
# be hidden from non-opers in /links and /map.
hideulines="no"
# (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:
# no Do not show
operspywhois="no"
- # runasuser: If this is set, InspIRCd will attempt to setuid
- # to run as this user- allows binding of ports under 1024.
+ # runasuser: If this is set, InspIRCd will attempt to switch
+ # to run as this user, which allows binding of ports under 1024.
+ # You should NOT set this unless you are starting as root.
# NOT SUPPORTED/NEEDED UNDER WINDOWS.
#runasuser=""
- # runasgroup: If this is set, InspIRCd will attempt to set group
- # to run under this group, which allows binding of ports under 1024
+ # runasgroup: If this is set, InspIRCd will attempt to switch
+ # to run as this group, which allows binding of ports under 1024.
+ # You should NOT set this unless you are starting as root.
# NOT SUPPORTED/NEEDED UNDER WINDOWS.
#runasgroup=""
# maxident: Maximum length of a ident/username.
maxident="11"
+ # maxhost: Maximum length of a hostname.
+ maxhost="64"
+
# maxquit: Maximum length of a quit message.
maxquit="255"
# maxaway: Maximum length of an away message.
maxaway="200">
+#-#-#-#-#-#-#-#-#-#-#-#-# PATHS CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
+# #
+# This configuration tag defines the location that InspIRCd stores #
+# various types of files such as configuration files, log files and #
+# modules. You will probably not need to change these from the values #
+# set when InspIRCd was built unless you are using a binary package #
+# where you do not have the ability to set build time configuration. #
+#<path configdir="conf" datadir="data" logdir="logs" moduledir="modules">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Logging
# - OPER - succesful and failed oper attempts
# - KILL - kill related messages
# - snomask - server notices (*all* snomasks will be logged)
-# - FILTER - messages related to filter matches (m_filter)
+# - FILTER - messages related to filter matches (filter module)
# - CONFIG - configuration related messages
# - COMMAND - die and restart messages, and messages related to unknown user types
# - SOCKET - socket engine informational/error messages
<badip
# ipmask: IP range to ban. Wildcards and CIDR can be used.
- ipmask="69.69.69.69"
+ ipmask="192.0.2.69"
# reason: Reason to display when user is disconnected.
reason="No porn here thanks.">
<badhost
# host: ident@hostname to ban.
# Wildcards and CIDR (if you specify an IP) can be used.
- host="*@hundredz.n.hundredz.o.1337.kiddies.com"
+ host="*@banneduser.example.net"
# reason: Reason to display when user is disconnected
- reason="Too many 1337 kiddiots">
+ reason="Evading Bans">
-<badhost host="root@*" reason="Don't irc as root!">
-<badhost host="*@172.32.0.0/16" reason="This subnet is bad.">
+<badhost host="root@*" reason="Don't IRC as root!">
+<badhost host="*@198.51.100.0/24" reason="This subnet is bad.">
# exception: Hosts that are exempt from [kgz]lines.
<exception
# host: ident@hostname to exempt.
# Wildcards and CIDR (if you specify an IP) can be used.
- host="*@ircop.host.com"
+ host="*@ircop.example.com"
# reason: Reason for exception. Only shown in /stats e
- reason="Opers hostname">
+ reason="Oper's hostname">
#-#-#-#-#-#-#-#-#-#-#- INSANE BAN OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
# #
# #
# 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.)">
+<die value="User error. You didn't edit your config properly. Go back and try again.">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# MODULES #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# ____ _ _____ _ _ ____ _ _ _ #
# provide almost all the features of InspIRCd. :) #
# #
# The default does nothing -- we include it for simplicity for you. #
-<include file="conf/examples/modules.conf.example">
+<include file="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/examples/modules/unrealircd.conf.example">
+#<include file="examples/modules/unrealircd.conf.example">
# Settings similar to Charybdis IRCd defaults.
-#<include file="conf/examples/modules/charybdis.conf.example">
+#<include file="examples/modules/charybdis.conf.example">
#########################################################################