-#-#-#-#-#-#-#-#-#-#-#- SERVER LINK CONFIGURATION -#-#-#-#-#-#-#-#-#-#
-# #
-# Defines which servers can link to this one, and which servers this #
-# server may create outbound links to. #
-# #
-# name - The name is the canonical name of the server, does #
-# not have to resolve - but it is expected to be set #
-# in the remote servers connection info. #
-# #
-# ipaddr - Valid host or IP address for remote server. These #
-# hosts are resolved on rehash, and cached, if you #
-# specify a hostname; so if you find that your server #
-# is still trying to connect to an old IP after you #
-# have updated your DNS, try rehashing and then #
-# attempting the connect again. #
-# #
-# port - The TCP port for the remote server. #
-# #
-# sendpass - Password to send to create an outbound connection #
-# to this server. #
-# #
-# recvpass - Password to receive to accept an inbound connection #
-# from this server. #
-# #
-# autoconnect - Sets the server to autoconnect. Where x is the num. #
-# (optional) of seconds between attempts. e.g. 300 = 5 minutes. #
-# #
-# transport - If defined, this is a transport name implemented by #
-# another module. Transports are layers on top of #
-# plaintext connections, which alter them in certain #
-# ways. Currently the three supported transports are #
-# 'openssl' and 'gnutls' which are types of SSL #
-# encryption, and 'zip' which is for compression. #
-# If you define a transport, both ends of the #
-# connection must use a compatible transport for the #
-# link to succeed. OpenSSL and GnuTLS are link- #
-# compatible with each other. #
-# #
-# 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 #
-# will show as *@<hidden>, and during CONNECT and #
-# inbound connections, it's IP will show as <hidden> #
-# UNLESS the connection fails (e.g. due to a bad #
-# password or servername) #
-# #
-# allowmask - When this is defined, it indicates a range of IP #
-# addresses to allow for this link (You may use CIDR #
-# or wildcard form for this address). #
-# e.g. if your server is going to connect to you from #
-# the range 1.2.3.1 through 1.2.3.255, put 1.2.3.0/24 #
-# into this value. If it is not defined, then only #
-# the ipaddr field of the server shall be allowed. #
-# #
-# failover - If you define this option, it must be the name of a #
-# different link tag in your configuration. This #
-# option causes the ircd to attempt a connection to #
-# the failover link in the event that the connection #
-# to this server fails. For example, you could define #
-# two hub uplinks to a leaf server, and set an #
-# american server to autoconnect, with a european #
-# hub as its failover. In this situation, your ircd #
-# will only try the link to the european hub if the #
-# american hub is unreachable. NOTE that for the #
-# intents and purposes of this option, an unreachable #
-# server is one which DOES NOT ANSWER THE CONNECTION. #
-# If the server answers the connection with accept(), #
-# EVEN IF THE CREDENTIALS ARE INVALID, the failover #
-# link will not be tried! Failover settings will also #
-# apply to autoconnected servers as well as manually #
-# connected ones. #
-# #
-# timeout - If this is defined, then outbound connections will #
-# time out if they are not connected within this many #
-# seconds. If this is not defined, the default of ten #
-# seconds is used. #
-# #
-# bind - If you specify this value, then when creating an #
-# outbound connection to the given server, the IP you #
-# place here will be bound to. This is for multi- #
-# homed servers which may have multiple IP addresses. #
-# if you do not define this value, the first IP that #
-# is not empty or localhost from your <bind> tags #
-# will be bound to. This is usually acceptable, #
-# however if your server has multiple network cards #
-# then you may have to manually specify the bind #
-# value instead of leaving it to automatic binding. #
-# you can usually tell if you need to set this by #
-# looking for the error 'Could not assign requested #
-# address' in your log when connecting to servers. #
-# #
-# hidden - If this is set to true, yes, or 1, then the server #
-# is completely hidden from non-opers. It does not #
-# show in /links and it does not show in /map. Also, #
-# any servers which are child servers of this one #
-# in the network will *also* be hidden. Use with #
-# care! You can use this to 'mask off' sections of #
-# the network so that users only see a small portion #
-# of a much larger net. It should NOT be relied upon #
-# as a security tool, unless it is being used for #
-# example to hide a non-client hub, for which clients #
-# do not have an IP address or resolvable hostname. #
-# #
-# To u:line a server (give it extra privileges required for running #
-# services, Q, etc) you must include the <uline server> tag as shown #
-# in the example below. You can have as many of these as you like. #
-# #
-# WARNING: Unlike other ircds, u:lining a server allows ALL users on #
-# that server to operoverride modes. This should only be used for #
-# services and protected oper servers! #
-# #
-# ------------------------------------------------------------------- #
-# #
-# NOTE: If you have built your server as an IPv6 server, then when a #
-# DNS lookup of a server's host occurs, AAAA records (IPv6) are #
-# prioritised over A records (IPv4). Therefore, if the server you are #
-# connecting to has both an IPv6 IP address and an IPv4 IP address in #
-# its DNS entry, the IPv6 address will *always* be selected. To #
-# change this behaviour simply specify the IPv4 IP address rather #
-# than the hostname of the server. #
-# #
-# ------------------------------------------------------------------- #
-# #
-# ____ _ _____ _ _ ____ _ _ _ #
-# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | #
-# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | #
-# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| #
-# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) #
-# #
-# If you want to link servers to InspIRCd you must load the #
-# m_spanningtree.so module! Please see the modules list below for #
-# information on how to load this module! If you do not load this #
-# module, server links will NOT work! #
-# #
-# Also, if you define any transports, you must load the modules for #
-# these transports BEFORE you load m_spanningtree, e.g. place them #
-# above it in the configuration file. Currently this means the three #
-# modules m_ssl_gnutls, m_ziplinks and m_ssl_openssl, depending on #
-# which you choose to use. #
-# #
+ # 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"
+
+ # globalmax: Maximum global (network-wide) connections per IP.
+ globalmax="3"
+
+ # useident: Defines if users in this class must respond to a ident query or not.
+ useident="no"
+
+ # limit: How many users are allowed in this class
+ 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.
+ # This entry is highly recommended to use for/with IP Cloaking/masking.
+ # For the example to work, this also requires that the m_cloaking
+ # module be loaded as well.
+ modes="+x">