This is a little tough to describe, so just bear with me. Think of this as a reliable but non-intrusive anti-spam / anti-minge tool.
Here's how it would work:
Every user who joins the server has their own constantly monitored warning level. If the user spawns a prop, no big deal, nothing happens. If they spawn 2 more props immediately after that, again, no problem. After more than 3 or so props are spawned within a very short amount of time from each other, the system starts increasing their warning level. The warning level grows exponentially based on how many props have been spawned within the given time limitations (say, 750ms).
For example, if the player spawns 4 props very quickly (where 3 is the permitted amount of quickly spawned props), the user's warning level increases to 2%. If they spawn 5, the warning level increases to 4%. If they spawn 6, it increases to 8%. If they spawn 7, it increases to 16%. Etc. If the user reaches 100%, they get automatically kicked/banned (based on admin settings) for X amount of time.
Now here's the where everything works out. The warning levels have a cool-down rate. Meaning, if someone spawned 7 props in succession and has a 16% warning level, the warning level will decrease by, say, 2% every minute. So after 8 minutes, the user is free of any threat. This is to help prevent good players from being accidentally kicked out.
Another thing that can contribute to this warning level are defined chat rules. Such as, if someone says "b*tch" and you have a no-swearing policy on your server, your warning level automatically increases by 25%, and this value is UNAFFECTED by the cool-down process (since you can't accidentally say b*tch
). If someone blurts out a racial slur, they can (based on your own rules) be auto-kicked/banned from the server.
I'm sure there must be a way to somehow work in support for stacker/duplicator/adv.dupe/etc. And this dream system would also include protection from spamming rope which seems to be somewhat common in minge-infested servers.
If you wanted to get complicated with it, players could be remembered by steamID, and their warning levels averaged over time. So if they are known to be trouble-free players, they are given more leeway as to what they can do. So instead of spawning 7 props and receiving a 16% warning increase, they only get an 8% increase.
I think something like this is a must-have.
And heres a quick, somewhat lame attempt at an example of what could be seen on the players HUD (if this fancy stuff is possible).
^ That screenshot was from an actual spammer.
Thoughts?
Oh, and thanks for all your hard work guys. ULX is fantastic.