Ko/Counter-Strike Source Entity Overview
This document describes the basic entities needed to make levels for Counter-Strike: Source. It assumes you already have knowledge of basic Hammer functions and CS:S gameplay. See the Hammer Editor Documentation for information on basic Hammer functions such as geometry creation and entity placement.
Basic CS:S entities
- info_player_terrorist
- Start points for the terrorist team. One of these needs to be placed for each team member. 20 start points is typical. Should be placed at least 128 units apart.
- info_player_counterterrorist
- Start points for the counter-terrorist team. One of these needs to be placed for each team member. 20 start points is typical. Should be placed at least 128 units apart.
- func_buyzone
- Brush entity that defines the area where the team can purchase equipment. Should have the
tools\toolstrigger
material applied to all sides, completely cover the spawn area, and be set for the correct team.
- prop_physics_multiplayer
- Models that have physics properties (i.e., barrels, debris, etc). Must not be intersecting any other geometry where it’s placed.
- func_ladder
- Climbable ladder brush. Not rendered, but allows players to climb up the brush surface. Should have the
tools\toolsinvisibleladder
material assigned to all sides of the brush.
- point_viewcontrol
- Point entity use for camera locations when players join the game. Should be set to look at another point entity, typically an info_target. This is equivalent of using the Goldsource entity trigger_camera.
- info_no_dynamic_shadow
- Point entity to stop player shadows from being applied to a particular set of brush faces. Sometimes needed when player shadows get cast on ceilings when players walk above. Open the entity properties, click the Pick... button, and then click to add a face to prevent that surface from getting shadows. Hold down <Ctrl> and click for additional faces, then click the Pick... button again when finished.
Bomb Defusion gameplay entities
- func_bomb_target
- Brush entity that determines where the bomb can be planted. When the bomb is planted then explodes inside the area, the
BombExplode
outputs are fired. The game handles all of the bomb planting and scoring logic – theBombExplode
outputs are purely to add visual and damage effects.
- env_explosion
- Point entity for explosion effects when a bomb explodes. Creates a fireball sprite effect and will also effect physics models. Can also apply damage. A single env_explosion is typically placed at the center of the bomb site, triggered from the
BombExplode
outputs on the func_bomb_target.
- env_fire
- Point entity for secondary fire effects when a bomb explodes. Can also apply damage. Several
env_fire
entities are typically scattered around the bomb site, triggered from theBombExplode
outputs on the func_bomb_target.
- ambient_generic
- Point entity that plays a .wav sound from the entity location. Can be used to play burning fire sound after the bomb explodes.
Hostage Rescue gameplay entities
- hostage_entity
- Point entity that is placed for each hostage to be rescued in the map. A hostage NPC will spawn at this point. There are usually four hostages placed in each hostage rescue map.
- func_hostage_rescue
- Brush entity that defines the area where hostages are rescued. Hostages that get led into this area will be marked as rescued.
- info_node
- Point entity used for navigation of the hostage NPCs.
info_node
entities need to be placed in all areas where the hostages need to move. Paths are drawn between each node point. One node needs to be visible by the next node point to connect properly.

Counter-Strike Round Restarts
At the end of each Counter-Strike: Source gameplay round, when end-of-round game conditions are met, the game resets itself for the next round. When this happens, most of the entities in the map reset to their original state, just as if the map was just loaded. However, the following list of entities are not reset, and continue in the same state in the all consecutive rounds:
* ai_hint * ai_network * cs_gamerules * cs_player_manager * cs_team_manager * env_fog_controller * env_soundscape * env_soundscape_proxy * env_soundscape_triggerable * env_sun * env_wind * func_brush * func_buyzone * func_hostage_rescue * func_illusionary * func_wall * info_ladder * info_map_parameters * info_node * info_node_hint * info_projecteddecal * info_target * infodecal * keyframe_rope * move_rope * point_devshot_camera * point_viewcontrol * predicted_viewmodel * scene_manager * shadow_control * sky_camera * soundent * trigger_soundscape * viewmodel
All other entities are reset to their original state at the beginning of the next round, and all pending outputs are cancelled.

You can use a logic_auto point entity to trigger additional events to occur at the start of the round. The OnMapSpawn
output of the logic_auto will be fired when the map is first loaded, and at the beginning of the each round thereafter, after the reset. For example, in the map cs_havana, at the start of each round, a logic_auto has an OnMapSpawn
output to a logic_case entity that randomly sets the routes open to the players each round. The logic_case enables and disables a series of func_wall brush entities that determines which routes are open and closed. For more information on how to use outputs, see Inputs and Outputs.
다른 중요한 요소들
여기엔 Counter-Strike: Source 맵에 자주 이용되는 엔티티와 텍스쳐들이 보여지고 있습니다. 이 엔티티들은 각자가 중요한 가치를 가지고 있습니다.
- trigger_multiple
- trigger_once
- 이벤트를 활성화 시키는 블럭 엔티티.
- filter_activator_name
- filter_activator_team
- 엔티티나 플레이어가 트리거를 작동시킬수 있는지 정의하는 포인트 엔티티.
- Clip brushes
- 모든 면에
tools\toolsclip
텍스쳐가 발린 블럭. 플레이어들을 막는데 사용.
- Player clip brushes
- code>tools\toolsplayerclip 텍스쳐가 모든 면에 발린 블럭. 특정 지역으로 부터 플레이어를 방해. 플레이어만 막음 - 인질이나 폭탄은 해당없음.
- Nodraw brushes
- 모든 면에
tools\toolsnodraw
텍스쳐가 적용된 블럭. Nodraw 면은 렌더링 되지 않습니다, 하지만 블럭은 그 자리를 여전히 그림자를 발산하며 차지하고 있습니다. 보이지 않는 뒷 공간의 지형에 적합합니다, 예를 들어 모델이나 지형의 이동등 말입니다, 맵을 추가적인 면을 사용하지 않고 렌더링 할수 있습니다.
- Water brushes
- 위쪽 면에 물 텍스쳐가 적용된 블럭입니다. 물은 위쪽면에 물 텍스쳐가 적용되고 다른면은
tools\toolsnodraw
가 적용된 블럭입니다. Water 를 통해 더 많은 정보를 접하세요.
- env_cubemap
- 반사/비침 을 필요로 하는 블럭의 근처에 배치되는것이 좋습니다. Cubemaps 을 더 많은 정보를 위해 참고하세요.
- env_soundscape
- 맵 안에 배치하여 트리거를 사용해 다른 DSP 신호를 받거나, 소리를 설정. Soundscapes 을 env_soundscape 를 위한 더 많은 사용법을 위해 참고하세요.
- func_clip_vphysics
- 폭탄이나 물리적 영향을 받는 물질들을 막는 블럭 기반 엔티티.
비-공식 게임진행 종류
- FY (fy_) 를 위한 맵, FY Map Creation 를 보세요.
- VIP (as_) 를 위한 맵, VIP Map Creation 를 보세요.