Meet the Guy Fixing Team Fortress 2's Bot Problem...With More Bots

The popular online game is riddled with cheaters and bots. So this coder decided to make bots that go after cheaters and other malicious bots.
October 13, 2020, 1:00pm
Team Fortress 2
Image: Valve

Sometimes, you have to fight fire with fire. 

For months, the multiplayer online game Team Fortress 2 has been overtaken by players who use cheats to improve their aim, hit enemies through walls, and even enlist bots—AI-controlled teammates that are harder to defeat than human players. That's why an anonymous coder has created a DIY anti-cheat system that allows players  to deploy their own bots, but as opposed to the other bots, these ones are programmed to automatically kill the cheaters and the malicious bots.

The system is called Milenko's Bot Detector and its creator calls it an "anti-bot bot." These anti-bot bots are programmed to join casual matches in Team Fortress 2 and automatically detect bots and cheaters. Then, they either kill them automatically, or flag the malicious bots to other players. This way, players can vote to kick the flagged bot out of the game. 

Milenko's bots focus specifically on cheaters and bots that run the Linux open-source cheat Cathook. This cheat allows players to enhance their skills with automatic aim, and shooting through walls—both impossible without the cheat. The cheat also lets players create bots that can spam the game chat with custom messages, follow the player to provide protection during the game,  and many other features that may lead to players using Cathook to be banned by Valve, the maker of the game, as the cheat developers wrote on Cathook's GitHub. 

Screen Shot 2020-10-09 at 4.14.02 PM.png

A message posted in Milenko's Discord channel.

The anonymous coder, who goes by Milenko, told Motherboard in an online chat that the idea for the bots came to him earlier this year when he was playing Team Fortress 2 and saw "malicious bots running on Cathook and spamming the game chat." 

Despite being 13 years old, Team Fortress 2 can still attract around 80,000 players a day, . but is also filled with bots and cheaters. In April, PC Gamer reported that bots were crashing some of the game's online servers, making it impossible to play the game. At the same time, bots programmed to spread hate speech in the chat also took over. Valve, the company that made and maintains Team Fortress 2, is struggling to fight back, which is why people like Milenko to take matters into their own hands. 

Valve did not respond to a request for comment. 

"Milenko bots use the same software malicious bots do to run multiple instances of TF2 under multiple steam accounts simultaneously," Milenko said. "Bots can automatically queue for matches without any interaction from the user once they've been started."

Do you develop cheats for games or reverse engineer anti-cheat software? Or do you work on anti-cheat software? We’d love to hear from you. You can contact Lorenzo Franceschi-Bicchierai securely on Signal at +1 917 257 1382, OTR chat at lorenzofb@jabber.ccc.de, or email lorenzofb@vice.com

By looking at the source code of the Cathook cheat, Milenko realized that it included a feature that allowed Cathook users to identify each other inside game matches, in order to prevent bots from going against each other. So he just took that feature and coded into his anti-bot bots to use it against Cathook users, essentially subverting a feature of the cheat and using it against the cheaters. 

"It does work," one of the developers of Cathook, who goes by the name BenCat07, told Motherboard. "[Cathook bots] abuse some mistakes in the server to identify each other, [Milenko] uses that to identify them himself and try to kick them." 

Even though they said they know how they could stop Milenko's bots, BenCat07 and TNE, another developer of Cathook, said that they don't plan to change Cathook's code to sabotage the anti-bot bots. 

"It's a pointless cat and mouse game. If we change our identification method, then he will just update it on his end to," TNE told me. "So we don't bother with that."

Milenko is not the first one to try this approach. Last month, multiple gaming news sites reported that someone had created a "Bot Extermination Service." At the time, I spoke with the person behind it, who said he was a 14-year-old kid who was doing it "for fun." Last week, he said he had stopped running his bots as Milenko's bots were more advanced than his. 

For now, Milenko said that his bots are still a work in progress, as he can only run 12 of them on his own computer for a few hours every day. He's looking for donations so he can rent a cloud server and run them 24/7. It's also hard to tell how long Valve will tolerate both the malicious bots and cheaters, as well as the benign bots made by Milenko.   

An anti-cheat developer, who asked to remain anonymous because he was not authorized to speak to the press said that Milenko's is "a cool project that will probably frustrate some cheat developers," but he worries that Valve may ban it since it's likely a violation of the game's terms of service. 

"It's been a while since I played TF2 but I can imagine a bot detector joining my game to shout and call votes even briefly could feel obnoxious," he said. "Especially if all the malicious bots start impersonating the bot detector."