Source Bug Reports

From Valve Developer Community
Jump to: navigation, search
Note.png Note: Now there is a GitHub repository where bugs and features requests can be submitted (it's specified that it's for Linux versions)

If you think something is intended to function like it does, but you are still not satisfied with it, post it in the Feature Requests section.


Steam games minimizing with multiple monitors

In source games such as team fortress 2 and half life 2, when one turns sharply to the right (if the secondary monitor is to the right) and tries to fire, the mouse click is too often registered on the secondary monitor and the game minimizes. This problem appears to occur more often when using a high dpi gaming mouse, presumably allowing the mouse cursor to move further before re-centering. --Acru 06:39, 18 Jun 2008 (MST)

Looping Sound Crash

Many users experience unavoidable looping sound crashes regardless of their system configuration or in-game settings. There are numerous threads in the Source game forums running to hundreds upon hundreds of messages regarding this issue. Please make fixing it a top priority. CompactDestruction 07:07, 22 Sep 2007 (PDT)

It has been fixed, is it? --Prof. Orribilus 05:59, 4 October 2012 (PDT)

Users experience a slight delay with client-side interpolation and lag correction

This issue has been reiterated since the early beta stages. And is somewhat documented in the forums. However it has never been officially refuted or commented on AFAIK. Some sources to the bug. Counterstrike source netcode - The final quirks Net-Code-FIX for COMPETITIVE gaming!!!. You have to view these threads as very biased bug reports, but the extent of people who have experienced them should encourage you to take the matter seriously! --oc 13:37, 31. Oct 2006 (CET)

Entity and brush behavior

func_rotationg Acc/Decc Flag

The Brush don't move while the flag is enabled, only the sounds and parented entities works. --€r!k 22:17, 2 Feb 2008 (CET)

prop_door_rotating custom hinges

Moving the hinge (by altering the axis keyvalue) of a non-standard prop_door_rotating (like a models/props_wasteland/interior_fence001g.mdl fence door) has no effect. The door will open in the middle. --Andreasen 11:11, 20 Mar 2006 (PST)

func_door wont stop looping

If the Loop Moving Sound? keyvalue for a func_door is set for a sample with an already built in loop, the sample will not stop looping. Further attempts to open or close the door will only add another looping sample to the noise. --Andreasen 07:50, 16 Mar 2006 (PST)

func_details are disappearing

Surfaces on thin func_details (about 2 units thick) is disappearing in-game, even at close distances. This can be especially annoying when it comes to signs. --Andreasen 07:50, 16 Mar 2006 (PST)

npc_snipers and info_snipertargets

  • When an npc_sniper is shooting at an info_snipertarget that is parented to something else, the dot will land on target but the bullet fired will always travel backwards at a fixed direction, no matter where the target is. (This direction might change slightly between compiles.) --Andreasen 19:43, 12 Feb 2006 (PST)
  • When an npc_sniper is issued the SweepGroupRandomly input, the sniper will continue firing at these targets until an NPC interrupts him. Is it supposed to work like that? --Andreasen 19:43, 12 Feb 2006 (PST)
  • If the info_snipertarget entity doesn't have its Shoot Me flag set, Source crashes with the "memory could not be 'read'" error when a sniper is told to sweep it and has landed its beam on the target. This bug is reproduce-able for me. --Andreasen 00:22, 12 Feb 2006 (PST)

Block LOS not working

  • The Block LOS tool texture (tools/toolsblock_los) doesn't work anymore for me. In my HL2SP map combine soldiers can see right through a brush with this texture, and this brush also blocks light (but at least it is invisible). --Andreasen 19:49, 10 Feb 2006 (PST)
    • It is happening to me also Davlevels 06:11, 26 Mar 2006 (PST)
    • The same with the CS:S Bot --MBit 15:30, 19 September 2011 (PDT)


Damage of env_beams is acting really strange when emitted from a solid func_brush. When the Life of the beam is set higher than 1, the starting point and "collision" area of the func_brush is never updated between map compiles. This area doesn't affect the player or item collision, but it does affect the beams area of damage. If the Life is set above zero, then the area of damage becomes even more irregular, and will only hurt the player and prop_physics (and probably other stuff) sometimes. The func_brushs first "collision" area will also interfere with other env_beams. This bug is easily reproducible. --Andreasen 19:37, 5 Feb 2006 (PST)

