Workshop maps expand your CS2 server with training, fun, and community maps without you having to manually distribute map files to players. What matters is the correct Workshop ID, a clean startup command, suitable rotation entries, and a quick join test before you use the map publicly.
Prerequisites
You need access to the server console or RCON, the Workshop ID of the desired map, and write access to your CS2 server's configuration files. At game-serverhosting, this workflow fits the positioning of paid multi-game hosting: you keep technical control over startup parameters, configuration, and operations, while still being able to work through issues in a structured way with support and logs.
The official basis for Workshop content is Valve's Steam Workshop. Valve describes the Workshop as a platform where community content can be published and subscribed to: documentation at steamcommunity.com. For CS2 servers, that means in practice: you reference Workshop content through its numerical ID and load it server-side using suitable console commands.
If you first want to check the general server setup, the internal guide on Rent a CS2 Server: Settings, Plugins & Workshop Maps 2025 helps. For related Source server structures, the guide on Configuring a Team Fortress 2 Server: Maps, Mods, and Settings is also useful, even though commands and file paths are not identical one-to-one.
Finding the Workshop ID
Open the desired map in the Steam Workshop. The URL normally contains a numerical ID, for example after ?id=. This number is the Workshop ID you need for host_workshop_map or for a Workshop collection. Copy only the number, not any additional URL parameters.
Also check whether the map is intended for Counter-Strike 2. Older Counter-Strike Workshop content or maps for other games may be unusable on a CS2 server. If a map does not load, an incorrect or incompatible Workshop ID is one of the most common causes.
Starting a Workshop Map
Via RCON or console:
host_workshop_map <workshop_id>
Example for a popular aim map:
host_workshop_map 3070194623
The command loads the specified Workshop map and sets it as the active map. If you run the command via RCON, the server log or console should show whether the Workshop content was found and loaded. Wait briefly after running the command before doing the join test, because the server and clients first need to process the map.

Loading a Workshop Collection
For a collection of maps:
host_workshop_collection <collection_id>
A collection makes sense if you want to manage several training or fun maps. Instead of starting each map individually, you reference the collection. Make sure the collection contains only maps you actually want to use on the server. Unclear or mixed collections make troubleshooting harder later, because you cannot immediately see which individual map is blocking the change or download.
Map Rotation with Workshop Maps
For a fixed rotation, add the Workshop map to gamemodes_server.txt. You can keep existing standard maps and add Workshop maps alongside them.
{
"maps": {
"de_dust2": {},
"de_mirage": {},
"workshop/3070194623/aim_botz": {}
}
}
The important part is the format workshop/<workshop_id>/<mapname>. The Workshop ID must match the map, and the map name must match the actual map name. If you are unsure, first load the map with host_workshop_map, check the map name shown in the output, and then add it to the rotation.
After changing gamemodes_server.txt, you should restart the server or at least reload the configuration, depending on how your setup is operated. For production community servers, a short maintenance notice is useful so active players are not unexpectedly dropped from a round.
Popular Workshop Maps
| Map | Type | Description |
|---|---|---|
| Aim Botz | Training | Aim practice with bots |
| Recoil Master | Training | Practice spray patterns |
| Prefire Maps | Training | Practice prefire spots |
| Surf Maps | Fun | Surf gameplay |
| KZ Maps | Fun | Climbing/movement |
| Retake | Competitive | Retake scenarios |
These examples are typical categories for CS2 community servers. Before using one, always check the specific Workshop page, how up to date the map is, and compatibility with your desired game mode. For training servers, a few clearly named maps are often enough. For public fun servers, a short rotation is better than a long list that players do not recognize.
Creating Your Own Maps
If you want to use your own content, the basic process is:
- Open the Hammer 2 Editor (included in the CS2 SDK)
- Create and compile the map
- Publish it in the Workshop
- Load it on the server
Only publish your own maps for live server use after spawn points, collision surfaces, buy zones, and team logic have been checked. A local test saves support effort later, because many map issues are not caused by the hosting but by incomplete map settings.
Checking the Result
Start the server with the desired map or switch to it using a command. Then connect as a normal client, not only through the server console. Check three things: Does the map load, does the client download start, and can multiple players join? After that, you should test a map change so the rotation works on more than just the first map.
For a manual change, you can use these commands depending on the situation:
changelevel <mapname>
or:
map <mapname>
If you use Workshop paths in the rotation, test the exact name entered there. Small deviations are enough to make the change fail.
Troubleshooting
- Map does not load: Check the Workshop ID. Open the Workshop page again and copy the numerical ID directly from the URL.
- Players cannot join: The map must be downloaded via the Workshop. Test with a client that does not already have the map locally.
- Map change fails: Use
changelevel <mapname>ormap <mapname>and check the exact map name. - Rotation skips a map: Check the entry in
gamemodes_server.txtfor format, commas, and curly braces. - Collection is confusing: Test an individual map with
host_workshop_mapbefore using the entire collection in production.
Verification, Limits, and a Safe Rollback
The guide "Load CS2 Workshop Maps on the Server" applies to the server type described in the article and the version state visible at the time of review. Menu names, available versions, mod or plugin compatibility, and required resources may differ after updates. Therefore, do not transfer values to another game, loader, or server version without checking them first.
Before making changes to the world, savegame, configuration, or extensions, create a backup of the affected files. Then change only one related step at a time and test it with the same client and server version you want to play with later.
| Checkpoint | Expected Result | Abort and Rollback |
|---|---|---|
| Server start | The server reaches the ready-to-use state without a new error message. | If startup errors occur, revert the change and restore the latest backup. |
| Connection test | A test account can connect through the address shown in the panel. | If version or connection errors occur, compare the version, port, and firewall rules again. |
| Function test | The specifically changed function works without damaging existing world or game data. | If side effects occur, stop the server and restore the backed-up files. |
A successful individual test is not a performance or availability guarantee. World size, mods, plugins, player count, network route, and simultaneous load can change the result. Document the version, change, and test result so you can understand later deviations.
FAQ
Can I load any Steam Workshop map on a CS2 server?
No. The map must be suitable for CS2 and correctly published in the Workshop. Maps for other games or older, incompatible content may fail.
What is the difference between host_workshop_map and host_workshop_collection?
host_workshop_map loads a single Workshop map through its ID. host_workshop_collection loads a collection that can contain multiple Workshop items.
Do I also have to upload Workshop maps to the server?
In this workflow, you reference the map through the Steam Workshop. What matters is that the Workshop ID is correct and clients can download the map when joining.
Why does the map work in the console but not in the rotation?
In that case, the rotation entry is usually wrong. Check the path workshop/<workshop_id>/<mapname>, the exact map name, and the JSON structure in gamemodes_server.txt.
Should I test Workshop maps before public use?
Yes. At minimum, test startup, client download, joining, and map changes. This lets you quickly see whether the ID, map name, game mode, and rotation fit together.