Skip to content

Maps ​

Which maps exist, which modes they play, and how the lobby decides what to offer.

The lobby's map pool ​

A map appears in a mode's room vote only when both are true:

  1. It is listed for that mode in config/maps.json (in the engine repo).
  2. Its map_<name>.pk3 is installed in public/data/.

Each room draws three maps at random from the pool for the vote, so a mode with fewer than three maps offers fewer. If public/data/ has no map files at all (a development checkout without game data), the lobby skips the disk check and offers every listed map. Amphi is the exception: it is only offered when its own map PK3s are installed.

MapNameModes
wdm1The EdgeFFA
wdm2Proving GroundsDuel, FFA
wdm5SinisterFFA
wdm7BrimstoneFFA
wdm11WDM11Duel
wdm12WDM12Duel
wdm14AerowalkFFA
wdm17Le ToxiquetDuel
acidwdm2Acid WarehouseDuel
wamphi1AmphitheatreAmphi
wda1Arena OneAmphi
wda2Arena TwoAmphi
wbomb2ReactorsS&D
wbomb6DepotS&D

The table shows the modes offered for the first release.

Playing any installed map ​

The lobby list is only what is offered by default. map <name> <gametype> in the console, or --map on a dedicated server, will load any installed map with any gametype, whether or not it is in maps.json. For instance map wbomb1 snd tries Search & Destroy on wbomb1, a bomb map the lobby does not currently list. It only works on maps that qualify as bomb maps (below). See Selecting a Gametype.

Bomb maps (wbomb*) qualify for Search & Destroy when they have bomb sites and team spawns. See Search & Destroy → Maps.

Adding a map ​

  1. Put the map's map_<name>.pk3 in public/data/ in the engine repo, and rebuild the manifest (npm run tools:manifest).
  2. Add an entry to config/maps.json with a displayName and the release gametypes it should be offered for (duel, amphi, ffa, snd).
  3. Restart the lobby server. The map list is read once at startup.

Maps are made in the engine's map editor; see the engine's documentation for building and compiling them.

Map entities this game uses ​

EntityEffectPage
trigger_teleport and misc_teleporter_destTeleporter, momentum-carryingMovement
trigger_push and target_positionJumppadMovement
SURF_LADDER brushesLaddersMovement
Water, slime and lava volumesSwimming, drowning, damageMovement
Moving brush models (doors, platforms)Lifts, with crush damageMovement
weapon_*, ammo_*, item_health_*, item_armor_*, item_quadPickupsPickups
Bomb site markers and team spawnsSearch & DestroySearch & Destroy

Built on the SHAG Engine.