CS2 Workshop Maps on a Dedicated Server: Load Custom Maps
Most community game modes in Counter-Strike 2, such as surf, bhop, aim training, retakes and KZ, run on custom maps from the Steam Workshop. A CS2 dedicated server can download those maps itself and host them, so you do not upload map files by hand. You give the server a Workshop ID, in a field in the panel or with a console command, and it fetches and loads the map.
This guide explains the commands for single maps and collections, how map rotation works with Workshop content, the open question about the Steam Web API key, how players receive the map, and what to check when a map will not load. Workshop hosting on CS2 dedicated servers is lightly documented by Valve, so claims below come from Valve's server documentation where it exists and from community documentation otherwise, and are labelled where sources disagree.
- Host one map by entering its ID in the Workshop map ID field on the Startup tab, or live with
host_workshop_map <id>on the Console tab. The ID is the number in the Workshop item's address. - Host a whole collection by entering its ID in Workshop collection ID; the server downloads every map and uses them as the rotation.
- Switch between downloaded Workshop maps by name with
ds_workshop_changelevel <mapname>; useds_workshop_listmapsto see valid names, which often differ from the Workshop title. - Whether a Steam Web API key (
-authkey) is needed is reported inconsistently. Try without it first; there is no Startup field for it, so contact support if downloads fail with a correct ID. - Items must be public, first downloads can be slow, and players download the map from Steam when they join.
On this page
- How Workshop maps reach a CS2 server
- How to do this on a ChicagoServers server
- Load a single Workshop map
- Host a collection and rotate maps
- The Steam Web API key question
- Map name vs Workshop ID, and why map groups get ignored
- Size, loading time and how players download
- Common custom map types
- Troubleshooting maps that will not load
- Frequently asked questions
How Workshop maps reach a CS2 server
On a dedicated server, a Workshop map is identified by its numeric Workshop ID. When you give the server that ID, it contacts Steam, downloads the item if it is missing or out of date, and loads it. You never copy the map file yourself, and you do not host it for players: Steam delivers it to them.
Open the map's Workshop page in a browser and look at the address. The number after id= is the ID. The page title, however, is not what the server uses to switch maps later; that is the internal map name, covered below.
| Term | What it is | Example |
|---|---|---|
| Workshop ID | Numeric ID of a map or collection | 1234567890 (placeholder) |
| Collection | A Workshop list of items, with its own ID | Your server's surf rotation |
| Map name | The name of the map file inside the item | Can differ from the Workshop title |
| Map group | A named list of maps used for rotation | Created from a collection, or defined in the game's mode files |
How to do this on a ChicagoServers server
- Get the ID
Copy the number after
id=from the map's or collection's Workshop page. Confirm the item is public; private or friends-only items cannot be downloaded by a server. - Open the Startup tab
Sign in at panel.chicagoservers.co, open your server, then the Startup tab.
- Enter the ID
Put a single map's ID in Workshop map ID, or a collection's ID in Workshop collection ID. Set Game mode to suit the map (Custom is the usual base for Workshop and minigame maps).
- Save and restart
Click Save startup, then Restart at the top of the page.
- Watch the Console tab
The first download can take a while. Open the Console tab and read the progress rather than restarting, because a restart only restarts the download.
To load a map without restarting, use the Console tab: type host_workshop_map followed by the ID and press Send (RCON is handled for you). A console change lasts until the next restart; the Startup fields decide what the server starts with. Use one rotation source: either Map or Map group, or the Workshop fields, as explained further down.
Load a single Workshop map
There are two entry points: a panel field for startup and a console command for a live change.
- Get the ID
Copy the number after
id=from the map's Workshop page. Confirm the item is public; private or friends-only items cannot be downloaded by a server. - Load it from the console
On the Console tab, run the command with your ID and press Send. The server downloads the map the first time, then changes to it.
host_workshop_map 1234567890 - Or load it at startup
Enter the ID in Workshop map ID on the Startup tab, click Save startup and Restart, so the server boots straight into the map.
Running the command again checks for a newer version and downloads it. Be careful with that behaviour on a server you want stable: if the author publishes a broken update, your server picks it up. A collection that you control lets you remove a map from the rotation if its latest update breaks it, but it cannot hold an older version of that map.
Host a collection and rotate maps
A Workshop collection lets one ID stand for many maps. Enter the collection's ID in Workshop collection ID on the Startup tab (the game's own launch parameter is +host_workshop_collection), then Save startup and Restart. Community documentation describes the result: the server downloads every map in the collection, builds a map group from them, and hosts it, so the collection becomes your rotation.
+host_workshop_collection 1234567890To move between maps manually, use the Workshop-specific commands on the Console tab, which work with maps already on the server:
| Command | What it does | Notes |
|---|---|---|
ds_workshop_listmaps | Lists the Workshop maps present on the server | Empty until something has downloaded |
ds_workshop_changelevel <mapname> | Changes to a downloaded Workshop map by its map name | Name comes from the list, not the Workshop title |
host_workshop_map <id> | Downloads (if needed) and changes to a map by ID | Use for a map not yet on the server |
changelevel <map> | Changes to an official map | For the stock map pool |
- Add or remove maps by editing the collection on Steam, then click Restart so the server re-reads the list.
- Map votes and nominations are not part of the base game. Communities usually add them with a plugin; see the Metamod and CounterStrikeSharp guide and treat any such plugin as third-party software.
- Classic
mapcycle.txtworkflows from older games are reported by community documentation to be unreliable or unsupported on retail CS2 servers. Plan your rotation around a collection or a map group instead. - Game-mode settings still matter. A surf map under competitive rules plays badly. Set the Game mode field, and the cvars the map author recommends in the Configs tab: see the server.cfg and game modes guide.
The Steam Web API key question
In CS:GO, loading Workshop content on a dedicated server required a Steam Web API key passed with the -authkey launch parameter. For CS2 the picture is less clear, and community guides disagree. Some state that single maps and collections work with only a Game Server Login Token; others still tell you to add an API key, especially for collections; and one host guide says explicitly that no key is needed.
Because I could not find a Valve statement that settles it, treat it as a troubleshooting step:
- Start with only your Game Server Login Token (the Game server login token field), which you need anyway for an internet-listed server (see the GSLT token guide).
- If the console shows download errors even though the ID is right and the item is public, create a Steam Web API key on a Steam account you control.
- Contact support and ask for it to be added as the
-authkeylaunch parameter. There is no Startup field for it, and the command line is staff-only.
Map name vs Workshop ID, and why map groups get ignored
The ID is only used to fetch the item. Once the map is on the server, you switch by map name. That name is whatever the author called the map file, and it often does not match the item's title or even look like it. Always run ds_workshop_listmaps and copy names from the output rather than guessing.
If you already use official map groups, expect the Workshop settings to take priority. Community documentation reports that when a Workshop map or collection is set at startup, a map group or start map you also configured is overridden. The mode files that define official map groups live in the game files and can be overwritten by game updates, so keep any copies you edit under version control or in your own backup.
The practical rule: choose one rotation source. Either an official map group (the Map group and Map fields), or a Workshop map or collection (Workshop map ID or Workshop collection ID), rather than a mix, unless a guide for your specific setup says it works.
Size, loading time and how players download
Players do not need to install the map beforehand. When they connect, their game downloads the Workshop item from Steam, then joins. That means:
- A large map, or a slow connection, means a long first join. Players should wait out the download instead of reconnecting repeatedly.
- The traditional "FastDL" web download that CS:GO servers used for custom files is not how Workshop content is delivered in CS2; host guides state it is not supported for Workshop maps.
- The first download on the server can also take a while. During it the server may look frozen. Check the console and be patient: restarting only restarts the download.
- Many large maps use disk space on the server. Remove collections you no longer use. You can check what is stored on the Files tab.
- Host guides report that players receive the version that matches what the server hosts, which is also why an author's breaking update affects everyone at once.
Servers hosted close to your players also make the join and the play smoother. A Chicago location suits the Midwest and US East; the performance and lag guide explains how distance and CPU affect gameplay.
Common custom map types
Workshop maps are categorised by the kind of play they support. This list is descriptive, not a recommendation:
| Type | What players do | Server considerations |
|---|---|---|
| Surf | Slide down angled ramps without touching the ground | Often wants movement cvars set as the map author recommends |
| Bhop | Chain jumps for speed through obstacle courses | Movement settings, and sometimes a plugin; follow the map author's instructions |
| KZ (Kreedz) | Climb timed obstacle courses | Often relies on a plugin or specific mode settings for timers and records |
| Aim and aim-training | Short-range shooting practice with bots or targets | Mostly bot and round-time cvars |
| Retakes | Practice retaking a bombsite after a plant | Typically needs a retakes plugin to manage rounds |
| Deathmatch and arenas | Quick fights without bomb objectives | Respawn and game-mode settings matter |
For any custom map, read the map's Workshop page and comments first. Authors often list the cvars, game mode and plugins their map expects, and those instructions override anything generic. A map that behaves oddly (random spawns, wrong team balance, auto-kicks) is frequently a mode setting, not a broken download.
Troubleshooting maps that will not load
| Symptom | Likely cause | What to try |
|---|---|---|
| Server stays on the old map after the command | Run on a client, or the download is still going | Run it on the Console tab; read the output for download progress |
| "Unknown command" for the Workshop command | Typed in your game console, not the server's | Use the Console tab or an RCON client; see the RCON and admin commands guide |
| Download errors with a correct ID | Item not public, Steam outage, or an API key requirement | Confirm the item is public; try again; ask support about an API key if needed |
ds_workshop_changelevel says unknown map | Wrong name, or the map is not on disk yet | Run ds_workshop_listmaps; use host_workshop_map with the ID first |
| Collection does not load | Collection or items private, wrong ID, or conflicting map group settings | Check each is public and the ID is the collection's; clear conflicting Map group and Map fields on Startup |
| Players time out on join | Large map download on a slow link | Ask them to wait for the download; players can also subscribe to the map on its Workshop page ahead of time |
| Map loads but plays wrong (spawns, teams, kicks) | Mode settings not matched to the map | Follow the author's instructions; adjust game mode and cvars |
| Map worked yesterday, broke today | Author published an update or CS2 updated | Remove the map from your collection until the author fixes it; check the Workshop page |
On a ChicagoServers CS2 server, read the Console tab for download progress, open Troubleshoot if the server fails to start, and make a backup on the Backups tab before experimenting with new collections.
Frequently asked questions
How do I load a Workshop map on a CS2 dedicated server?
On ChicagoServers, enter the numeric Workshop ID in the Workshop map ID field on the Startup tab, click Save startup and Restart. To change map live, run host_workshop_map followed by the ID on the Console tab. The server downloads the map and loads it. The item must be public.
How do I use a Workshop collection?
Enter the collection ID in the Workshop collection ID field on the Startup tab, then Save startup and Restart. Community documentation reports the server downloads every map in the collection and uses them as the map group for rotation.
Do I need a Steam Web API key (authkey) for CS2 Workshop maps?
Sources disagree. CS:GO required -authkey; some CS2 guides say it is not needed, others still recommend it. Try with only your Game Server Login Token, and if Workshop downloads fail despite a correct ID, contact support, since there is no Startup field for it.
Why does ds_workshop_changelevel say the map is unknown?
It takes the map name, not the Workshop title or ID, and only works for maps already on the server. Run ds_workshop_listmaps for valid names, or load the map first with host_workshop_map and its ID.
Do players need to download the map before joining?
No. Their game downloads the Workshop item from Steam when they connect. Large maps take longer on the first join.
Can I use mapcycle.txt with Workshop maps?
Community documentation reports that the classic mapcycle workflow is not a supported way to rotate maps on retail CS2 servers. Use a Workshop collection or a map group, and a plugin if you want votes.