Run a TF2 Server with Custom and Workshop Maps

TF2 ships with 238 official maps, and the community has thousands more. A server can play them from the Steam Workshop or from files you put on it.

Workshop maps

A Workshop map is played as workshop/<id>, the number at the end of its Steam link: changelevel workshop/<id>, or the same as the starting map. The server downloads it from Steam and players get it when they join.

Uploaded maps

A .bsp in tf/maps (or tf/custom/<folder>/maps) plays by its name; the server loads plain .bsp files only (.bsp.bz2 is the compressed form FastDL serves). Players download a map from the server when they join, up to net_maxfilesize: 16 MB by default, 64 MB at most. For bigger maps, or faster downloads, set sv_downloadurl to a FastDL web server holding bz2-compressed copies.

The map cycle

mapcyclefile names a text file of maps, one per line; the server moves to the next one when a map ends (mp_timelimit, mp_maxrounds or mp_winlimit). With SourceMod's MapChooser, players vote among them instead.

Tip:On Flux the Maps tab does all of it: play any map now, paste a Workshop link, upload a .bsp, and build the map cycle in order.

Frequently asked questions

How do I add a Workshop map to my TF2 server?

Use workshop/<id> as the map: changelevel workshop/<id> in the console, or paste its link in the Maps tab on Flux.

How do I set a map rotation?

Write the maps into a file named by mapcyclefile in server.cfg. On Flux, the Maps tab's map cycle writes both.

Related Team Fortress 2 guides