How to Run Workshop Maps on Your CS2 Server
Run custom maps from the Steam Workshop on your Counter-Strike 2 server - a single map or a full collection with rotation.
How workshop maps work in CS2
Counter-Strike 2 pulls workshop maps straight from Steam. The server downloads the map itself on startup - you do not have to upload files or subscribe to the map.
There are three things to know before you start:
- Manual uploads no longer work. The old method with
.vpkfiles in themapsfolder and FastDL is not supported by Valve in CS2. Everything goes through the Steam Workshop. - The map has to be public. The server cannot download private or unlisted workshop items.
- Players have to download the map. They get a prompt to download it the first time they join.
If you also want your server listed in the server browser you need a valid token. See Game Server Login Token (GSLT) for CS2.
Step 1 - Find the workshop ID
Open the map page in the Steam Workshop and look at the address:
https://steamcommunity.com/sharedfiles/filedetails/?id=3070244462
The number after ?id= is the workshop ID - 3070244462 in this example. That is all you need.
Step 2 - Run one specific map (the easiest method)
- Log in to the Potionhost control panel and select your CS2 server.
- Stop the server.
- Go to the Startup tab and add the following to the startup parameters:
+host_workshop_map 3070244462
- Start the server again.
The first startup takes longer than usual because the server is downloading the map from Steam. Watch Console to follow the download.
If your setup insists on a start map, leave
+map de_dust2before+host_workshop_map. The workshop parameter overrides it anyway.
Step 3 - Change map on a running server
You do not need to restart to switch to another workshop map. Type this in Console:
host_workshop_map 3070244462
The server downloads the map and switches to it right away.
Step 4 - Multiple maps: use a collection
If the server should rotate between several maps, gather them in a Steam Workshop collection.
- Create a collection on Steam with the maps you want and set it to Public.
- Copy the collection ID from the address - same principle as in Step 1.
- Get a Steam Web API key at steamcommunity.com/dev/apikey. The server needs it to read the contents of your collection.
- Add this under Startup:
+host_workshop_collection YOUR_COLLECTION_ID -authkey YOUR_API_KEY
- Start the server.
You can then control the rotation from the console:
| Command | What it does |
|---|---|
ds_workshop_listmaps |
Lists every map in your collection |
ds_workshop_changelevel mapname |
Switches to a specific map in the collection |
Note: Valve does not reliably support choosing a fixed start map when running a collection. The server decides which map it boots into.
Where are the downloaded maps stored?
The server keeps workshop content under:
steamapps/workshop/content/730/WORKSHOP_ID/
If a map has been updated and the server did not pick it up, delete that folder under Files and restart - the latest version is then downloaded from scratch.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| The server boots into a default map | The parameter is in the wrong place under Startup | Make sure +host_workshop_map comes after any +map |
Failed to load workshop map |
Wrong ID, or the map is private/unlisted | Check the ID and that the map is public |
| The server takes a long time to start | It is downloading the map for the first time | Wait - this only happens on the first download |
| The collection is ignored | Missing or wrong API key | Check -authkey and that the collection is public |
| Players are missing the map | They declined the download prompt | Ask them to rejoin and accept it |
| The server is not in the server browser | GSLT is missing | See the Game Server Login Token guide |
Good advice
- Write the workshop IDs down somewhere - they are easier to find again than map names.
- Large custom maps noticeably increase the first startup time. Do not restart the server in the middle of prime time.
- To let players switch to other workshop maps while the server is empty, set
sv_workshop_allow_other_maps 1. - Test a new map on an empty server before adding it to the rotation - not every custom map has spawn points for a full team.
Server cannot download your map? Send us the workshop link in a ticket and we will check it with you.