Garry's Mod
A sandbox game for the PC and Mac

Garry's Mod is a Sandbox Game based around the idea of building. Unlike most other games there aren't any objectives - you can't lose and you definitely can't win.




Here are a few quick fixes for the issues introduced by yesterday’s update. Servers will need to be restarted.
Some known issues remain and will be addressed next week.

  • FIX TTT: Fixed ironsights being broken due to changes from last update
  • FIX Fixed .mp3 and .ogg playback becoming very expensive due to changes from last update
  • FIX Fixed Father Grigori not being the king of animals
  • FIX Entity:FireBullets no longer inflicts ammo-specific damage if the damage is 0 unless an ammo type is explicitly specified
  • UPD IGModAudioChannel:SetTime now prints a warning if it is called on a non block streamed channel
  • NEW Added IGModAudioChannel:IsBlockStreamed



You have waited a long time.. and this is a big one.. so servers will need to be restarted before you’ll be able to join them.

Fixed lamps projecting backwards

This annoying visual bug that has been there since lamps existed is now finally gone for good.

Improved mounting system

You will most likely not notice it but the mounting system has been given a heavy lifting. This means a slight decrease in load times, less remounting, and no more texture issues on changelevels.

Fixed gamemode name reported by Steam not being updated after a changelevel

The gamemode name used to be sent to Steam’s master server only when a server was started, so it wouldn’t be updated after a changelevel. Now it is sent at regular intervals along with the current map name.

Minor Half Life 2 campaign fixes

A lot of minor fixes have been oriented towards making the HL2 campaign fully playable. For instance, the GMan intro now plays correctly, ropes should now be properly positioned on all levels, NPCs now receive the correct amount of damage from HL2 weapons (the shotgun was notably weak against them), and metrocops no longer get stuck into a T-pose when attacked.

Lots of requested Lua fixes and features

Notable additions include new BASS library bindings allowing more control over sounds being played, advanced matrix manipulation functions, a hook which allows you to override sounds before they are played, and another hook which overrides bullets fired from any weapon. You decide what to do with them!
A lot of Lua functions also had more or less important issues pointed out by various coders, most of those are now fixed.

And now for the…

Full Changelog

Game Changes

  • FIX Fixed viewmodel bobbing snapping when jumping or noclipping
  • FIX Fixed flashlight getting duplicated when receiving a full packet update
  • FIX Fixed spawnicons not always regenerating at the correct resolution when resized
  • FIX Fixed “Dopwnload finished” typo in console output
  • FIX Fixed lamps projecting backwards!
  • FIX Fixed gamemode name reported by Steam not being updated after a changelevel
  • FIX Fixed key bindings not working correctly in the main menu
  • FIX Fixed GMod decals not working when used on props
  • FIX Fixed debug textures not being precached (brings mat_wireframe 1 back to its former glory)
  • FIX Fixed rendering artifacts when some particle effects are rendered in front of the skybox
  • FIX Fixed nav files remaining open after loading a map
  • FIX Fixed shell ejection issues on the HL2 pistol and SMG
  • FIX Fixed players colliding with other players while noclipping
  • FIX Fixed viewmodel jittering when overwriting viewmodel position
  • FIX Fixed viewmodel prediction errors when switching to thirdperson and back
  • FIX Fixed sound spam with weapon_rpg when no ammo is left
  • FIX Fixed jigglebones occasionally snapping into impossible positions when rapidly moving
  • FIX Fixed keyframe_rope ignoring attachment points (this fixes various issues such as the cable from prop_vehicle_crane)
  • FIX Fixed combine balls not colliding with players
  • FIX Fixed env_zoom not working at all (i.e. HL2 intro)
  • FIX Fixed choppy MP3 sound playback in some cases
  • FIX Fixed metrocops holding the stunstick going into a T-pose when attacked
  • FIX Fixed metrocops not turning their stunstick on before attacking
  • FIX Fixed NPCs not receiving the appropriate amount of damage from HL2 weapons
  • UPD Improved mounting system, no more texture issues on changelevels
  • UPD sv_kickerrornum now defaults to 0 and its value is now saved to the config file
  • UPD sv_allowcslua is now saved to the config file
  • UPD Clientside Lua is now always allowed in singleplayer
  • UPD Improved some spawn icons
  • UPD TextEntry panels no longer filter ‘\t’ characters
  • UPD Restored old damage force behaviour
  • UPD Singleplayer jump boost from HL2 is now implemented in Lua as a sandbox feature and works in multiplayer as well
  • NEW Added clientside convar cl_steamoverlay_pos

Community Contributions

Lua Scripting



An update has been released. Servers don’t need to be restarted – but it’s recommended.



