Sentry is a cross-platform tool for Team Fortress 2 to monitor in-game players in your current server. It flags cheaters using TF2 Bot Detector/user lists, fetches ban histories of connected players (also keyword matches bans for cheating), and automates commands. It is an alternative to (now unmaintained) TF2 Bot Detector and is compatible with its player lists.
matches system theme, will look different on different platforms/light mode
- Cheater detection / tagging
- Uses TF2 Bot Detector player lists and your own user list.
- Mark players as Cheater / Suspicious / Other
- Automation (off by default)
- Announce connected cheaters to global chat
- Automatically callvote-kick detected cheaters
- Party chat announcements:
- Notifies party chat when new cheaters are detected/present in a server
- Notifies party chat when players with suspicious SourceBans are detected (keyword matches e.g. "aimbot")
- Players with suspicious SourceBans are indicated in the GUI with bold red text.
- User list management
- Edit the user list directly from the GUI
- Export your list in TF2BD format from the User List Manager for sharing
- Social Graph
- See who is friends with who
- Player relationships: If Player A is friends with B, and B is friends with C, they are all identified as a single linked group. This feature is intended for Casual Mode to identify potential party stacks.
- Tooltips: Hover over the cell in the
#column to see exactly how a group is connected. It distinguishes between Direct Friends (Steam friends) and Indirectly Linked players (friends of friends).
- Player Details
- Open a detailed profile view for any player (double-click or context menu).
- Shows:
- User Avatar & some useful information, such as:
- Copyable SteamID3/64
- Quick links to sites such as logs.tf/rep.tf/steamhistory/etc
- VAC status + game bans (Steam Web API)
- full SourceBans history (SteamHistory API)
- TF2BD list data for this player (if present)
- Shows this player's friends / “Marked Friends” stats (breakdown of marked cheater/suspicious friends from TF2BD + user list)
- Edit the player’s user entry directly from this window as well
Most users should download the latest precompiled release.
- Go to releases and download the latest build for your OS.
- Extract to a folder
- On Linux, you may need to run
chmod +x Sentryin the terminal.
When running the executable, /cfg/ and /tf2bd_lists/ folders are created automatically.
If the precompiled build doesn’t work on your system, you can run from source instead (see below).
Add the following to your TF2 launch options in Steam:
-usercon -g15 +ip 0.0.0.0 +rcon_password yourpassword +net_start
Optional:
+sv_rcon_whitelist_address 127.0.0.1(prevents being banned by rcon on too many failed attempts)-port 27015(only if another application is already using the default port; set it to whatever you want)
Then set the same RCON password/port inside Sentry via Settings.
The default password 'yourpassword' should be fine. You do not necessarily need to change it.
All settings are configurable from the Settings button in the GUI. Settings are saved to:
cfg/settings.iniGet a Steam Web API key (optional, Recommended): Go to https://steamcommunity.com/dev/apikey log in and set the domain name to whatever, like localhost. Click register, then copy your api key into settings.- Required for Social Graph/Friend detection and fetching avatars/account age/playtime Get a SteamHistory API key (optional, Recommended): Go to https://steamhistory.net/api and sign in with your steam account, you should be able to get one from there.
- Required for SourceBans integration.
Sentry uses player lists originally created for TF2 Bot Detector
Place TF2BD player lists in the ./tf2bd_lists/ folder.
- Importing: Place TF2BD player lists into the
./tf2bd_lists/folder. - Exporting: Use the User List Manager to export your userlist into a TF2BD-compatible JSON file to share with others.
Note: Only Cheater & Suspicious player types will be exported at this time. This software only uses the 'Cheater' and 'Suspicious' attributes from TF2BD lists; exporting players marked 'Other' does not cleanly match those attributes.
Only use this if you don’t want the precompiled release. This assumes you have Python 3.13 installed, newer versions haven't been tested but probably work just fine.
Ubuntu doesn't ship with these preinstalled, so you will have to install them:
sudo apt update
sudo apt install python3-venv python3-pipIn terminal, make start_sentry.sh executable:
chmod +x start_sentry.sh
Then:
./start_sentry.sh
or from terminal:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 run.pyDouble-click start_sentry.bat
Use the provided script compile.sh
Use compile.bat
- If Sentry says RCON is unreachable:
- Verify TF2 is running with the launch options above.
- Verify your RCON password matches in both your TF2 launch options and Sentry.
- Verify your RCON port matches (default
27015) in both your TF2 launch options and Sentry.