For this project, I go by the name Milenko.
I started writing software for TF2's bot problem after realizing the potential of bots that could counter bots, an idea first introduced to me by Sydney, who mostly does code review now.

The project's name and my moniker stem from the song "The Great Milenko" by Insane Clown Posse.
Small robots.
  • A Milenko bot is an "anti-bot bot" that helps to remove malicious bots from Team Fortress 2 casual matches by detecting, reporting, votekicking, and killing them in the interim.
  • They also send statistical data about malicious bots to GLaDOS, which enables her to provide lists that can be used with Pazer's TF2 Bot Detector program to help you kick bots faster.
Big robots.
  • GLaDOS continuously scans Valve's TF2 casual gamemode servers to automatically detect malicious bots.
  • Using reports from Milenko bots, GLaDOS manages a player list of malicious bot Steam IDs for TF2BD.
  • Her high-level API tracks player/bot statistics and enables on-demand detection of malicious bots and namestealers on any given Valve server.
  • The API also provides an automatic bot name detection rules list for TF2BD.
  • You can actually see some of the statistics GLaDOS makes available through the API pretty easily - our Live Statistics page draws a graph in your browser with data pulled from GLaDOS in real time.
Other software.
  • We're in the process of developing hathook and portalgun which will enable Linux users to avoid bots in TF2's casual gamemode.
Milenko bots search for TF2 casual matches with malicious bots and then join to help kick them from the game.
Thanks to GLaDOS' API and portalgun, Milenko bots will only join matches with malicious bots, and only one Milenko bot will join at any time.

Once in a match, Milenko bots will:
  • Announce a list of malicious bots on both teams in the chat every 20 seconds
  • + This makes the presence of malicious bots immediately obvious to all players
  • Play Sniper and target malicious bots to prevent them from ruining the fun of innocent players
  • Try to call vote kicks against bots as soon as possible
  • Tell players whether those being kicked are bots
  • + This helps to prevent innocent players from being kicked by malicious bots or mistaken players
  • Automatically vote Yes against known malicious bots and remain neutral against other players
  • Once all the bots have been kicked, Milenko bots will leave automatically
Milenko bots are there to help - just kick the malicious bots and they'll be out of your way.

However, if you're curious, they also have some "joke" features.
  • When a malicious bot is detected nearby, Milenko bots will use the "Sentry ahead!" voice line every 15 seconds as a warning to their teammates.
  • After killing the last alive malicious bot on the other team, Milenko bots will taunt with "The Director's Vision".
  • If you start a partner taunt near a Milenko bot, it will try to automatically join.
  • When no malicious bots are detected, Milenko bots will "explode" shortly before leaving.
Please read this guide for basic information on how to identify common malicious bots.

In addition to the behaviors described in "What do Milenko bots do?", there are two very important things that distinguish Milenko bots from malicious bots:
  1. Milenko bots will always use a random TF2 profile picture and a random name, except on special occasions.
  2. + Bots with names like "Milenko's Bot Detector" are likely impersonators, but a name like "https://milenko.ml" might be legitimate.
    + The best way to judge a bot is by its actions, not its name.
  3. Milenko bots will not wear any cosmetic items except for the Mann Co. hat, which is given to players when they purchase something from the in-game store.
  4. + If you see a sniper wearing three hats at once, you can safely assume they're cheating.
Here are a few examples of random names Milenko bots might use:
  • interoperability
  • sand cricket
  • fishing expedition
  • chestnut tree
  • wind chime
  • capital of finland
I strongly encourage you to use Pazer's TF2 Bot Detector, a program that helps to identify malicious bots and automatically kick them!
You can get an idea of what it does from their site, or for more information, read the program's FAQ on its GitHub repository.
By default, TF2BD does not detect a lot of bots. To help, you can add some third party player lists and rules they endorse on their wiki page.
In fact, we maintain our own lists which you can add to the tool!

Milenko's recommended cumulative player list
Most malicious bots send signals to everyone in the game to avoid shooting each other.
Milenko bots automatically detect these and report them to GLaDOS so she can add them to the player list.
Thanks to this, our player list is extremely accurate and contains mostly malicious bots. A few cheaters may also be on the list.

GLaDOS automatic bot name detection rules list
In addition to our player list, we also have an automatically-generated rules list that temporarily marks bots by their in-game name.
Whereas the player list is added to by Milenko bots as they encounter malicious bots, the rules list is generated by the GLaDOS API using data she collects while continuously scanning TF2 servers and looking for patterns in names.
This makes it an extremely effective tool for automatically detecting new bots!

Lastly, we also provide two "dummy" player and rules lists that can replace and disable the official lists that come with TF2BD.
You should only install these if you don't want to use the official TF2BD lists because you don't trust them.
Dummy TF2BD official playerlist
Dummy TF2BD official rules

To download lists, right click the links and select "Save Link As..." and then save them wherever you want.
Then, to install them, you just need to move them to the bot detector "cfg" folder.
See Pazer's TF2 Bot Detector wiki page for information on opening the cfg folder.

In the future, we hope improvements to TF2BD will allow you to see more details about how a bot was detected.
We do! We use it to post updates on development, accept feedback, provide real-time statistics, and more. Check it out - the link's in the navigation bar at the top of the page.
If you like what we're doing, please do!
The cloud servers that Milenko bots run on cost hundreds of dollars per month. We simply can't continue running without your support.
Please subscribe to the project's Patreon or, alternatively, make a one-time donation through our Ko-fi.

We also accept donations in cryptocurrency!
Our Bitcoin address is: 35ASdQQ55ALDU9NSu2unTcRzYe9LckG6M5
If your Bitcoin wallet supports it, you should send to this bip32 address instead for reduced transaction fees: bc1q728r5n9mkeege7783tzhqgcayy8s44qwhwllsz
If you would prefer to send Monero, our address is: 83bvucMFZh72A5BrEeaNBAeZnfbrAdcGNME9o9mydnjsc1rhDK4st5MHdg1qguXrpf4Sf67dcyNmy6TrKZ9eeTVd5h5Chn7
The fastest way to reach me is to just send me a message on Discord.
You can join our server through the link in the navigation bar at the top of the page or send me a DM at: The Great Milenko#6950

I can also be reached via e-mail at: whyistherumg0ne [at] protonmail.com
Want to encrypt your e-mail with PGP? Here's my public key.