An update has been released. Servers don’t need to be restarted – but it’s recommended.

  • FIX  Fixed crash when using Matrix:Scale, Translate, Rotate wrong
  • FIX Added extra debug to blue screen errors
  • FIX If a startup crash is detected we will automatically verify install
  • FIX  Fixed gamemode name not updating with server changes
  • FIX  Fixed util.SteamIDTo64 spouting rubbish
  • FIX  Added GM:PreCleanupMap
  • FIX  Added GM:PostCleanupMap
  • FIX  Fixed large avatars being partially broken
  • FIX  Fixed NPCs not talking or playing scenes


  • NEW Added a bunch of loose files into vpk’s for faster load times
  • FIXED Fixed soundchannel:SetVolume( float )
  • FIXED sound.PlayURL can now handle playlists
  • FIXED Fixed ‘BASS’ error on launch
  • FIXED Fixed missing scenes causing low FPS with NPCs
  • FIXED Fixed sqlite db’s getting stomped by updates/verifying cache
  • FIXED Fixed rope material crash exploits



Here’s answers to two of the most commonly asked questions.

  • NEW Added OGG audio streaming
  • NEW Added sound.PlayURL( “url”, “3d mono loop noplay”, callback_func )
  • NEW Added soundchannel:Play()
  • NEW Added soundchannel:Stop()
  • NEW Added soundchannel:Pause()
  • NEW Added soundchannel:SetVolume( float )
  • NEW Added soundchannel:SetPos( vecPos )
  • NEW Creating a timer now returns a timer object
  • NEW Added bodygroup & skin changer to player editor
  • NEW Eli player model now colourable
  • FIXED Fixed other game content not mounting on Linux
  • FIXED Fixed broken MP3 streaming
  • FIXED Fixed some Linux case sensitivity problems when mounting other content




Here’s answers to two of the most commonly asked questions.

  • NEW Main menu shows which beta branch we’re using next to the version number
  • NEW Added mount.cfg to allow mounting of extra content (for dedicated servers) 
  • NEW Map Icons should now load much faster 
  • NEW Addons should now load much faster (especially if you have lots installed)
  • NEW Development branch is now called “dev”
  • FIXED Fixed OSX not launching with Steam User error
  • FIXED Fixed Windows DS crash when using workshop collections
  • FIXED Fixed Legacy Server Browser not working
  • FIXED Fixed insane screeching when playing some sounds
  • FIXED Removed ‘headers’ console spam
  • LUA Added global ‘BRANCH’


Update 165

  • NEW Garry’s Mod is now on Steam Pipe
  • NEW Added the Portal 2 version of Chell as a player model
  • NEW Added back the CS:S hostage player models
  • NEW Added medic player models (and their arms)
  • NEW Phong & rimlight on players modulates based on their chosen color
  • NEW Adapted more zombie animations into the player model libraries
  • NEW Optimized CS:S player models
  • NEW Now colourable: CS:S Phoenix/Guerilla/Leet, Magnusson
  • NEW Improvements to the player model selection interface
  • FIXED Updated CS:S hands model and material
  • FIXED Fixed the remaining visual issues with CS:S c_models
  • FIXED Bullets properly come out of the barrel of CS:S weapons
  • FIXED Added missing medkit w_model
  • FIXED Thumbs on first-person medkit animations are less broken
  • LUA Added math.Remap( value, inMin, inMax, outMin, outMax )

Update 164

  • NEW New viewmodel arms for the Combine
  • NEW Two default SWeps: fists and medkit
  • NEW Added a female metrocop player model
  • NEW Now colourable: Combine soldiers, Corpse1
  • NEW Further LOD optimizations on player models for performance
  • NEW Added a rimlight effect on player models for readability
  • NEW 3 new death animations
  • FIXED Fixed NPCs not being able to use AR2 or Pistol
  • FIXED Fixed steampipe games not mounting properly on OSX
  • FIXED Solved most oddities with the new viewmodels, especially on CS:S weapons
  • FIXED Fixed zombie anims twitching when transitioning between states
  • FIXED Fixed punching anims being out of alignment
  • FIXED Fixed player color Lua errors
  • FIXED Fixed missing H.U.G.E. 249 world model
  • FIXED Improved look of zombie crouch anims
  • LUA Updated dtooltip.lua
  • LUA Fixed error spam when disabling a DComboBox

Update 163


I have sent a quick patch to Valve for that last update.

  • FIXED Player color errors
  • FIXED Weapons without viewmodels crashing

A few people are complaining that they’re missing textures in some maps with the new update. If you’re having these problems then make sure you have Counter-Strike:Source installed and make sure it’s being mounted into G(arrys)Mod. Try running CS:S. Check the console on startup for any errors. Try validaing CS:S and G(arrys)Mod.

Update 162


