Garry’s Mod December 2021 Update Patch Notes (Offcial)

Garry’s Mod December 2021 update is now available to download on PC (Steam). According to the official Garry’s Mod patch notes, the latest update added a long list of bug fixes and gameplay changes. Apart from this, Garrys Mod patch 2 also includes performance improvements.

Previously, a minor update was with tweaks and fixes. Unfortunately, since the last patch, players are experiencing issues with the game.

Today’s Garry Mod July patch 2 will fix a few of these issues.

Garry’s Mod patch notes – December 15, 2021

Duplicator tool will now try to figure out what addons are used by the dupe, save that in the dupe file, and display required addons in the duplicator’s context menu. This only applies to new dupes
Making a map save now stores the Workshop ID of the map file in the save file, and adds the option to subscribe to the map if the map is missing
Show severity of problems in the problems menu
Failed addon downloads will now show up in the Problems menu with the reason why it failed
Added ability to view and revoke granted permissions in the Problems menu
Players now have to grant explicit permission for servers to be able to force voice chat on players
Numerous security fixes
Improved spawnmenu resilience against addons that do not set Sandbox tool name
CS:GO lobby is put into correct map category (Community Contribution)
Improved addon detection for Lua errors
You can now save dupes from the duplicator’s context panel
Experiment: Count connecting players as bots until they fully join
“Addon is missing its file” problem now shows which addon exactly is broken
Updated texture for the painting model
Minor optimization to map lighting loading
Do not allow npc_barnacle to pick up gibs it itself spits out
Force enable episodic behavior when npc_barnacle eats zombies so they are not just spat out as ragdolls

Added an option to show unuseful materials in Hammer’s texture browser, which includes: player logo decals, vertexlitgeneric materials, hud/vgui/particle folders. These materials are now hidden by default.
Added trigger_catapult entity from Team Fortress 2
Fixed C_FireSmoke particle crash for good
Fixed potential security issue with gmad.exe and specially crafted .gma files when extracting
Potential fix for a crash with C_OP_RenderRope particle render operation
Fixed a potential bug in materialsystem to do with Power of 2 rejection on texture load
Fixed a bug in the materialsystem where NoMip textures were trying to read past EOF looking for mipmaps, resulting in “Error unserializing VTF file… is the file empty?” errors
Display warnings and try to prevent a crash when an NPC’s memory is about to overflow
Fixed a crash due to out of bounds sequences with IK Rules and AccumulatePose
Fixed some addons that extract/load correctly on client not loading/extracting correctly on server. Both cases now simply display a warning before trying to extract
Fixed crashes when the File object in steamworks.DownloadUGC’s callback is closed prematurely
Fixed a crash in CSoundPatch.__tostring when used on invalid sounds
Fixed func_movelinear spamming sounds when used with momentary_rot_button
Fixed remaining potential crashes with npc_barnacle when its tongue entity is removed
ErrorNoHalt/Error will now display a stack trace in Problems panel
include errors now have a stack trace and appear in Problems menu
Disallow “Shadow” shader to be used as rope material to prevent crashes/graphical glitches
Bump MAX_LUA_FILES to 32k for single player only
Add probable cause to the “Failed to lock vertex buffer” message so users can more easily self diagnose
Bump MAXSTUDIOANIMS to 3k, MAXSTUDIOSEQUENCES to 2k (from 2k, and 1.5k respectively)
Added model name & position to VRAD’s “unexpected strips found” error to help debug which static props cause the issue
Fixed material name not appearing in “Warning in .VMT file .. ” and “Error in .VMT file: error parsing vector element…” warnings
Improved loading process to do with Lua files so they are not sometimes redownloaded every time, also makes accessing files from Lua cache potentially faster
Bumped MAX(_TOOL)_THREADS to 64 (4x previous limit)
Replace some possibly incorrect usage of FLT_MIN with -FLT_MAX, affects IKRules and displacements
Updated Steamworks SDK to v1.53a
m_flCycle is now networked in range of -1 to 1, from 0 to 1, fixing airboat spamming errors when going backwards in multiplayer
Removed ‘heartbeat’ console command
Removed env_hudhint entity

Added second argument to util.Base64Encode – skipNewLines, defaults to false
Added spawnmenu.SwitchCreationTab
Added VMatrix.Add, VMatrix.Sub and VMatrix.Mul (matrix*matrix only)
Added VMatrix.GetTransposed
Added Angle.Random
Added Vector.Random, Vector.Negate, Vector.GetNegated
HTTP() function now has a timeout field, which dictates the network activity timeout, and will fail with reason “timeout” if it is hit
Added render.GetViewSetup() – returns the CViewSetup stuff including both real FOVs and the de-corrected for aspect ratio FOV
Filesystem search now works with map’s PAK lump (file.Find included)
Added CUserCmd.AddKey
Added table.Shuffle (Community Contribution)
Added a new library: math.ease (Community Contribution)
Added DComboBox:OnMenuOpened( menu ) (Community Contribution)
Added table.MemberValuesFromKey (Community Contribution)
Added ENTITY:AddOutputFromKeyValue and ENTITY:AddOutputFromAcceptInput (Community Contribution)
Added SlowWalkSpeed to player_manager (Community Contribution)
Added DForm.PropSelect, ControlPanel.ToolPresets, ControlPanel.ColorPicker and ControlPanel.KeyBinder (Community Contribution)
Added math.DistanceSqr (Community Contribution)
Added support for 3 new types in AccessorFunc() – Vector, Angle and Color (Community Contribution)
markup library improvements – Adds markup.Escape, markup.Color, MarkupObject:GetMaxWidth, new argument to MarkupObject:Draw (Community Contribution)
Added permissions.EnableVoiceChat( bool )
Added CLuaLocomotion.Get/SetClimbAllowed
Added CLuaLocomotion.Get/SetJumpGapsAllowed
Added CLuaLocomotion.Get/SetAvoidAllowed
Added new argument to net.WriteColor – alpha (Community Contribution)
Added new argument to net.ReadColor – alpha (Community Contribution)
file.Exists now works with addon title pathIDs like file.Find
Fixed spawnmenu.SwitchToolTab doing nothing
Fixed constraint.GetAllConstrainedEntities returning all entities constrained to world if the given entity is constrained to world
Fixed Entity.StopLoopingSound() not working as expected when multiple sounds are involved
Fixed table.RemoveByValue throwing an error when key is not a number (Community Contribution)
Fixed invalid argument being given to TextEntry.AllowInput with non ASCII characters (Windows and OSX)
Fixed potential Lua errors in scripted_ents library (Community Contribution)
Fixed a linux crash with file.AsyncRead
Better implementation of Player.IsUserGroup (Community Contribution)
util.GetModelMeshes is now also available serverside
Entity:SetBodyGroups now accepts a-z as 10-35
Disallowed include()ing non .lua files
Made Entity.GetBloodColor shared
stopsound also shuts down all CSoundPatches (So their IsPlaying status resets to false)
Made hook.Add/Remove not silently fail on arg type mismatch (Community Contribution)
Micro optimization in draw.SimpleText (Community Contribution)
Minor optimizations to string.Comma (Community Contribution)
Added +voicerecord to blocked console command list – use permissions.EnableVoiceChat instead
GM:PlayerAmmoChanged now runs AFTER the ammo count has been changed
Made File:Read() size argument optional, defaulting to File:Size()

Download free Garry’s Mod update December 2021 on PC (Steam).

Jack Johnson
Jack Johnson
Jack Johnson mainly writes about game-related news and updates. He is a passionate gamer, music lover, and traveler.

Latest Articles