Skip to content
Browse the docs

Workshop docsBuilding maps

Multiplayer maps

Spawn points, item respawn timing (including Black Mesa's hard respawns), and how players start your map from the Host menu.

Multiplayer maps are built and compiled like any other (Building and compiling a map), with a few extra things to set up.

Naming

Start the file name with dm_, as Black Mesa's own multiplayer maps do (dm_gasworks, dm_crossfire). Players and server owners recognise it, and it keeps your map out of the way of singleplayer chapter matching. Then add something unique: dm_pumpstation is fine; a second dm_crossfire isn't.

Spawn points

ModeEntity
Deathmatchinfo_player_deathmatch
Team Deathmatchinfo_player_marine (Marines) and info_player_scientist (Scientists)

Place more spawns than the most players you expect. Players spawn at random free points, so too few means people spawn on top of each other or in each other's sight lines. For comparison, Gasworks has 24 spawns but is recommended for up to 16 players.

If your map supports both modes, place both sets.

Weapons, ammo and pickups

Weapons are item_weapon_* entities (item_weapon_shotgun, item_weapon_gluon, …), ammo is item_ammo_*, and there are item_healthkit, item_battery, item_longjump and wall chargers (item_healthcharger, item_suitcharger).

Every pickup has a Respawn Time in seconds (15 by default).

Hard respawns

By default, a pickup reappears a set time after it's picked up. Black Mesa adds a Hard Respawn flag (on the pickup's Flags tab) that makes it reappear on a fixed schedule instead, whether or not anyone took it.

That makes powerful items predictable, which competitive players appreciate. For example, a Gluon Gun in the middle of the map with Hard Respawn and a Respawn Time of 120 appears every two minutes on the dot. In a 10-minute match, that's at 10:00, 8:00, 6:00, 4:00 and 2:00 on the clock, so players can plan their route around it.

Loading screen

Multiplayer maps need a maps/<mapname>.txt file and a set of generated images, or the loading screen is blank and the map has no display name. Follow the multiplayer steps in Loading screens.

Starting your map

Once your map is on the Workshop, players can pick it on the Host screen in the main menu. Subscribed Workshop maps appear at the end of the map list, after the official maps, as long as:

  • The file name starts with dm_ or tdm_. Other maps from Workshop items aren't listed.
  • The item is packed as a VPK. The game doesn't mount Workshop items that are just loose folders, so their maps can't be played at all. See Packing a VPK.

The caption is the file name without dm_, so dm_pumpstation shows as pumpstation. For the thumbnail, the Host screen uses your first loading-screen image (materials/vgui/multiplayer/map_backgrounds/<mapname>_0_widescreen_16_10.vtf), the same image the official maps use. If your map doesn't have one, it uses your Workshop preview image instead. See Loading screen.

Testing before you publish

Maps that aren't from the Workshop, such as your own test copy in bms/maps/ or bms/custom/, don't appear on the Host screen. Start them from the console:

maxplayers 12
map dm_mymap

To test with friends, have them connect to you (connect <your IP>) or run a dedicated server.

On a dedicated server

  • Add the map to the server's mapcycle.txt so it comes up in rotation.
  • Pack the loading screen .txt and images into the .bsp with bspzip (or Compile Pal or VIDE), so joining players download one file.
  • If your map uses custom materials, models or sounds, pack those into the .bsp too, or players without the Workshop item will see missing textures and ERROR models.

More on game modes

The Valve Developer Community covers Black Mesa's game modes, such as Elimination, and related entities like game_mp_gamerules and game_round_win, in its Black Mesa level design category.