Your Empty TF2 Server Doesn’t Have To Stay Empty
You finally did it. You followed a guide, forwarded the right ports, and your very own Team Fortress 2 server is up and running. You jump in, eager to play… and you’re completely alone. The silence is deafening, broken only by the lonely hum of a control point.
This is the universal experience for anyone who runs a private TF2 server. Whether you’re setting up a space for friends to practice, creating a fun sandbox, or just want to experience the chaotic joy of TF2 without the pressure of public matches, empty servers are a buzzkill. Manually inviting a dozen friends is a logistical nightmare, and waiting for the server browser to populate your new, unknown server could take forever.
The immediate, powerful solution is to add bots. Bots fill the server with instant action, allowing you and your friends to practice strategies, test new loadouts, or simply enjoy a full game on your own terms. The process is straightforward, but knowing the right commands and how to configure your new robotic teammates makes all the difference.
Why You’d Want Bots On Your TF2 Server
Before we dive into the commands, let’s clarify what bots are good for and what they are not. TF2’s built-in bot system is surprisingly robust. These are not the simplistic, predictable bots of early shooters. They can capture points, push carts, collect intelligence, and even perform class-specific actions like building Sentry Guns or deploying Ubercharges.
Bots are perfect for several specific scenarios:
- Practice and Warm-ups: Test sniper angles, practice rocket jumping without human pressure, or get a feel for a new weapon.
- Custom Game Modes: Create silly or challenging scenarios with specific bot behaviors and restrictions.
- Filling Empty Slots: Keep the server feeling alive and the game progressing while waiting for human players to join.
- Offline Play: When your internet is down, a local server with bots lets you still enjoy TF2.
It’s important to manage expectations. These bots will not replicate the unpredictable genius (or chaos) of high-level human players. Their pathfinding can be odd on some custom maps, and their strategy is often basic. But for creating a fun, active environment, they are an indispensable tool.
The Essential Console Commands To Spawn Bots
All bot control happens through TF2’s developer console. First, you need to enable it. Go to your TF2 Options menu, find the Keyboard tab, click “Advanced,” and check the box that says “Enable developer console.” Now you can press the ~ key (usually next to the 1 key) to open the console.
If you are the server host and in the game, you have full administrative control. These are the foundational commands you will use.
Adding Your First Bots
The core command is tf_bot_add. Typing this alone will add one bot of a random class to the team with fewer players. To get more control, you can specify the number, team, and class.
To add a specific number of bots, use:
tf_bot_add 5– Adds 5 bots to the team with fewer players.tf_bot_add 10 blue– Adds 10 bots to the BLU team.tf_bot_add 3 red scout– Adds 3 Scout bots to the RED team.
You can use any TF2 class name: scout, soldier, pyro, demoman, heavyweapons, engineer, medic, sniper, spy.
Controlling The Bot Horde
Once your bots are in, you’ll need to manage them. Here are the key commands for control:
tf_bot_kick all– Removes every bot from the server instantly.tf_bot_kick red– Kicks all bots from the RED team.tf_bot_kick "BotName"– Kicks a specific bot by its name (use quotes if the name has spaces).tf_bot_force_class medic– Forces all bots to switch to the Medic class. Useful for creating medic-heavy practice scenarios.tf_bot_difficulty– This is a crucial command. It sets the skill level for newly added bots. The range is 0 to 3.tf_bot_difficulty 0is Easy, 1 is Normal, 2 is Hard, and 3 is Expert. Expert bots are surprisingly competent with hitscan weapons and will punish predictable movement.
Advanced Configuration For A Better Bot Experience
Simply adding bots works, but a few extra steps will make your server feel much more polished and intentional. This involves creating a simple configuration file.
Creating An Auto-Exec Configuration File
The most professional way to manage your server settings, including bots, is with a config file. This is a plain text file with a list of console commands that run automatically when the server starts or when you execute it.
Navigate to your TF2 installation folder, then go to tf/cfg. If the ‘cfg’ folder doesn’t exist, create it. Inside, create a new text file and name it something like botpractice.cfg. Open it with Notepad or any text editor.
Here is an example configuration for a standard 12-player practice server:
// Bot Practice Server Configuration
mp_autoteambalance 0
mp_teams_unbalance_limit 0
tf_bot_difficulty 2
tf_bot_quota 10
tf_bot_quota_mode fill
mp_limitteams 0
sv_cheats 1
bot_chatter off
Let’s break down what these commands do:
mp_autoteambalance 0&mp_teams_unbalance_limit 0: Prevents the server from automatically scrambling teams or moving players, so your bot setup stays intact.tf_bot_difficulty 2: Sets new bots to Hard difficulty.tf_bot_quota 10: This is a “set and forget” command. It tells the server you want a total of 10 bots. The server will automatically add or remove bots to meet this number as human players join or leave.tf_bot_quota_mode fill: The server adds bots to fill empty slots up to the quota. The alternative is ‘match’ which tries to keep teams even.sv_cheats 1: Enables cheat commands, which is necessary for some advanced bot controls and practice commands like infinite ammo (sv_infinite_ammo 1).bot_chatter off: Silences the bots’ voice lines, which can get repetitive.
Save the file. Now, when you are in your server, simply open the console and type exec botpractice (without the .cfg). All those settings will apply instantly, and the server will begin populating itself with bots up to your quota.
Troubleshooting Common Bot Problems
Bots are generally reliable, but you might hit a few snags, especially on custom maps or community servers.
Bots Are Stuck Or Won’t Move
This is almost always a navigation file issue. TF2 bots use pre-computed “nav meshes” to understand the map’s layout. On official maps, these files are included. On custom maps, they are not.
If you add bots to a custom map and they spawn but stand completely still, the server is generating a nav mesh. You’ll see messages in the console like “Computing nav mesh for map…” You have two options:
- Wait: The generation can take several minutes. Let the server finish. Once done, the bots will start moving, and the nav file will be saved for future use.
- Pre-generate: You can manually generate the nav file before playing. Start a listen server on the custom map with bots, open console, and type
nav_generate. Wait for it to finish (you’ll see a “Nav mesh generation complete” message), then save it withnav_save. This file will be saved in the map’s folder for next time.
Bots Ignoring The Objective
Sometimes bots will seem to wander aimlessly, even on standard maps. First, ensure the game mode is actually running. Use mp_restartgame 1 to restart the round. If they still ignore the point or cart, the bot_force_task command can help. Forcing them to a specific task is complex, but often simply restarting the round or re-adding the bots fixes the AI’s priority system.
Server Not Adding Bots At All
If the tf_bot_add command does nothing, check a few things. Ensure you are on a map that supports the current game mode. Bots will not function in some training or special event maps. Also, verify you are the server host or have the necessary administrative privileges. On a locally hosted listen server (the kind you start from the in-game menu), you always have control.
Taking Your Bot Server To The Next Level
With the basics down, you can create truly unique experiences. Combine bot commands with other console cheats to set up specific practice drills.
Want to practice taking out Sentry nests? Set up a server, add several Engineer bots to the enemy team, and use host_timescale 0.5 to slow down time, giving you more room to plan your approach. Use sv_infinite_ammo 1 and tf_weapon_criticals 0 to create a consistent, predictable practice environment.
For a chaotic, fun experience with friends, set tf_bot_difficulty 3 and tf_bot_force_class spy on the enemy team. You’ll have a server full of Expert Spy bots, creating a hilarious and paranoid game of constant backstabs and cloak checks.
The key is experimentation. The console is your toolkit. Start with a basic quota, then tweak the difficulty, adjust classes, and combine settings until you have the perfect automated opponent for your needs.
Your Instant Action TF2 Server Is Ready
An empty server is a problem with a very simple and powerful solution. By mastering a handful of console commands, you transform a silent, empty box into a vibrant playground for practice, experimentation, and fun.
Start with tf_bot_add 10 to see immediate action. Then, create a simple .cfg file to automate your perfect setup. Remember to generate nav meshes for custom maps, and don’t be afraid to crank the difficulty to Expert once you get comfortable. Your private TF2 server is no longer a lonely outpost. It’s now a dynamic training ground, a sandbox for chaos, and a guaranteed source of instant fun, any time you want it.