← All guides

Shooters · Server guide

How to host a Team Fortress 2 server: map cycles, SourceMod and workshop maps

Run your own Team Fortress 2 server: tokens, server.cfg, map cycles, workshop maps, SourceMod plugins and how GGHOST Cloud sets it up for you on request.

GGHOST Cloud team26 October 20265 min read

Team Fortress 2
  • Starts at On request
  • Recommended RAM Sized for you
  • Ready in A few days
  • Control panel Pterodactyl

Team Fortress 2 has kept its community servers going for well over a decade, and running your own is still the best way to play it the way you like: a friendly 24/7 2Fort, a trade server, a custom map rotation, a jump or surf community, or a private server for your group. The dedicated server is free, it runs on the Source engine, and almost everything about it lives in a few text files. This guide covers how the server works, what drives its load, the config that matters, SourceMod, and how we set one up for you on GGHOST Cloud.

How a TF2 dedicated server works

A TF2 server is the Source dedicated server (srcds) running the tf game. It simulates every player, projectile, sentry and payload cart, and sends updates to each client. Like other Source games, most of the simulation runs on one main thread, so a fast CPU core matters more than a large core count. When a full server starts to feel sluggish during a big push, that is usually the CPU, not the memory.

For a public server you should set a Steam Game Server Login Token (GSLT). You create one on Steam’s game server account management page and set it with sv_setsteamaccount, either as a startup parameter or in server.cfg. The token gives your server a persistent identity tied to your Steam account, so treat it like a password and revoke it if it ever leaks.

What drives CPU and memory use

We do not publish fixed sizing numbers for TF2, because the load depends on what you run on it. The main factors are:

  • Player count. Every extra player adds projectiles, buildings and hit checks. A 24-player server is a different load from a 12-player one.
  • Bots. TF2 bots (tf_bot_add) are handy for filling a quiet server, but each one costs CPU like a player.
  • Plugins. SourceMod itself is light; a large stack of plugins running on every frame is not.
  • Custom maps. Some community maps have far more entities than the official ones.

Tell us your player count, maps and plugin list, and we size the server with you. You pay for memory, not player slots; maxplayers is a setting you choose.

Server config essentials

TF2’s config lives in tf/cfg/. Edit it from the panel’s file manager or over SFTP and restart, or exec a file from the console.

server.cfg

The main settings you will want to set:

  • hostname: the name in the server browser.
  • sv_password: set it for a private server, leave it blank for a public one.
  • rcon_password: a long password for remote admin.
  • mp_timelimit and mp_winlimit: how long each map runs before changing.
  • sv_pure: controls which custom client files players may use. Higher values are stricter and help keep a competitive server fair.

Map cycle

The rotation is a plain list of map names in mapcycle.txt, one per line. Mix modes freely: payload, control points, capture the flag, King of the Hill. When a map’s time or win limit is reached, the server moves to the next line.

Workshop maps

TF2 can load maps straight from the Steam Workshop by ID. Use workshop/<id> wherever you would use a map name, for example changelevel workshop/<id> in the console or as an entry in mapcycle.txt. The server downloads the map itself, and tf_workshop_map_sync <id> tells it to track a map and keep it up to date.

SourceMod and Metamod

TF2 is one of the games SourceMod was built for. The usual stack is:

  1. Metamod:Source, the loader.
  2. SourceMod, the plugin platform on top of it, with an admin menu, basic commands such as kick, ban and map change, and thousands of community plugins.

Admins go in addons/sourcemod/configs/admins_simple.ini by SteamID. Once SourceMod is in, admins can use sm_admin in-game for a menu instead of typing commands.

Give each moderator their own SourceMod admin entry and, if they need the panel, their own sub-user. Shared passwords are the first thing to go wrong when a moderator leaves.