What up! I sent a patch to Valve! It should be live now! Your server needs to restart! Here’s what’s changed!

  • NEW Unified viewmodel system
  • FIXED Fixed NPCs going into T-pose
  • FIXED Player model updates
  • FIXED gm_construct update
  • FIXED Fixed Steampipe overrides
  • FIXED Fixed GetCustomAmmoDisplay hook
  • NEW Added PostDraw2DSkyBox hook
  • FIXED Fixed SteamIDTo64, SteamIDFrom64
  • FIXED Fixed Workshop Gamemodes
  • FIXED Fixed Auto Refresh bug
  • FIXED Fixed bone scale accuracy
  • NEW Added “PhysicsCollide” hook
  • NEW Nextbot enhancements
  • NEW  Added PostDraw2DSkyBox hook

GMod Update 161


Hey guys. So it took a long time for update 160 to come out.. and it came out this morning and there was a bunch of crap that went wrong.

Weapons were firing too fast, some people had a missing texture over their screen, crouching and jumping got you stuck in the ceiling and on some systems was insanely low.

So. Weapons firing too fast was fixed. This was a really really dumb oversight made by me – and not picked up by anyone (even though it had been on the SVN version for a month and a half.. blagh.). I rolled back the stuff that caused this until I can do it properly.

Missing texture was caused by having CS:GO or Portal 2 mounted. It was overriding the motion blur material using some stuff we don’t have in our version of the engine. So I included the material with GMod so it overrides everything.

Getting stuck in the ceiling was a bug in my crouch bug fix. Bugs on top of bugs. I think I fixed it.

The low FPS was caused by having LuaJIT enabled by default. Which is kind of funny because it’s meant to make it faster. My feeling is that this is down to one of two things. Either it’s a problem only on AMD CPUs.. which is why it never appeared in any of our tests here in the office.. or it’s something in Wiremod or some other addon that’s dynamically compiling code over and over. Either way we’re back to having LuaJIT disabled by default. If you want to benchmark you can enable jit again by running with the command line “-withjit”.

GMod Update 160


Hey guys – I sent an update to valve. There’s a lot of internal changes here that might bite us in the ass in many different ways. We’ve spent quite a bit of testing but still… cross your fingers!

Here’s the changes:

New balloon models

There’s a couple of new balloon models available by default now! Enjoy!

Player model updates

The HL2 citizen player models were drastically enhanced, and Odessa is now colourable. The player models will now transition between animation states more smoothly, sitting animations have been improved, idle sequences (standing still) are much more varied, and other various things that looked odd or didn’t work were fixed.

Fixed infinite loop when spawning entities

If your GMod was freezing up when trying to spawn some entities – you were getting the infinite loop bug. This is now fixed!

Fixed cheating with crouch

There was a bug with crouching where you could crouch, uncrouch and then crouch again while you were still uncrouching – and your view would stay in place. This was being exploited by people to shoot over boxes while being fully ducked behind them.

Fixed Coroutines

One for the coders.. coroutines should now work flawlessly! Now you just need to find a use for them!

Added Nextbot stuff

Another one for the coders. I exposed a lot of nextbot stuff. This means that we can code better AI. I’m not done with this yet but it should be safe enough to start using it.

SteamPipe Mounting

Valve are switching all their games over to Steam Pipe. This affects us because we like to mount their games. Don’t worry though – I have updated the mounting stuff so it’ll mount games using SteamPipe now too! This includes games like CS:GO and Left 4 Dead!

Fixed Lua errors when saving

Some people were getting Lua errors when creating a save via the spawn menu. This should be fixed now – it was my fault! Sorry guys!

Fixed fastdl downloads

Server owners were having trouble with fastdl downloads. They didn’t download properly if they were compressed. This is also my fault – and should now be fixed!

Fixed duplicate props when loading a save

Sometimes when you loaded a save the props would get duplicated because it was restoring them first, then creating the saved version. This code was all a bit sticky. So I nuked the lot so it will delete all the props on the map and restore them from the save versions.

Lua performance fixes

I added a few small optimizations to improve the performance of Lua. A lot of the slowdown in Lua is when it has to call back to c. So I try to avoid that in a few common places. I make CurTime, RealTime and FrameTime all Lua functions – which don’t call into c in any way. The entity meta tables are also done in Lua now too.

GMod Update 159



There were a few problems with yesterday’s update. Not massive problems, but they should all be fixed in this update.

  • Fixed SteamID not being passed to CheckPassword hook
  • Fixed possible shadow/flashlight crash
  • Fixed addons not showing up immediately
  • Fixed offline addons not working
  • Fixed legacy addons not mounting under linux
  • Fixed crash when live editing Lua in addons folder
  • Fixed crash on windows dedicated server using workshop collection
  • Fixed skin property errors (robotboy)