summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-11-11 19:52:03 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-11-11 19:52:03 +0000
commit0f87ad0d4b97874823c94a5168a06dcd444ad559 (patch)
tree81b0aba7a008a140bf326608e6b6670b31b5c958 /conf
parent704c793d479f835180e9d89d82cd21a2c6c6521d (diff)
Add fine-grained command flood controls
This reintrouces "Excess Flood" quits for those that prefer it to fakelag, and allows the maximum command rate to be set in the connect block. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12093 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'conf')
-rw-r--r--conf/inspircd.conf.example26
1 files changed, 22 insertions, 4 deletions
diff --git a/conf/inspircd.conf.example b/conf/inspircd.conf.example
index 0b4099a40..baadf24d6 100644
--- a/conf/inspircd.conf.example
+++ b/conf/inspircd.conf.example
@@ -307,17 +307,35 @@
hardsendq="1048576"
# softsendq: amount of data in a client's send queue before the server
- # begins delaying their commands
+ # 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 seconds worth of penalty a user is allowed to have
- # before fake lag is applied to them. If this value is set too low, every action will cause throttling.
- # Set to 0 to disable.
+ # 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"