Performance and fair-play tips

  • Pick the region closest to your players. Ping is mostly distance. Our live regions today are Singapore and Europe (France–Germany border), with the United States (East, Central and West), the United Kingdom, India, Japan and Australia on demand.
  • Restart daily. A scheduled restart at a quiet hour clears accumulated state and picks up game updates. Set it as a scheduled task in the panel, with an announcement first.
  • Keep the plugin list honest. Remove plugins nobody uses. Fewer plugins mean fewer things that can break after an update.
  • Use sv_pure on competitive or community servers where you want everyone playing with the same files.
  • Mind the bots. If you add bots to seed a quiet server, use a quota that drops them as real players arrive, rather than leaving a full team of bots running.

Adding maps and plugins safely

Upload .bsp maps to tf/maps and SourceMod plugins (.smx) to addons/sourcemod/plugins, then restart or reload and read the console. Two rules:

  • Match versions. A plugin compiled for an older SourceMod release, or one that relies on outdated game data, is the usual reason something stops working after a TF2 update.
  • Back up first. Take a backup from the panel before adding a big plugin or reworking your configs.

Backups

On GGHOST Cloud, backups run on a schedule you set and restore from the panel without opening a ticket. Plugin databases, admin lists, map cycles and custom configs are all worth protecting: a daily backup plus a manual one before every change covers it. Moving from another host is a matter of uploading your cfg, maps and addons folders over SFTP.

Getting a TF2 server on GGHOST Cloud

TF2 is set up on request rather than through instant checkout:

  1. Tell us what you need. Ask us on Discord (or open a ticket) with the game mode, maps or mods and player count you need.
  2. We size it and quote. We work out the right memory and CPU headroom and quote a monthly price. No setup fee, no contract; billing runs through app.gghost.cloud.
  3. We set it up on our Pterodactyl panel, usually within a few days.
  4. Add your token and share the address. Set your GSLT, start the server, and give players the address and port shown in the panel.

You then have the full panel at panel.gghost.cloud: live console, file manager, SFTP, scheduled tasks, sub-users, and a database if a plugin needs one. You can change startup flags from the panel and restart. Every node is behind DDoS protection from our network providers, and support comes from the people who run the servers, on Discord or at hello@gghost.cloud.

The short version

Set a GSLT with sv_setsteamaccount, put your rules in server.cfg, build your rotation in mapcycle.txt, and load community maps with workshop/<id>. Add Metamod and SourceMod for admin tools and plugins, keep them current after updates, restart on a schedule and back up before changes. When you are ready, ask us on Discord and we will set it up.

How it works at GGHOST Cloud

From request to running server.

  1. 01 Ask on Discord Tell us the Team Fortress 2 build, mods and player count you need.
  2. 02 We size it We recommend the RAM and region, and quote a monthly price.
  3. 03 We set it up Installed on our Pterodactyl panel, usually within a few days.
  4. 04 Invite your players Console, file manager, SFTP and backups, all in one panel.

Included on every server

The platform behind your Team Fortress 2 server.

Full Pterodactyl panel

Console, file manager, SFTP, scheduled tasks, sub-users and database access. Not a cut-down skin over it.

Backups on a schedule

Set the cadence you want and restore to a point in time from the panel, without opening a ticket.

DDoS protection included

Every node sits behind DDoS protection from our network providers, on every plan — not an upsell on the checkout page.

Switch version or build anytime

Change the server build, game version or startup flags from the panel and restart. No reinstall, no ticket.

Move region once per cycle

If your players move, the server can follow. We handle the world and config transfer.

No player-slot billing

You pay for memory. Slots are a config value you set, not a line item we charge for.

Team Fortress 2 server FAQ

Questions players ask us.

How do I run a workshop map on my TF2 server?

Use the map's workshop ID with the workshop prefix, for example changelevel workshop/<id>, or add that same entry to mapcycle.txt. The server downloads the map itself, and players get it when they join.

Can I run Mann vs. Machine on my own server?

Yes. Load an MvM map from the console or your map cycle and the server switches to MvM rules. The robot waves come from the map's mission files, and the mode is designed for a team of six defenders.

Want a Team Fortress 2 server?

Tell us what you need on Discord and we will size it and set it up on our Pterodactyl panel.