From 30728fa5dca858af79038878d597ffd24cb1fc26 Mon Sep 17 00:00:00 2001 From: MadCamel Date: Sun, 4 Apr 2010 13:48:37 -0400 Subject: Added packet rate limiter and flood prevention system. The idea behind this is to keep abusive clients from flooding the server. Everything from over-voracious auto pick-up to exploitation of NPC vulnerabilities is mitigated by this. It will also eventually reduce server traffic, load, and possibly lag. Config options in battle_athena.conf: packet_spam_flood (default 30) packet_spam_threshold (default 2) packet_spam_kick (default 1) Each packet type has a specified allowed incoming rate in milliseconds, if this rate is exceeded the packet is ignored. If over 'flood' overruns in 'threshold' seconds are detected, a flood is logged and a kick may be triggered depending on the 'kick' config boolean. The packet rates and flood thresholds have been tested and tweaked on a live server, this should only affect abusive clients. Only extremely abusive clients will trigger a log/kick condition. This probably obsoletes the trade and kick spam code. --- src/map/battle.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/map/battle.h') diff --git a/src/map/battle.h b/src/map/battle.h index 4270b5b..9862df6 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -350,6 +350,10 @@ extern struct Battle_Config int sit_spam_ban; int sit_spam_warn; + int packet_spam_threshold; + int packet_spam_flood; + int packet_spam_kick; + int drop_pickup_safety_zone; // [Fate] Max. distance to an object dropped by a kill by self in which dropsteal protection works int itemheal_regeneration_factor; // [Fate] itemheal speed factor -- cgit v1.2.3-70-g09d2