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

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.


👤 🕔 July 8, 2014 199

A major update is coming in, so servers will need to be restarted before joining them as usual.

This update consists mostly of exploit fixes, various requested adjustments, and a few new Lua features for developers including extended support for AI navigation meshes, up to 64 DT vars of each type, and toggleable lag compensation for all entities.

Full Changelog

Game Changes

  • FIX Fixed item pickups not being collectable in some cases
  • FIX Fixed env_microphone not always transmitting NPC voices in multiplayer
  • FIX Fixed some textures on gm_construct having an incorrect normal map when running under DX8
  • FIX Fixed console crash on some machines
  • FIX Fixed another possible exploit with CNetChan::SendFile
  • FIX Fixed an exploit allowing access to any file on a client machine
  • FIX Fixed vehicle noclip exploit
  • FIX Fixed SMG viewmodel animation glitch when firing exactly 3 shots in a single burst
  • FIX Fixed inaccurate text selection in RichText controls
  • UPD Files with an incorrect extension can no longer be loaded as modules
  • UPD Loose .vcd files can now be loaded without having to be compiled into scenes.image


Community Contributions

Lua Scripting

  • FIX Fixed Entity:PhysicsFromMesh building a deformed collision mesh
  • FIX Fixed PhysicsCollide entity callback missing information about the entity which was collided with
  • FIX Fixed IMaterial:GetMatrix crashing the game
  • FIX Fixed sound.Add not working on dedicated servers
  • FIX Fixed ents.FindByClass not interpreting wildcards correctly
  • FIX Fixed util.CRC not working correctly on strings with embedded zeroes
  • FIX Fixed util.JSONToTable losing precision for large integer values
  • FIX Fixed Entity:GetBoneController returning a truncated value
  • FIX Fixed Entity:SetHitboxSet not working properly with an integer parameter
  • FIX Fixed NPC:FoundEnemySound, LostEnemySound, FearSound, IdleSound and AlertSound not calling their appropriate equivalent in the engine
  • FIX Fixed InnerAngle and OuterAngle parameters not doing anything in lights created by DynamicLight()
  • FIX Fixed util.TableToJSON crashing when passed a table containing keys that aren’t strings or numbers
  • FIX Fixed GM:OnReloaded being called more than once on most gamemodes
  • UPD Updated LuaJIT to version 2.0.3
  • UPD Reverted Entity:IsValid to its old behaviour
  • UPD Changed Entity:PhysicsInitBox behaviour to be more consistent with Entity:PhysicsInitConvex (no longer creates a broken physics object in some cases)
  • UPD game.GetWorld is now shared
  • UPD Player:HasWeapon and Player:GetWeapon are now shared
  • UPD Entity(0) now returns the world on both server and client
  • UPD Entities can now have up to 64 DT vars of each type (except strings)
  • UPD Player:Kick and Player:Ban kick/ban reasons are now optional and may contain newlines
  • UPD SWEP holdtypes are now properly networked
  • UPD Vector and angle access using a numerical index rather than x/y/z is now slightly faster
  • UPD gui.OpenURL now clamps URLs to 511 characters max
  • UPD Added safeguards to mesh library functions
  • UPD Entity:GetMaxHealth is now shared again and properly networked
  • UPD Entity:DrawViewModel now takes an optional second argument which controls which viewmodel to show/hide (defaults to 0)
  • UPD Moved Entity:Disposition, GetActivity, IsNPCMoving, IsUnreachable to NPC:Disposition, GetActivity, IsMoving, IsUnreachable
  • UPD Trace tables now accept an “output” parameter which may contain the table the trace results should be written into
  • UPD sound.PlayFile and sound.PlayURL callbacks now receive an error ID and error name as their second and third parameters if an error occurs
  • UPD Weapon:CallOnClient second argument is now optional (defaults to “”)
  • UPD Moved Player:PlayScene, NPC:PlayScene and NextBot:PlayScene to Entity metatable
  • UPD Entity:PlayScene second argument (delay) is now optional (defaults to 0)
  • UPD MsgC can now print text with several colors in a single call
  • UPD Moved Player:Freeze, Player:GodEnable, Player:GodDisable, Player:IsFrozen, Player:HasGodMode to Lua
  • UPD Clamped pitch between -90 and 90 instead of -180 and 180 for AngleRand
  • UPD util.KeyValuesToTable and util.KeyValuesToTablePreserveOrder now accept a third parameter which prevents keys from becoming lowercased when set to true
  • UPD vgui.LoadControlsFromFile/LoadControlsFromString now properly creates scripted panels
  • UPD Improved vgui.LoadControlsFromString (no longer writes to a temporary file)
  • NEW Added Entity:PhysicsDestroy()
  • NEW Added Weapon:GetHoldType()
  • NEW Added util.SharedRandom(uniqueName, min, max, additionalSeed=0)
  • NEW Added util.BlastDamageInfo(dmginfo, origin, radius)
  • NEW Added Entity:SetLOD(lod=-1)
  • NEW Added Entity:SetLagCompensated(bool)
  • NEW Added Entity:IsLagCompensated()
  • NEW Added Player:SetAllowWeaponsInVehicle(bool)
  • NEW Added Player:GetAllowWeaponsInVehicle()
  • NEW Added CSoundPatch:SetDSP(dsp)
  • NEW Added CSoundPatch:GetDSP()
  • NEW Added IGModAudioChannel:EnableLooping(bool)
  • NEW Added IGModAudioChannel:PlayFile(path, flags, callback)
  • NEW Added optional second argument to Entity:SetPhysicsAttacker() which controls expiry time (defaults to 5 seconds)
  • NEW Added game.SetSkillLevel(int), game.GetSkillLevel()
  • NEW Added the following hooks to scripted effects: EFFECT:StartTouch(), EFFECT:Touch(), EFFECT:EndTouch()
  • NEW Added CUserCmd:SelectWeapon(weapon_ent)
  • NEW Added __tostring to CNavArea, CSoundPatch, IGModAudioChannel, PhysObj, dlight_t metatables
  • NEW Added PhysObj:GetName()
  • NEW Added CNavArea:Draw(), IsUnderwater(), GetSizeX(), GetSizeY(), IsRoughlySquare(), IsFlat()
  • NEW Added CNavArea:GetZ(pos)
  • NEW Added CNavArea:IsOverlapping(pos, tolerance)
  • NEW Added CNavArea:Contains(pos)
  • NEW Added CNavArea:IsCoplanar(navArea)
  • NEW Added CNavArea:GetClosestPointOnArea(pos)
  • NEW Added CNavArea:IsVisible(pos)
  • NEW Added CNavArea:GetCorner(cornerId)
  • NEW Added navmesh.GetNavAreaCount()
  • NEW Added navmesh.GetNavArea(pos, beneathLimit)
  • NEW Added navmesh.GetNavAreaByID(id)
  • NEW Added navmesh.BeginGeneration()
  • NEW Added navmesh.IsGenerating()
  • NEW Added navmesh.GetPlayerSpawnName()
  • NEW Added navmesh.SetPlayerSpawnName()
  • NEW Added navmesh.AddWalkableSeed(pos, normal)
  • NEW Added navmesh.ClearWalkableSeeds()
  • NEW Added Entity:IsDormant()
  • NEW Added ENTITY:Blocked(other), only applies to SENTs using the MOVETYPE_PUSH movetype
  • NEW Added Color:__tostring, Color:__eq and Color:ToHSV()
  • NEW Added gui.InternalKeyTyped(code)
  • DEL Removed “loop” flag from sound.PlayURL
  • DEL Removed support for vm_origin and vm_angles from GM:CalcView
  1. mrgareth66
    July 8, 2014 at 5:59 pm

    FIX GAME PLZ! Update broke server!

    • CJ Peal
      July 11, 2014 at 5:10 pm

      Since the update,I have been LAGGING HORRIBLY, Most objects light up and cause horrible lag to me, it ruins the game when i play deathrun :(

  2. Ty
    July 8, 2014 at 6:02 pm

    I’m getting this error while starting my DS:

    Failed to open (/lib32/ version `GLIBC_2.15′ not found (required by bin/
    Add “-debug” to the /gameservers/drpbravo/srcds_run command line to generate a debug.log to help with solving this problem

    I’m hosting on Linux Debian 7.0 if that helps at all.

    Any help would be greatly appreciated, thanks.

  3. Samuel Beguiristain
    July 8, 2014 at 6:53 pm

    TTT Servers are currently experiencing missing textures and hands. Also, errors displaying player roles winning at the end of a round.

  4. update *cough* test before release *cough cough*
    July 8, 2014 at 7:34 pm

    Annnnnd once again broken

  5. Chen Magled
    July 8, 2014 at 10:44 pm

    I have CENTOS I am hanm13 in facepunch What I need to do??
    Server will auto-restart if there is a crash.
    Failed to open (/lib/ version `GLIBC_2.15′ not found (required by bin/
    Add “-debug” to the ./srcds_run command line to generate a debug.log to help with solving this problem
    Tue Jul 8 18:50:55 EDT 2014: Server restart in 10 seconds
    ^CTue Jul 8 18:50:57 EDT 2014: Server Quit

  6. Prodigy282
    July 9, 2014 at 1:33 am

    Have you finally fixed the crotch guns in ttt??

    Gets really annoying when ur looking for a specific weapon

  7. Guillaume60
    July 9, 2014 at 11:42 am

    Fix for linux please…

  8. Nothing
    July 9, 2014 at 4:26 pm

    Fucking the update, my server offline, and in lost popularity….
    Fix for linux, I do not want to spoil my host machine,

  9. Jan Kaija
    July 9, 2014 at 4:30 pm

    People cant join my server after this update
    “Disconnect: Server uses different class tables.”
    Running on ubuntu server 13.04

  10. Guillaume60
    July 9, 2014 at 6:05 pm

    Update shit! Fix for linux!

  11. [KOR]혼살
    July 10, 2014 at 12:44 am


    • [KOR]혼살
      July 10, 2014 at 12:48 am

      and my OS is win 8.1.
      the error is every EUC-KR charset is broken. BUT in chatbox, it works.
      i saw chinese works well, but EUC-KR charset doesn’t work.
      it seems like server-side error. because I can see ‘unnamed’ or blank(”) username even I type ‘status’ in server console,
      FIX PLZ.

  12. mrniceguy518
    July 10, 2014 at 8:08 pm

    So, it’s true we have to wait for the dedicated server update? I’m just trying to make sure it isn’t anything on my side. I’ve tried restarting and updating, but it says that my server is already up to date. I’ve found that other servers fixed the class tables thing as soon as the update was released, but yet it seems I’m not the only one having this problem. Anybody?

    • [KOR]혼살
      July 11, 2014 at 2:33 am

      Did you try validating? (steamcmd blah -blah +blah validate)
      It may fix class table error. BUT unicode username will be broken.

  13. Cade
    August 5, 2014 at 4:37 pm

    their a period where Garry’s mod freezes horribly after being started (I know it’s Gmod because my CPU and Memory are barley being used). This also happens when a new addon is finished downloading. The same thing happens on all my friends G-Mod. Is this happening to anyone else

  14. kürdistan haberleri
    September 3, 2014 at 4:11 am

    Garry I have a question why is it everytime I go on single player mode. I get stuck as a spectator and I dont have spectator mode checked. And down at the bottown left corner it sais Wait: 0:00 seconds. And I wait forever and Im just stuck as a spectator..

  15. hong_yohan
    December 20, 2015 at 3:43 am

    I was enjoying a very fun Garry’s Mod
    But since I do not see that as Hangul Hangul in Garry’s Mod Chat and other Cross moved to Ubuntu 15.10 environment.

    UTF-8, from EUC-KR environment


Leave a Reply