The process of catching cheaters in video games is muddled in secrecy: the more developers say, the better equipped deviants are to cheat more efficiently next time around. Recently, however, League of Legends developer Riot Games’ anti-cheat team shared some high-level insights in a blog post as to how they catch perpetrators in the act, and the methods are fascinating.

In League of Legends, there are three primary types of cheaters according to Riot: scripters, who automate actions; boosters, who acquire highly ranked accounts; and botters, who use programs to help them level up. To combat these problems, League of Legends has an anti-cheat team that is composed of analysts, data scientists, and even ex-cheaters who come together to identify ways of deterring, preventing, and detecting exploits.

Each type of cheater presents a unique challenge. In the case of scripters, for example, Riot has to differentiate between normal human move spamming and computer-generated moves, while also accounting for the fact that cheat developers have intentionally introduced delays to their programs to make them seem more human-like. Most scripters who are caught don’t reform — only 9 percent change their ways, according to Riot — and it often takes an average of 5.1 banned accounts before a cheater decides to uninstall the game.

In the case of boosters, Riot tries to determine if there’s a gap between a player’s skill and the boosted account’s rank. “We’ve managed to throw together a little algorithm that we run once a season to remove the rewards of those less deserving,” Riot says.

Perhaps the most curious anti-cheat research Riot employs involves bots. “We’ve got a few PhD candidates, and those nerds are actively whipping up machine models that sort the electric dishwashers from the humans,” Riot wrote. “Bots fighting bots—real edge-of-your-seat stuff.”

While the team says it still has a ways to go in the fight against cheaters, the numbers shared by Riot so far are impressive. “We’ve banned over 7 million accounts for scripting worldwide in the last three years, with 5 million of those being handled by Tencent in China,” the company explains. Incidentally, China is one of the leading regions when it comes to cheating, to the degree that Riot recently attended a boot camp in Shenzhen to develop new anti-cheat methods.

“Today, the average player is likely to encounter a futile scripter just once in every 400 ranked games,” Riot writes.