# |___/ #
# #
##################################||####################################
- #||#
+ #||#
##################################||####################################
# #
# 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 #
-# #
-########################################################################
#-#-#-#-#-#-#-#-#-# INCLUDE CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#-#
# #
#<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 #
+# m_spanningtree.so 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"
>
<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 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" 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 (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", 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:
+ # Optional, but recommended. Create hashed passwords with:
# /mkpasswd <hash> <password>
#hash="sha256"
# 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"
+ # 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">
# 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,
# 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.
# 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: Maximum number of channels an oper can be in at once.
opers="60">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# 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="""
# 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"
- # 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"
+ # allowmismatch: Setting this option to yes will allow servers to link even
+ # 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
# ipv4 or ipv6; if not specified, IPv6 will be used if your system has support,
# 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.
+ # joins it and it is unregistered.
defaultmodes="nt"
# moronbanner: 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."
+ moronbanner="You're banned! Email abuse@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
# the message saying '(last message repeated X times)'. Defaults to no.
- nosnoticestack="no">
+ nosnoticestack="no"
+
+ # welcomenotice: When turned on, this sends a NOTICE to connecting users
+ # with the text Welcome to <networkname>! after successful registration.
+ # Defaults to yes.
+ welcomenotice="yes">
#-#-#-#-#-#-#-#-#-#-#-# PERFORMANCE CONFIGURATION #-#-#-#-#-#-#-#-#-#-#
# #
<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.
somaxconn="128"
+ # limitsomaxconn: By default, somaxconn (see above) is limited to a
+ # safe maximum value in the 2.0 branch for compatibility reasons.
+ # This setting can be used to disable this limit, forcing InspIRCd
+ # to use the value specified above.
+ limitsomaxconn="true"
+
# 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"
# quietbursts: When syncing or splitting from a network, a server
<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.
+ # 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
# hidekills: If defined, replaces who set a /kill with a custom string.
hidekills=""
+ # hideulinekills: Hide kills from clients of ulined servers from server notices.
+ hideulinekills="yes"
+
# hidesplits: If enabled, non-opers will not be able to see which
# servers split in a netsplit, they will only be able to see that one
# occurred (If their client has netsplit detection).
# 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=""
# to do what they want.
#
# An example log tag would be:
-# <log method="file" type="OPER" level="default" target="opers.log">
+# <log method="file" type="OPER" level="default" target="logs/opers.log">
# which would log all information on /oper (failed and successful) to
# a file called opers.log.
#
# The following log tag is highly default and uncustomised. It is recommended you
# sort out your own log tags. This is just here so you get some output.
-<log method="file" type="* -USERINPUT -USEROUTPUT" level="default" target="ircd.log">
+<log method="file" type="* -USERINPUT -USEROUTPUT" level="default" target="logs/ircd.log">
#-#-#-#-#-#-#-#-#-#-#-#-#- WHOWAS OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
<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/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">
#########################################################################