Ragdolls & Door Props

  • Expected: prop_door_rotating entities do not interfere with clientside ragdolls collisions.
  • Observed: Clientside ragdolls seem to be clipped to the closed position of prop_door_rotating entities. This applies to any position doors are opened to.
  • ts2do


  • env_smokestack some time after they start releasing smoke the smoke stops to be released. Also, when you look away from the smoke it stops to release the smoke and starts again to release it when you look at it. Davlevels 06:16, 26 Mar 2006 (PST)

Volume inputs

I apologize if I'm mistaken, but the more I experiment with ambient_generic, the more I suspect that the sound actually playing on Volume inputs is a bug, mostly because this type of play doesn't register as playing, so a StopSound input won't be able to stop a sound started through the Volume input, but also because the Volume input isn't affected by the Is NOT Looped flag. The Volume input was probably meant to adjust the sound volume without playing the sound.

  • ambient_generic seems pretty broken at the moment. When I play an unlooped sound with is NOT looped checked, and stop it by firing StopSound before it ends, it starts playing again after some time (probably it's total length). Only workaround is to set it's Volume to 0 when stopping it, and starting it by setting Volume to something nonzero. Tested on CS:S, don't know about other games. --MBit 15:38, 19 September 2011 (PDT)

Static Prop Decals

Decals on static props do not render as wireframes when mat_wireframe is enabled—ts2do 20:17, 22 May 2006 (PDT)

!caller and !activator not always set

If logic_auto::OnSpawn calls Object::FireUser1 and Object::OnUser1 calls a function on a third object, neither !caller nor !activator are set for the third object's outputs. Some function pairs (like func_door_rotation::Close/OnClose and Open/OnOpen) set !activator but not !caller in the third object.

Prop Ragdoll jerky movement

Create a single player only mod with the ep1 code, compile the code without modifying anything, start the game, and grab a prop ragdoll with the physgun. While you move around the prop ragdoll will look jerky.


Point_template seems not to do name fixups on the following entities (probably incomplete list):

  • light_dynamic
  • prop_physics parented to some types of entities

Other entities in the same template do receive a name fixup.


This entity's input SetMaterialVar does not accept integers or floats as parameter, which makes it impossible to pass calculated values (not hard-coded in Hammer) to it (e.g. via math_counter's OutValue).


