How to Add Custom Maps to a Sven Co-op Server (svencoop_addon)

Install Sven Co-op map packs on a server: the svencoop_addon folder, mapcycle.txt, mapvote.cfg, sv_downloadurl fast downloads and broken map fixes.

Updated Oct 7, 2026 · 6 min read

On this page

To add a custom map to a Sven Co-op server, extract the map pack into the server's svencoop_addon folder (not svencoop), so the .bsp lands in svencoop_addon/maps, then add the map name to mapcycle.txt and switch to it with changelevel mapname in the server console. Players download the files automatically when they join, and setting sv_downloadurl makes that download much faster.

Most of what keeps a Sven Co-op community going is custom content: two decades of maps on the community run Sven Co-op map database (scmapdb), plus campaign packs that run for hours. Getting them onto a server is simple once you know the folder rules. If the server itself is not running yet, start with how to host a Sven Co-op server.

Why svencoop_addon and not svencoop

The game folder svencoop belongs to the official install. Updates replace files in it, and stray files from a map pack can overwrite stock models or scripts. The official manual says to extract unofficial content into svencoop_addon instead. The engine reads that folder alongside the main one, so maps placed there work exactly the same, and a broken pack can be removed without touching the base game.

The layout mirrors the game folder:

svencoop_addon/
  maps/        .bsp maps, .res resource lists, map .cfg files
  models/      custom monsters, weapons, player models
  sound/       custom sounds and music
  sprites/     effects and HUD sprites
  gfx/env/     skybox textures
  scripts/maps/  AngelScript files some maps need

Step 1: Check the pack before you upload

Open the zip on your own PC first. A good map pack already has the folder layout above at its top level. Three things to look for:

  1. An extra wrapper folder. If the zip contains mymappack/maps/..., upload what is inside mymappack, not the folder itself.
  2. A scripts folder. The manual warns to inspect these: in a map pack, scripts should normally contain only a maps subfolder. Anything in scripts/plugins would change how your whole server behaves, not just the one map.
  3. Files named like stock content. A pack that ships its own server.cfg, mapcycle.txt or default_plugins.txt will replace yours. Delete those from the pack before uploading.

Step 2: Upload into svencoop_addon

Stop the server, then copy the contents of the pack into svencoop_addon, merging with the folders already there. On a home server that is a normal file copy. On a hosted server, use SFTP for anything bigger than a handful of files; it is faster and resumes if the connection drops. Our SFTP for game servers guide covers the client setup.

Map names are the .bsp file names without the extension. A pack that contains maps/mycampaign1.bsp gives you a map called mycampaign1. Note the first map of a campaign: the rest usually chain on by themselves through level changes inside the map.

A co-op map in Sven Co-op

Step 3: Add it to the map cycle

mapcycle.txt in the svencoop folder controls what plays next when a map ends or times out. It is one map name per line:

svencoop1
hl_c01_a1
mycampaign1
stadium4

For a campaign, list only its first map. The campaign's own level changes handle the rest, and the cycle picks up again once it finishes. The server reads the file named by the mapcyclefile variable, which is mapcycle.txt unless you changed it.

To jump straight to a map without waiting for the cycle, type in the server console:

changelevel mycampaign1

Or queue it as the next map with mp_nextmap_cycle mycampaign1. From inside the game, admins can do the same through RCON or an admin plugin; see how to become admin on a Sven Co-op server.

Step 4: Let players vote for it

The in game map vote reads a separate list, mapvote.cfg, where each map gets its own line:

addvotemap svencoop1
addvotemap hl_c01_a1
addvotemap mycampaign1

Keep the list sensible. The official configuration manual warns that more than 200 maps in the vote list may stop players from joining. mp_votemaprequired sets the percentage of yes votes needed (66 by default).

Step 5: Make downloads fast with sv_downloadurl

When a player joins and lacks the map, the game server sends it to them. That works, but it is slow, and a campaign with custom models and music can take minutes. Two fixes:

Fast download. Upload a copy of your svencoop_addon content to any plain web host with the same folder layout, then add this to server.cfg:

sv_downloadurl "http://files.example.com/svencoop/"

The trailing slash is required. Clients then pull the files over HTTP, which is far quicker than the in game transfer.

Hand out the pack. For a fixed group, sharing a zip in your Discord works well. Players unzip it into their own svencoop_addon folder (or the svencoop_downloads folder the game uses for downloaded content) and connect with everything already in place.

Sven Co-op gameplay on the Half-Life engine

Survival mode and other per map settings

Many custom maps ship a mapname.cfg in the maps folder. It runs when that map loads and can set things like survival mode support (mp_survival_supported), starting weapons or a different time limit, so one map can behave differently from the rest of your rotation without touching server.cfg. If a map feels wrong (no respawns, weird gear), read its .cfg before blaming the server.

When a custom map will not load

Symptom Likely cause
Server stops when switching to the map Typo in the map name, or the .bsp went into the wrong folder
Server will not start at all The start map is a custom map that has not been uploaded yet
Players kicked with a missing file message A model, sound or sprite the map needs is missing from svencoop_addon
Map loads but scripted events never fire The map's AngelScript files are not in scripts/maps
Players stuck on "downloading" Large pack and no sv_downloadurl, so the server is sending it slowly

The .res file next to a .bsp lists everything that map needs. If players get a missing file error, check that each path in it exists on the server.

Doing this on a GamezServers server

On a hosted Sven Co-op server the steps are the same, without the PC. Upload the pack to svencoop_addon over SFTP or with the file manager, edit mapcycle.txt and mapvote.cfg in the browser, and use the live console for changelevel. Only set a custom map as the Default Map in the panel after its files are uploaded, because the server will not start on a map it cannot find. Take a one click backup before you drop in a large pack, so you can roll back if it overwrites something. A community running big map packs usually sits on the 4 GB plan, and you can change plans from the panel any time.

FAQ

Where do I put custom maps on a Sven Co-op server?

In svencoop_addon/maps for the .bsp files, with the pack's models, sounds and sprites in the matching folders under svencoop_addon. Keep them out of the main svencoop folder.

Do players need to download the map pack themselves?

No, the server sends missing files when they join. It is slow without sv_downloadurl, so many groups also share the pack for regulars to install ahead of time.

How do I change the map on a running server?

Type changelevel mapname in the server console, or use RCON from the game. To set what plays next instead, use mp_nextmap_cycle mapname.

Can I run a whole campaign like They Hunger in the rotation?

Yes. They Hunger ships with the game. For any campaign, put only its first map in mapcycle.txt and the campaign's own level changes carry players through.

How many maps can I add to the vote list?

The official manual warns that more than 200 maps in mapvote.cfg may stop players from joining. Keep the vote list to your best maps and leave the rest for admins to load by hand.

Skip the setup. Your own Sven Co-op server.

$2.49USD first month

Then $4.99/mo. Just trying it? $1.25 for 3 days

Keep reading