Add Workshop maps
Host maps from the Steam Workshop via a collection and host_workshopcollection, then set the mapcycle.
Add Workshop maps
CS2 and CS:Source can load custom maps from the Steam Workshop. The server downloads a collection’s content and clients do the same automatically on connect. This avoids distributing files manually.
Cause / The problem
Without a server-side Workshop declaration, the map does not exist on the server and the change fails with map not found. And if clients do not download the map, they get kicked on map change. On CS2 (Source 2), the system uses host_workshopcollection and the maps cvar, different from CS:GO’s old host_workshop_map.
Solution
- Create a Workshop collection on Steam. Add the maps you want and note the collection ID (e.g.
3123456789). - Declare the collection at startup in the panel Variables:
The server downloads and mounts every map in the collection at boot.+host_workshopcollection 3123456789 - For a single map, use the dedicated cvar:
host_workshop_map 3077838798 - Set the mapcycle in
game/csgo/mapcycle.txt(CS2) orcstrike/mapcycle.txt(CS:S) to include the map name:de_dust2 de_mirage de_my_custom_map - Set the startup map in the startup parameters:
+map de_my_custom_map - Enable client download (clients fetch the map on connect):
Withsv_allowdownload 1 sv_allowupload 0host_workshopcollection, the download goes through the Steam Workshop — no need forsv_downloadurl. - Restart the server. Check the logs: the map must appear as loaded with no
map not founderror. - If you get
map not found, check that the name inmapcycle.txtmatches the.bsp/.vpkfilename exactly and that the collection is public.
For CS:Source (Source 1), the built-in Workshop is not available the same way: you must drop the .bsp files manually into cstrike/maps/ and list them in mapcycle.txt.