Garry's Mod Logo
Changes Header

Changes

What’s changed in Garry's Mod in each patch.

add_circle

Features

  • Added whereis console command to menu state, helps with checking if addons are overriding a specific file
arrow_circle_up

Improvements

  • Forced player simulation (when players are not sending usercommands) now increments command number & changes random seed
handyman

Fixed

  • Fixed SetParent making crazy-physics system mad. Vehicle wheels should stop disappearing
  • Fixed some crashes related to shadows
  • Fixed some crashes when NPCs take damage with a null inflictor
  • Fixed WorkshopDL addons not updating properly
  • Fixed issues where game.MountGMA would not always reload models properly
  • Fixed Lua panic when returning from lua_run, lua_run_cl, RunString, BroadcastLua, Player:SendLua
  • Fixed multiple DoS attack vectors
handyman

Fixed

  • Parented entities (such as vehicle wheels) should no longer disappear after a while in certain cases
  • Game no longer crashes when attempting to mount a VPK archive twice
  • Legacy addons are mounted with lower priority if they contain files that might break sounds, materials, or the HUD
add_circle

Features

  • game.MountGMA
  • File:ReadLine
  • Anti-Cheat ConVars: sv_maxusrcmdprocessticks, sv_maxusrcmdprocessticks_holdaim, sv_maxusrcmdprocessticks_warning
  • Crazy physics ConVars: sv_crazyphysics_defuse, sv_crazyphysics_remove, sv_crazyphysics_warning
  • Hibernation ConVars: sv_hibernate_think & sv_hibernate_drop_bots
arrow_circle_up

Improvements

  • <del>Maps now prioritise content from their own game, this means that TF2 and Half-Life 2 maps load the correct content</del> <em>(postponed to future update)</em>
  • Left 4 Dead 2's DLC content is now mounted
  • Anti-Speedhack improvements
  • Windows SRCDS console now outputs text with UTF-8 encoding
  • Crazy physics catching system has been improved, making it difficult to crash servers with physics quirks
  • Parallel snapshot sending is now disabled by default, this was a common cause of server crashes when lots of data was being transferred
  • Players are now simulated even when they are not sending any data to the server
  • Flagged some potentially abusable console commands as cheats
  • include
handyman

Fixed

  • NextBots no longer simulate faster than normal players
  • Turrets' sounds are now cleaned up properly on removal
  • AvatarImage panels no longer leak memory when removed
  • Toggling vehicle third-person is no longer wrongly predicted
  • CTriggerCamera entities no longer crash the game in multiplayer
  • Entity:SetSubMaterial
  • Fixed sub-material overrides affecting the first rendered entity in certain hooks such as PostPlayerDraw
  • Entity:SetBoneMatrix
  • CreateConVar
  • Panel:SetPaintedManually
  • VMatrix divisions no longer crash when given non-userdata input
remove_circle

Removed

  • Removed ConVars: sv_voicecodec, sv_max_usercmd_future_ticks, sv_removecrazyphysics
handyman

Fixed

  • Vector
  • Joining a server with the wrong password now gives the correctly translated "Bad Password." response
  • Fixed inconsistent angle networking on Linux servers
  • surface.CreateFont
add_circle

Features

  • CNavArea.SetParent
  • CNavArea.GetParent
  • CNavArea.GetParentHow
  • CNavArea.ClearSearchLists
  • CNavArea.SetTotalCost
  • CNavArea.AddToOpenList
  • CNavArea.GetTotalCost
  • CNavArea.IsOpenListEmpty
  • CNavArea.PopOpenList
  • CNavArea.IsBlocked
  • CNavArea.IsOpen
  • CNavArea.IsClosed
  • CNavArea.RemoveFromClosedList
  • CNavArea.UpdateOnOpenList
  • CNavArea.AddToClosedList
  • CNavLadder.ConnectTo
  • net.WriteMatrix
  • net.ReadMatrix
  • Added support for ortho views in CalcView and cam.Start
  • SetString, SetFloat, SetInt, SetBool
  • CNavLadder.SetBottomArea
  • CNavLadder.GetBottomArea
  • CNavLadder.SetTopBehindArea
  • CNavLadder.GetTopBehindArea
  • CNavLadder.SetTopForwardArea
  • CNavLadder.GetTopForwardArea
  • CNavLadder.SetTopLeftArea
  • CNavLadder.GetTopLeftArea
  • CNavLadder.SetTopRightArea
  • CNavLadder.GetTopRightArea
  • game.GetIPAddress
  • game.KickID
  • Player.AnimSetGestureSequence
  • HTTP
  • PathFollower:GetAllSegments
  • CNavArea.GetExtentInfo
  • Added "AllSolid" to trace result
  • Added optional parameter to poster command to save each frame as a separate image
arrow_circle_up

Improvements

  • net.WriteType support for VMatrix
  • Catch crash condition in CBaseAnimating::TestHitboxes
  • Error/ErrorNoHalt now call menu state's OnLuaError hook
  • Improved error handling for NextBot coroutines
  • Don't try to load binary modules that have the same name as a base Lua module
  • Merged functionality of RunString/RunStringEx
  • Lua kick reasons can no longer be language strings
  • Home/End keys now work in Windows SRCDS consoles
  • Opening the chatbox while it is invisible/disabled no longer changes player view angles
  • Chatbox entry max char count is now correct (126)
  • TextEntry:OnTextChanged is now called after undo operation
  • -noworkshop now also prevents SteamAPI from being initialized too soon on dedicated servers
  • utf8.offset now conforms to Lua 5.3 spec
  • More friendly Steam API failure error messages ( for retrieving subscribed addons )
  • Updated the DirectX out of date popup to allow the user to try to launch the game anyway
  • Don't let players enter vehicles that they are a parent of (stack overflows!)
  • Limited engine.LightStyle to values that do not crash the game ( 0-63 )
  • Stop g_blurx/g_blury shaders from increasing output brightness
  • ENT:SelectWeightedSequence & Weapon:SendWeaponAnim no longer crash when given invalid acts
  • Calling gui.HideGameUI at the wrong time no longer stops the HUD from rendering
  • Context menus no longer remain when their parent is focused
  • Changed scheme of ClientDLL context menus to match DMenu
  • Weapon selection via key bindings should now always work on SWEPs
  • Vector() can now take a Vector as its first argument and return a copy of that vector
handyman

Fixed

  • Fixed VMatrix:SetScale() scaling the 2nd/3rd rows incorrectly
  • Fixed "destination group" problem in multiplayer with npc_template_maker
  • Fixed cyclic reference detection in util.TableToJSON
  • Fixed cyclic reference detection in PrintTable
  • Fixed buffer over-read in input library
  • Fixed collision bounds having no influence on nextbot navigation
  • Fixed net.ReadType for TYPE_NIL
  • Fixed debugoverlay spamming dedicated server console to oblivion
  • Fixed a multiplayer crash issue with combine auto cannon on ep2_outland_09
  • Possible fix for post processing shaders not working properly on Linux/OSX
  • Fixed model indices above 2048 not networking to clients properly
  • Fixed DFrame:Center when parented inside a panel not at [0, 0]