Adding Custom Campaigns and Maps to L4D2
Install custom campaigns and maps on your L4D2 server using VPK packages or raw BSP files. Covers the addons directory, loading custom maps via changelevel, and workshop campaign setup.
Custom Campaigns and Maps on L4D2
L4D2 supports custom campaigns via VPK packages or raw BSP/NAV files. Adding custom content to your server allows players to enjoy community-made campaigns.
Method 1 — VPK Packages (Recommended)
Most custom L4D2 campaigns are distributed as .vpk (Valve Package) files. This is the cleanest installation method.
Step 1 — Download the campaign VPK
Find campaigns at:
- GameMaps.com — L4D2
- Steam Workshop (for singleplayer campaigns that also work on dedicated servers)
Step 2 — Upload to the addons directory
scp MyCampaign.vpk user@YOUR_IP:/home/steam/l4d2-server/left4dead2/addons/
Step 3 — Load the campaign
Find the first map's name from the campaign's readme or GameMaps page:
changelevel custom_campaign_map1
Method 2 — Raw BSP Files
For campaigns distributed as .bsp (and .nav) files:
Upload to the maps directory:
scp custom_map.bsp user@YOUR_IP:/home/steam/l4d2-server/left4dead2/maps/
scp custom_map.nav user@YOUR_IP:/home/steam/l4d2-server/left4dead2/maps/
Load the map:
changelevel custom_map
Important Notes for Players
Custom campaigns must also be installed by all players before joining. Players can:
- Download from the same source (GameMaps.com etc.)
- Subscribe via Steam Workshop (if the campaign is published there)
Players without the campaign files will be unable to load the map and may crash or disconnect.
Cycling Custom Maps with Official Maps
You can mix custom and official maps in your server rotation. With SourceMod's mapchooser plugin, create a mapcycle.txt:
nano /home/steam/l4d2-server/left4dead2/cfg/mapcycle.txt
One map per line:
c1m1_hotel
c2m1_highway
custom_campaign_map1
c5m1_waterfront
Campaign-Specific Game Mode
Some custom campaigns only work correctly in coop mode. Check the campaign's description for mode compatibility:
mp_gamemode coop
changelevel custom_campaign_map1
Troubleshooting
Map not found error:
- Verify the
.bspfile is inleft4dead2/maps/and the name matches exactly (case-sensitive on Linux) - For VPK files, confirm they're in
left4dead2/addons/ - Restart the server after adding new files so they're indexed
Players crash when loading:
- Players need the same campaign files as the server
- Ensure all files (
.bsp,.nav,.vpk) are complete and not corrupted — re-download if needed
Campaign looks broken in-game:
- Some campaigns require specific nav meshes (
.nav) to function correctly with AI - Download the
.navfile separately from the campaign's page if included