--- title: "Adding Player Spawns (info_player_start / deathmatch)" excerpt: "Which spawn entities CS 1.6 actually uses, how info_player_start and info_player_deathmatch map to CT and T, how many you need, and the placement mistakes that cause spawn kills and \"stuck in wall\" bugs." category: "mapping" tags: "entities, cs-maps" image: "" read_time: "8 min read" ---
Every playable CS 1.6 map needs spawn points, and getting them wrong produces the classic new-mapper symptoms: everyone spawns on one team, players telefrag into each other, or half the server gets "stuck" the moment the round starts. The spawn entities are simple point entities, but the counts, team mapping, and placement rules are specific. This covers exactly what to place and where. It assumes you already have a compilable map from your first map.
CS 1.6 maps its two teams onto Half-Life's spawn entities:
info_player_start — Counter-Terrorist spawns.info_player_deathmatch — Terrorist spawns.info_vip_start — the VIP spawn, used only on as_ (assassination) maps.That CT/T mapping is a GoldSrc convention people constantly get backwards; there is no info_player_ct or info_player_t. If your CTs and Ts are swapped, this is why.
You need one spawn point per player per team, plus a margin. For a 16-slot server (8 vs 8) place at least 12–16 of each entity; for a big 32-slot map, place 20 or more each. When there are fewer spawns than players on a team, the engine has to squeeze two players into one point — the origin of the "stuck together / telefragged at spawn" bug. More spawns than players is harmless; too few is not.
A spawn is a point entity with an origin and an angle. Placement rules that prevent bugs:
In the editor, the entity's angles/yaw controls the direction the player looks on spawn. Point CTs toward their objective and Ts toward theirs so nobody spends the first second spinning around. In a bomb-defusal map, face each team roughly toward the bombsites they will fight over.
CT spawns and T spawns belong in their respective spawn areas, spread across a small cluster rather than stacked in a line. Spreading them reduces spawn-kill potential (a single grenade cannot catch the whole team) and gives the round a natural fan-out. Keep the two teams' spawn clusters far apart so nobody spawns in sight of the enemy.
Spawns are ordinary entities, so they take effect on a normal compile — no special step. Run your usual ZHLT/VHLT compile (compile parameters), load the BSP, and start a round with a few bots or a friend to see both teams appear where you intended.
info_player_start (CT) or only info_player_deathmatch (T). Both entities must exist for a two-team map.Load the map and fill both teams with bots or players. Confirm CTs appear at the info_player_start cluster and Ts at the info_player_deathmatch cluster, each facing into the map, with nobody stuck or overlapping. Run several rounds and watch for anyone spawning inside another player — if that happens, add spawns. A good final check is to fill the server to its maximum player count and re-run a round: bugs that never appear at 4 vs 4 surface immediately when 16 players try to claim spawns at once, because that is exactly when the engine runs out of points and starts doubling players up. Watch the round-start moment closely at full capacity rather than trusting a lightly populated test. If a whole team spawns wrong, you likely swapped the CT/T entity mapping. For servers that struggle with bad spawn placement at runtime, the CSB Bad Spawn Preventer and CSB Map Spawn Editor can patch spawns without recompiling.