Currently, one cheating prevention(ignoring other preventions) is simply not allowing someone to pulse keys if the keycount is over a certain kps?
This is easily avoided by not typing any further for a period of time, before pulsing. The flaw here would be that the whatpulse client simply takes the entire length of time into consideration, and not specific intervals.
A person could easily cheat a few million keys within a minute, and then wait it out until the kps averages down to an acceptable number before pulsing to the server, therefore bypassing this weak prevention method.
Rather than to monitor the kps over the entire length of time, I suggest a new method of detection is put into place, whereby the kps is counted in time intervals(possibly hours or minutes). This would be a more foolproof method of detecting cheaters.
The monitored time intervals would then have a keycount limit (eg 1000 keys max per min, or something high)
The client could then monitor the incoming keys per minute, and each time the key limit is breached, an infraction is marked agaisnt the user.
Eg, A cheater decides to hack 1mil keys into his client, and with bots and such he achieves it over a period of 10 mins. He would then leave his computer idle so that his kps averages out to look legit when he pulses to the server.
The current client would then pass it off without suspicion, and the only way that cheater would be caught is if other users monitored him regularly, or if he slipped up somewhere and made a mistake.
So, with my idea into place, as he bots his 1mil keys, the client goes through the interval checks, monitoring individual minutes. During the 5 minutes he is botting, each of those minutes breach the limit because there is an amazing 200k keys a minute. Each minute that has a breach in the kps limit would mark up an infraction. (Note these infractions would not be visible to the user)
When he finally pulses his keys, information would be sent to the server regarding the number of infractions done in the pulse.
Users with high numbers of infractions could them be banned accordingly, rather than to have users waste their time looking through user profiles for high key counts.
Meh, I think my idea is badly worded in this post, but at least I’m trying to improve whatpulse… oh well, if I was unclear of anything, please ask. Or if the idea is unable to be implemented, just say so straight away.