Values passed to a material by this entity wrap around if they are too high or low/negative (i.e. they don't correspond to a frame of the texture). Even when toggleTextureShouldWrap is set to 0 in the ToggleTexture proxy. Passing arbitrary numbers to a material, using a different target variable than $frame could be useful to pass numbers to materials for further processing by other proxys, especially because of the bug in material_modify_control.


The OnTakeDamage output currently isn't fired (at least in CS:S). One has to use OnHealthChanged.

Func_tracktrain | Case 1

Given a map with the following entities:

  • func_tracktrain setted up to continuosly move between two path_track
  • func_tracktrain not setted up to move and having the previous entity as parent

when a player touch a teammate that is on the second func_tracktrain, the teammate receive a hit of damage equal to the value setted up in the first func_tracktrain's property "Damage on Crush", based on that i got to observe. It seems that a train blocking mechanism occurs; infact, enabling the first func_tracktrain's flag "Is unblockable by player" this anomaly doesn't occur.

I haven't tried to utilize a different entity as child.

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too. Here a map file that reproduces it.

Func_tracktrain | Case 2

A func_tracktrain entity with "No User Control" flag enabled starts moving on spawn even if it has been setted up to spawn stopped ("Initial Speed" property setted to 0).

+use command

Given a map with the following entities:

  • func_tracktrain setted up to constantly move between two path_track
  • func_tracktrain not setted up to move and parented to the first one
  • ambient_generic setted up to play a not looped sound on cue (this is only an example entity)
  • func_button parented to the first func_tracktrain, setted up with flags "Don't move" and "Use Activates" and with its OnPressed output linked to PlaySound ambient_generic's input

if a player use the func_button while standing on the first func_tracktrain, the func_button plays the "Player.UseTrain" sound and the train becomes controllable by the player (with +forward and +back commands). If the player use the func_button while standing on the second func_tracktrain, this behavior manifests itself only at times. If the player isn't on the train and use the button, even while moving, the ambient_generic plays its sound regularly.

I have obtained the same result also using, in substituion of the func_button, a locked func_door and a func_brush both triggering on +use command.

A workround would be to enable the "No User Control" func_tracktrain's flag, but this too is bugged.

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too. Here a map file that reproduces it.


A func_brush entity, if parented to a func_tracktrain setted up to move, doesn't appear in game; it's present in the bsp and no relative error messages are showed in the console at map launch.

I have not tested it parented to other moving entities.

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too.


If "Lip" property is setted to 0, the button, when pressed, doesn't move as expected (if i have understood well).

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too.


I have associated an info_no_dynamic_shadow entity to faces being part of a brush entity parented to a func_tracktrain one, obtaining no results. I haven't tested it with other types of brush entity.

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too.


In Day of Defeat: Source, the cycling camera based on point_viewcontrol entities' position, and enabled when player is spectator/dead, is placed for the first point in the wrong place (some extra units on the Z-axis).

P.S. I don't know, for the time being, if it occurs in other Source games too.


status command

  • Observed: The spacing between the version and the colon for the status string is offset from the other lines:
hostname:  Half-Life 2
version   : 2651 insecure 
map     :  d3_c17_01 at: -6857 x, -1414 y, 64 z
players :  1 (1 max)

# userid name uniqueid connected ping loss state adr
#  1 "name" UNKNOWN 03:04 71 0 active loopback

Compiler bugs

Vista Debug Build Bug

Windows Vista seems to have a problem with the Debug Builds of my mod DLLs. For other reasons (a certain map crashes after triggering a certain action), I can currently not build the Release versions. Gives me the Module c:\program files\steamapps\sourcemods\mymod\bin\server.dll is a debug build Error (see image) Len 08:19, 22 May 2007 (PDT) SteamError.png

Did you launch HL2 using the -allowdebug parameter?—ts2do 09:13, 22 May 2007 (PDT)
Yes, today it somehow worked, when I loaded the game within steam, but that was because it was not using my dlls. So, I wrote a little batch file and placed it in my mod folder, it just executes Source SDK Base with ..\..\..\Steam.exe -applaunch 215 -allowdebug -console -sw -novideo -game "C:\Program Files\Steam\steamapps\SourceMods\mymod" +map mymod, but then it crashed again. When I debug it in Visual Studio, it throws an "unhandled exception at 0x0022b413 in hl2.exe: OxC0000005: Access violation reading location 0x00000024"... Any ideas?

Vista Codedump:

 Problem signature:
 Problem Event Name:	APPCRASH
 Application Name:	hl2.exe
 Application Version:
 Application Timestamp:	4445c334
 Fault Module Name:	datacache.dll
 Fault Module Version:
 Fault Module Timestamp:	44721f59
 Exception Code:	c0000005
 Exception Offset:	0000b413
 OS Version:	6.0.6000.
 Locale ID:	2057
 Additional Information 1:	74eb
 Additional Information 2:	4339e7c276c842753a6e52c0d99d559e
 Additional Information 3:	ed07
 Additional Information 4:	74499040e66d612e91b71183d0eede97

Scaling flexes

It seems that compiling models with flexes applied to them cannot be scaled using the QC without recreating the VTA file.

$model "studio" "model.smd" {

  flexfile "flex.vta"
  flex "action"  frame 10
   flexcontroller "phoneme" "action" "range" 0 1
  %action = action

While this QC file compiles fine and the model works putting a command like $scale 2.0 before the $model instruction does in fact do scale the model as well as its physbox correctly however, the flex isn't scaled and therefore doesn't work anymore.

  • Link Mar 12th, 07:33 MET



On blended materials, it seems that "$basetexturetransform" scale affects both "$basetexture" and "$basetexture2", while "$basetexturetransform2" scale doesn't do anything.

Blend Test by X^18


Window Docking

  • Observed: Windows in Source dock to hidden panels if docking is enabled in SourceScheme.res.
  • ts2do

Text Boxes

  • If one uses IME (Input Method Editor) in the console but doesn't turn off IME before returning to the game, the console continues recording keystrokes. The fix is to use ImmSetOpenStatus to close IME when no text boxes have focus. --Kateye 22:55, 7 Oct 2006 (PDT)


Model Shadows


  • Shadows cast from models always cast the shadow of the first skin. This means, if varying translucency is introduce into a skin set, only the first skin's shadow will be rendered.
  • ts2do


The model props_trainstation/train001.mdl occludes transparent materials as can be seen in this screenshot.

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too.


props_c17\lamp_standard_off01.mdl prop doesn't spawn.

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too.


HL2MP Mod localization

  • The ability to add a third-person view in single player mods easily.


  • Fix constant mic corruption in game for people with Soundblaster sound cards.

Staying on a moving func_tracktrain

While staying on a moving func_tracktrain, your position "shakes". This seems not to occur for observed players.

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too.


Z-Clipping distance is lesser on a dedicated server than a listen one. I have tested it on a map large about 30000 units.

A workround is to place an env_fog_controller entity with "Far Z Clip Plane", "Fade Start" and "Fade End" properties setted to the distance you wish (it seems that the max supported is 30000).

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too.


Automatic DSP effects

Automatic DSP effects (those generated basing on geometry and materials' properties) seems not applied while playing on listen/dedicated LAN server.

P.S. I have found this issue while playing Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too.

--Prof. Orribilus 06:07, 4 October 2012 (PDT)

Official Mods

Left 4 Dead 2


  • Water used on custom maps has no reflection or refraction. Similar to a leaked map.

Day of Defeat: Source


  • Observed: game_text does not show up in-game
  • El Capitan

Clip textures

  • Observed: Clip textures make metal footsteps sound when walked over!
  • El Capitan

Weapon entities | Case 1

Running a map containing some weapon entities without targetname key causes a crash to desktop. I have tried only weapon_garand and weapon_frag_us entities.

Weapon entities | Case 2

Weapon entities disappear soon after being spawned.

Frag grenade entities

Frag grenade entities are not spawned as physics object. Also, the flag "Start Constrained" seems not to have effect.

Some crate models

prop_crates/supply named models aren't spawned if associated with prop_static and prop_dynamic entities. A workround is to use a prop_physics_multiplayer with "Start Asleep", "Debris" and "Motion Disabled" flags.

Game_player_equip giving rocket named weapon entities

A game_player_equip entity setted up to give a rocket_bazooka or a rocket_pschreck entity causes a suicide by rocket.


Info_player_allies and info_player_axis entities have all property to enable/disable them ("Name" and "Start Disabled"), but Enable and Disable inputs are not functional. Having them functional permits a simplier implementation of moving spawns.

Having a "Parent" property too can be useful.

The limits of Day of Defeat: Source

I'd like to see DoD:source entity functions opened up to include all the entities and functions available to the Half Life 2 mapper. It is very limiting at the moment. I wanted to put a random teleporter in a map but found a key entity wasn't available in DoD:source.

Counter-Strike: Source

Credit goes to cloud1337 and his contributors from Steam Forums.

Barrel Physics

  • Barrels and other prop_physics forcefully push players who interact with them.
  • Suggestion: Create an alternative to sv_turbophysics with the players +use function disabled.

Defuse Kit over Bomb Plant

  • Defuse kits and other props around the bomb randomly disable a player defusing.
  • Suggestion: Make the defuse action only begin when the bomb is directly in the players cross-hair, eliminate any other detection methods that cause unwanted interactions.

Defuse through Walls

  • Players can defuse through Walls and other objects.
  • Suggestion: See Above.
  • Example: [1]

Stuck Defusing

  • When a player attempts to stop defusing and fire there is a delay between the original -use command and when the server recognises the player has stopped defusing, causing the player to be stuck and the bomb to continue defusing (even though the players cross-hair is no longer located near the bomb) for a short period of time.
  • Suggestion: Unsure of the reasons behind this bug. Possibly a glitch where +attack works (temporarily) as a defuse mechanism?
  • Example: [2]

Forced Point of View

  • When a player is 'forced' lower than he is meant to crouch his point of view also drops, this happens when another player is stacked on their head or when they crouch under certain trains. SourceTV also does not record the players 'forced' point of view, it records what he should be seeing if he wasn't forced.
  • Suggestion: Find out why SourceTV doesn't get 'forced' a point of view and implement that on a client / server side. Also fix the train props on de_train to coincide with the POV fix.
  • Example: [3]

Fake bomb Plant

  • When a player begins to plant while crouched and then aborts while moving the planting animation continues and all other players view them as a non-threat.
  • Suggestion: Kill the plant animation when a player moves if it isn't already.
  • Example1: [4]
  • Example2: [5]

Guns and Tickrate

  • Changing the tick-rate of a server also seems to affect the firing mechanisms and reactions of certain guns. This mainly happens with the AK47 and MP5 on low tick-rate servers (33).
  • Suggestion: Analyze the difference between the AK47 and MP5 on 33 tick and 100 tick servers. Find out what data isn't being sent or requested on the 33 tick server and fix it.

Shadows appearing through props

  • Shadows are commonly visible through doors, small walls, and props.
  • Suggestion: Implement the same method that core walls use to distort shadows on props and smaller walls.
  • Example: [6]

Both Teams receive Defuse / Explosion Points

  • On the right timing a player can receive 3 points for defusing (only when they defuse action is almost complete) even when the bomb explodes and Terrorists win the round. The bomb planter still (also) receives 3 points.
  • Suggestion: Make bomb explosions and bomb defuses individual and exclusive events if they already aren't.

Grenade Physics

  • Grenades can be used to block players from moving and also forcefully push them in some circumstances. Flashes and Smoke grenades can also be used to stop a player from defusing.
  • Suggestion: Make the grenades react to the players movement and not the other way round.

Slow Door movement

  • On 100 Tick servers (online) doors tend to open slowly with a very choppy animation and are very sensitive to player movement.
  • Suggestion: Find out why it happens for 100 tick servers online, and why it doesn't happen for 66 tick servers online or 100 tick servers at LAN.
  • Example: [7]

Stuck within a Door

  • Players can get stuck within doors.
  • Suggestion: Make doors only react to the +use function and not player movement.
  • Example: [8]

Rapid Firing Model Animation

  • When an enemy fires a gun while strafing (at the right speed) and moving the animation that other players see is a rapid movement of the enemies gun going from left to right (and possibly vice versa).

First Person footstep noises

  • When running up or down an incline footstep noises can sometimes become inaudible however other players can still hear them.

Grenade animations

  • Randomly when a player becomes visible (i.e. running around a corner) a grenade throwing animation is played. This is regardless of what weapon the player is holding or in possession of.

Change Teams crash

  • When a relatively large amount of players change sides (~4-6 minimum) most players on the server crash.

Ambient reloading and knife sounds

  • Randomly players can hear reloading or knife sounds where no-one exists or is reloading / knifing.

Dead Shadows

  • After a player dies his shadow remains in an animated loop.

Wall Flashes

  • Players sometimes get flashed even when standing behind a solid object or wall.

Flashes not recorded on SourceTV

  • Players are not blinded by flashes when viewing a SourceTV demo.

Team Fortress 2


  • func_rotating doesn't work in TF2.


  • func_smokevolume doesn't work in TF2.


  • Payload carts occasionally derail on their own. Even on stock maps!
  • Does not respect the angle setting method of the spawn path node, it will always be aimed at the next node in the path.
  • Pitch and roll calculations are very glitchy and may cause objects to perform backflips.
  • May cause a crash if the payload cart is pushed onto a node that isn't enabled.


  • The timer remains in setup mode if an objective is captured while in setup mode.


  • Lacks a HUD message for when a player tries to capture while the CP is disabled.


  • Hud becomes incorrectly placed if the map loads while the game is in fullscreen mode, but isn't currently focused.