The bot itself would be configured to only check for 'this' achievement or 'that' one. So it would only be checking for the pieces of data it NEEDS, instead of sending a lot of (mostly useless) information to the server. Sure, you could have it only send to the server the useful information, but if you 'sort' the needed information out from the rest, you might as well process that piece of information right now. The programming would be the same to determine if an achievement is complete, whether it's coded in the plugin, or in the server. Sending all that data to the server would pose a similar; if not greater; problem, I think. Also, CPU "costs" less than bandwidth. The less bandwidth used the better for those who pay for the zone servers. It would have to send data to the server once in a while, of course, but it would only need to send the useful numbers. If an achievement requires one to have 100 kills in a warbird while carrying a flag, it would send the number of kills he had in a warbird while carrying a flag. If a zone has, say, 50 achievements with each 2 combined conditions, that's only 100 values to send in the worse case (that is, if all the values are changed between 2 updates) If an achievement requires you to get 100 kills in each of the 8 ships, then the plugin would keep 8 values updated on the server on a periodic basis. And you could see the progress on the site for that achievement, for example. That's how I'd do it, anyway. It eliminates A LOT of data you might not need. Like keeping track of all the flags and players at given times. You can just have the plugin do something when one of the events actually occur, instead of tracking everything and then checking if the event has occured in that large chunk of data. You seem to be underestimating the speed at which a plugin or module can process events... Though I understand your concern of abusing the CPU, but as I said, Bandwidth = $$$, CPU not really (I doubt servers will need to be upgraded to run that)