Making Your First CS 1.6 Map: de_ Layout and Required Entities

August 13, 2025 Daemon666 8 min read 21 views

A defusal (de_) map is the most forgiving place to start, because it needs only a handful of special entities to be playable: two sets of spawns, a buy zone for each team, and at least one bomb site. Everything else — cover, rotations, timing — is level-design craft you refine later. This walks the minimum viable map, the pieces the engine actually requires, so your first compile drops you into a round rather than a "server info" error.

1. Seal a world-brush room

Draw a large box and hollow it (or build six world brushes) into a sealed room. This is the single most important rule in GoldSrc mapping: only world brushes seal the map. If the shell leaks, VIS and lighting never run — see fixing leaks with the pointfile. Texture every face; untextured faces cause compile warnings.

2. Place both team spawns

CS uses two different spawn entities, one per team, and the names are not intuitive:

info_player_start        <- Counter-Terrorist spawns
info_player_deathmatch   <- Terrorist spawns

Place them slightly above the floor so players do not spawn stuck in the ground. For a full server you want roughly 16 of each, spread out so players do not telefrag on spawn. For a first test, four of each is enough. Point them in a sensible facing direction using the angle property.

3. Add a buy zone for each team

Players can only buy inside a buy zone. Make a thin brush covering each spawn area, tie it to func_buyzone, and set its team so CTs buy at their spawn and Ts at theirs:

Brush over CT spawn  → tie to func_buyzone (team: CT)
Brush over T spawn   → tie to func_buyzone (team: T)

The buy-zone brush should use a tool/trigger texture (e.g. AAATRIGGER) so it is invisible in-game. Without a buy zone, players spawn with a pistol and no way to buy, and you will think the economy is broken.

4. Create a bomb site

A bomb site is a brush tied to func_bomb_target (some FGDs also expose info_bomb_target as a point marker). Cover the plant area — a corner of the room is fine for a first map — with a trigger-textured brush and tie it:

Brush over plant area → tie to func_bomb_target

With a bomb target present the game auto-arms the map as a defusal round: one T carries the C4, CTs must defuse. No hostage entities are needed for a de_ map — those belong to cs_ rescue maps.

5. Light the map

Without a light entity the whole map renders fullbright (flat, shadeless). Add at least one light entity, or a light_environment if the room has a sky. Set a brightness that is not blinding — the fourth value in the light's color is intensity:

light  _light "255 255 220 200"

For an outdoor area, texture the ceiling with the SKY tool texture and add a single light_environment plus an info_sunlight/angle to cast directional sun. One indoor light is enough to prove the pipeline works.

6. Name it correctly and compile

Save the source map with a de_ prefix (e.g. de_firsttest) so the game treats it as defusal, then run a full compile from J.A.C.K. with all four stages enabled. The output .bsp must land in cstrike/maps/. Add it to your rotation via mapcycle.txt and, if you host downloads, mirror it through FastDL.

Troubleshooting

  • Spawn as spectator / cannot join a team — you are missing one of the two spawn types. Both info_player_start and info_player_deathmatch must exist.
  • Round never starts / "waiting for players" — no func_bomb_target, so the game has no objective. Add a bomb site.
  • Cannot buy anything — no func_buyzone over the spawn, or the brush is not actually tied to the entity.
  • Map is flat and shadeless — no light entity, or you compiled without RAD. Add a light and run the full toolchain.
  • Map will not load, "leak" in console — the shell is not sealed; walk the pointfile.

Verification

Launch a local server on the map with a couple of bots (see installing YaPB bots). You should spawn on a team, be able to buy at your spawn, pick up and plant the C4 at the site, and see the map lit rather than fullbright. Once the minimum map plays a full round end to end, iterate on the layout — cover, two bomb sites, tighter timings — and re-tune the final compile using the VHLT parameters.

Contributors: Daemon666 ✦
Share: