What’s New

Garry's Mod

Games

Garry's Mod is a physics sandbox.

Latest · by Facepunch StudiosWebsite

Changelog

April 2026 Update

Added
  • Black Mesa and Military Conflict: Vietnam are now available as mountable games
  • Combine APC is now a built-in vehicle available in the spawnmenu and fully driveable by players
  • Support for SecondaryClip in SWEP:CustomAmmoDisplay table added
Changed
  • Weapon selector can now display more slots and scroll when there are too many weapons equipped
  • Ammo HUD now correctly displays ammo for modded weapon types using secondary clips
  • HUD scales better at 4K resolution to prevent overlapping of Sandbox notifications and voice chat with ammo display
  • Network protocol updated to enable faster network transfer speeds and reduce server join times
  • Reduced unnecessary networking from various entities to lower bandwidth usage on initial player spawn
  • Game systems switched to use double precision time to reduce server restarts and improve game feel on long sessions
Fixed
  • Props no longer become pitch black when resting on ground
  • Fire effects now display correctly
  • Broken models now spawn correct gib models
  • APC gun effects now work for driver in multiplayer
  • Entity PhysicsCollide hooks regression fixed
  • Ragdoll corruption when re-selecting with Faceposer flex values fixed
  • Crashes when using physics gun or gravity gun on Linux 32bit clients fixed
  • Workshop support when Steam throws errors during subscription info gathering fixed
  • Net channel corruption due to fragment counts out of safe bounds fixed
  • Ammo HUD positioning corrected when using SWEP:CustomAmmoDisplay
New mountable games

With community effort and permission from the respective game developers, 2 new games are now available to be mounted in Garry's Mod: Black Mesa and Military Conflict: Vietnam!

As with other mountable games, you will need to own them on Steam first, which will enable players to use maps and models from these games in Sandbox and other gamemodes.

HUD Improvements

Some default HUD elements received some polish - the weapon selector, damage indicators, health and ammo displays.

The ammo HUD now correctly displays ammo for certain modded weapon types that use secondary clips, the default weapon selector can now display more slots and scroll weapon selection when there are too many weapons equipped to fit on the screen.

The HUD now also scales better at 4K resolution, preventing certain elements such as Sandbox notifications and voice chat from overlapping the ammo HUD.

New content & content fixes

The Combine APC is now a built-in vehicle, right in the spawnmenu, fully driveable by the player.

There are also numerous bug fixes to existing models for various issues such as props becoming pitch black when resting on ground, fire effects not displaying correctly and spawning wrong gib models when broken.

Network protocol changes

This update brings significant under-the-hood changes to the game's networking, enabling faster network transfer speeds to reduce server join times, and removing a whole host of unnecessary networking done by various entities, hopefully reducing overall bandwidth usage, especially on initial player spawn.

This update also switches many game systems to use double precision time, which should help servers to not need to restart or change maps as often and improve overall game feel after playing for a while on the same map.

Smaller stuff

As usual this update also brings a huge amount of fixes and other smaller changes. Some optimizations to performance and memory usage as well.

You can find the full change list for this update in our blog post:

https://gmod.facepunch.com/news/april-2026-update

April 30th Hotfix
  • Disable physics scaling optimizations - too unstable

  • Disable static prop physics scaling - too unstable

  • Remove "invalid sequence ack nr" check - gives false positives

  • Fixed some ragdolls becoming pitch black when on ground post update

  • Prevent Entity:Spawn() on already spawned vehicles - This fixes a graceful exit which fixed a memory leak

  • Fixed APC gun effects not working for driver in multiplayer

  • Made APC gun use airboat muzzleflash for player drivers so its not as blinding in first person view

  • Fixed regression with Entity PhysicsCollide hooks

  • Double FIELD_ types support for internal variable entity Lua functions

  • Fixed a crash with ragdolls when spawning them in teleport triggers

May 8th Hotfix
  • Potential speculative fixes for Peer 2 Peer connection issues

  • Slightly lowered default value of net_maxfragments (28000=>24576)

  • Fixed re-selecting ragdoll with Faceposer corrupting flex values

  • Fixed crashes when using physics gun or the gravity gun on Linux 32bit clients

  • Fixed workshop support when Steam throws errors during subscription info gathering

  • Prevent corruption of the net channel due to fragment counts being out of safe bounds

  • Make concommand.Add errors non halting

  • Fixed ammo HUD positioning due to SWEP:CustomAmmoDisplay

  • Added support for "SecondaryClip" in SWEP:CustomAmmoDisplay table.

December 2025 Patch

Hello everyone,

A new small patch has been released.

This one contains mostly fixes for regressions introduced by the November Update, as well as some other minor fixes.

Sandbox servers and clients are recommended to update at their earliest convenience.

The change list is as follows:

  • Fixed decals not rendering in Hammer

  • Re-added model scale to prop_dynamic in Hammer

  • Limit physics rescaling to prop_physics and sent_anim

  • Fixed server Lua error when using "" for rope material

  • Make Resistance Mine have proper name in killfeed

  • Added Cable_DX8 to rope shader whitelist which is used by some default materials

  • Combine Mine relationship adjustments

  • Respects Ignore Player and Disable AI settings

  • Doesn't attack Combine Gunship, Manhacks, Stalkers

  • Always attacks Barnacles and Xen Aliens from Half-Life 1

  • Fixed client D.O.G. ragdolls leaving behind ropes on removal

  • Set default m_flUseLookAtAngle for func_button to 0.8 (was 0) in engine

  • Set min_use_angle to 0.8 (was 0) for func_button in Hammer

  • Fixed certain NPCs (such as Alyx and Citizens) firing 2 bullets per pistol shot

  • Fixed Alyx firing the .357 Magnum also spawning reload shells

  • Fixed crashing on loading a Source Engine saves when Nextbots are present in the save file

  • Fixed map load crashes to do with corrupted maps (corrupted overlays)

  • Fixed prop gibs stopping spawning after the 300th in multiplayer

  • Fixed func_proprrespawnzone not being tracked properly clientside

  • Prevent recreating tool GhostEntity every tick with some tools (Community Contribution)

  • Fixed Motor tool torque axis being wrong if the motor was rotated after creation and before first activation (Community Contribution)

  • Fixed Lua errors when trying to open spawnmenu in Sandbox derived gamemodes with Spawnmenu disabled

  • Fixed main menu Lua errors when starting certain maps

  • Reimplemented kickid console command from scratch to hopefully resolve corrupted kick reasons issue

  • Reworked internals of Player:Kick and game.KickID to be consistent with each other

  • Fixed a regression with CBasePlayer::Kick that resulted in weird kick reasons

  • Fixed floating addons failing to mount on Linux systems

  • Don't try to load save files from mountable games

  • Fixed a regression with Entity:CreateParticleEffect when using tables

  • Fixed models/cs_fix.mdl not loading due to it being corrupted

  • Updated Zombine and Combine Soldier without armor player models to fix their animations

The entire change list can also be found on our website:

https://gmod.facepunch.com/news/december-2025-patch

November 2025 Update

The November 2025 Update is now live.

New water visuals

This update adds new water rendering features from newer Source Engine games to Garry's Mod. Here's a comparison:

This includes flow maps, lightmaps and ability to reflect 3D skybox. This both improves compatibility with mountable games, as well as enables map makers to use these new features in their maps.

It must be noted that these changes may unexpectedly affect a small amount of existing maps. The issue here is that some map makers are using (modified) water materials from other Source Engine games which have parameters that did not previously work, but do work correctly now, causing unexpected changes in water appearance. This is unfortunately unavoidable from our end, and will need to be individually fixed by map makers by editing their water materials. No map recompilation needed.

4-way blends

Another port from newer Source Engine games is the 4-way blend shader.

This is also going to help map makers make better looking maps, easier.

Built-in NPC improvements

A long standing issue from the very inception of Garry's Mod was the lackluster support for weapons used by NPCs, especially when NPCs use weapons that they never used in Half-Life 2. This update finally addresses these issues.

NPCs no longer T-pose when trying to use non default weapons, such as Metrocops using RPGs or AR2s, Combine Soldiers can not only use all the built-in weapons without issue, but also run around and chase the player with no weapons. Citizens no longer stand up to shoot when crouched.

More NPCs can now use weapons as well, providing more options than ever.

With improvements to duplicator support for Half-Life 2 entities, Resistance-hacked Combine Mines are now available from the spawnmenu, and both it and the Flechette Gun are now available for all players, regardless of what games are mounted.

Sandbox improvements

Faceposer got some minor improvements with the ability to randomize or clear only a specific category of sliders:

And an option for Spawn Menu and Context Menu keys to act as a toggle has been added to the Utilities panel:

Other stuff

As per usual, this update also brings a set of under the hood fixes and optimizations, and of course a number of new Lua API features have been added.

You can find the full change list for this update in our blog post:

https://gmod.facepunch.com/news/november-2025-update

July 2025 Update

Artwork Showcase - "The Construction"

The July 2025 Update is now live.

Update Highlights

The biggest user-facing change in this update brings most of Counter-Strike: Source and Half-Life 2 Episodic content to Garry's Mod by default, with gracious permission from Valve. This means that you no longer need to own those games and have them installed to play on community maps that expect you to have this content.

Please do note that maps from those games are not included, so you'll still need to install those games to use their maps, and neither are voice over files and music, due to licensing issues.

This won't eliminate all instances of missing content (missing textures and ERROR models), but it will address a majority of instances of this issue. The remainder would just be addon authoring or installation errors.

This also means that Half-Life 2: Episode 2 content is now available in the spawnmenu for every player by default.

As usual, there is a large number of smaller changes - crash fixes, optimizations, additions, as well as other miscellaneous improvements for modders as well as players.

You can find the full change list for this update in our blog post:

https://gmod.facepunch.com/news/july-2025-update

May 2025 Patch

Hello everyone,

A new patch has been released. This one contains mostly stability and security fixes.

Servers and clients are recommended to update as soon as possible. The change list is as follows:

  • Throw a non halting Lua error when hitting Lua file limit, to let players know that they have hit the limit

  • Fixed a regression crash on Linux when almost finished loading a map

  • Prevent crashes with steamworks library when used too early on dedicated servers

  • Fixed console spam about invalid sprite orientation when the sprite material is simply missing

  • Fixed HLTV clients being kicked due to mismatching SteamID

  • Fixed a crash to do with env_projected_texture's texture

  • Fixed some security issues reported on HackerOne

  • Remove unnecessary return value in WorldPickerMouseDisable hook so GM:VGUIMousePressAllowed hook works more reliably for addons (Community Contribution)

  • Fixed Lua error with creator tool when trying to spawn NPCs that do not exist on the server (Community Contribution)

  • Blocked .vdf and specific .cfg files from being accessible by the Lua file library

  • Added one more known Lua backdoor URL to HTTP blacklist

  • Increased default value of mem_max_heapsize to 512, and block it from being changed by Lua API

  • Block datacachesize convar from being changed by Lua API, to prevent crashes when set to invalid values

  • Fixed monitor (and potentially other) materials in Hammer acting strangely when using "Fit" option in texture application tool.

The entire change list can also be found on our website: https://gmod.facepunch.com/news/may-2025-patch

Edit: For people still experiencing crashes when pressing "Start Game" - delete your bin/ and garrysmod/bin/ folders and verify game cache integrity through Steam. Some 3rd party files/programs that may have been put into the game's folder by the player are causing issues, such as graphics modifications. Updating those files might also work.

April 2025 Patch

Hello everyone,

A new patch has been released. This one contains mostly fixes, some for regressions introduced by previous update, as well as some crash fixes, security improvements and a number of under the hood changes.

Servers and clients are recommended to update as soon as possible.

The entire changelist can be found on our website: https://gmod.facepunch.com/news/april-2025-patch

March 2025 Hotfix

Hello everyone,

We are releasing a small patch today with some fixes for issues introduced in the previous update, as well as some extra fixes.

Servers and clients are recommended to update as soon as possible.

Change list
  • Fixed bone manipulations not working clientside if ever set serverside on the same entity (Regression)

  • Fixed regression with TTT team colors while spectating

  • Fixed a regressive server crash to do with keyvalues

  • Fixed some small memory leaks in dedicated server workshop handling

  • Added -noconclr launch parameter to disable dedicated server console colors

  • Partially implemented missing mat_ambient_light convars used by one of the newly added entities

  • Fixed Half-Life: Source shotgun right click pump sounds desync

  • Made zoom_sensitivity_ratio save across sessions

  • Micro optimization for how C++ retrieves entities from Lua

  • Made PLAYER:AddCleanup server only (Community Contribution)

  • Added some new entities to Hammer (FGD) that were missed from the main update

  • Fixed ELF_KEEP_ON_RECREATE_ENTITIES sharing value with another flag, resulting in unexpected behavior

  • ContentIcon.Copy & SpawnIcon.Copy also copies the tooltip

Main update post can be found here: https://store.steampowered.com/news/app/4000/view/521961040610590764

March 2025 Update is live

Artwork by "Rozy Cosmic"

The March 2025 Update is now live.

Update Highlights

This update brings some new content to Sandbox:

There are also further localization improvements to the Sandbox gamemode, more English-only phrases are now translated to player's selected language.

We also have a new mountable game, at the request of its developer: https://store.steampowered.com/app/1786950/Klaus_Veens_Treason/

Players will be able to use maps, models and other assets from this game in Garry's Mod, once mounted through Main Menu's Games section.

This update also adds a large number of new entities to the game, mostly from newer Source Engine games. This should help mappers create even better maps, and potentially improve compatibility with maps from mountable games.

In addition, there were some improvements to the Hammer editor and map compilation tools, further benefitting mappers.

This update also brings partial custom shader support, enabling modders to create fancy effects such as this:

As usual, there is a large number of Lua API additions and fixes, as well as other miscellaneous fixes and improvements for modders as well as players.

You can find the full change list for this update in our blog post: https://gmod.facepunch.com/blog/march-2025-update

This update requires servers to update before you can join them.

This means that for a certain period of time after the update releases you may be unable to join servers and get a message saying "The server is running an older version of the game" instead. You will have to wait for servers to update before you can join them again, as well as make sure your game is up to date.

You cannot downgrade to a previous version of the game. Please be patient and let server owners update their servers.

December 2024 Patch

Hello everyone,

We are releasing a small patch today with some fixes for issues introduced in the previous update, as well as some extra fixes.

Servers and clients are recommended to update as soon as possible.

Change list
  • Merged Episode 1, Episode 2 and Lost Coast mounting options into the Half-Life 2 mounting option

  • Added sv_quota_stringcmd_kick convar - kicks players who exceed sv_quota_stringcmdspersecond

  • Fixed crashes to do with entity render groups in Lua

  • Fixed crashes with missing physics objects in bone followers and info_radial_link_controller

  • Fixed crashes with particles getting insane particle count

  • Fixed crashes to do with NPC:TaskFail & debug overlay

  • Fixed crashes with CTriggerWind when loading a save

  • Fixed GM:PlayerAuthed being called twice

  • Fixed GM:PlayerAuthed always returning empty SteamID in singleplayer even when we have it available

  • Fixed 2 exploits reported via HackerOne

  • Fixed r_lightcache_zbuffercache 1 crashing the game if set after map load

  • Fixed "material __error is missing" warning on map load

  • Fixed .gma whitelist being different between game/gmad

  • Fixed character blinking by making flex controller names case insensitive again

  • Fixed degraded loading times for certain servers/addons due to spawnmenu changes from October 2024 update

  • Fixed BRANCH being set to "prerelease" on NONE beta clients (dedicated servers will continue to report "prerelease" on NONE/"public" beta)

  • Fixed Lua error with DTree node on rebuild when all its child nodes are deleted

  • Fixed dying outside of the map displaying "Dropping weapon in solid" console messages - Player:StripWeapons still drops weapons before removing them, Player:KillSilent and other methods of dying no longer does

  • Potential fix for family sharing owner SteamID being wrong in unknown cases

  • Potential fix for server reconnect spam by malicious actors

  • Removed a bunch of unused gamemenucommand commands - things like Half-Life 2's chapter selector, etc

  • Removed __screenshot_internal - it was never used by the game, no reason to keep it

  • Removed cl_soundfile - Unused, no reason to keep it, was trying to send itself to servers on join

  • Removed unused systems - Source's bug reporter, benchmarking stuff, BonusMaps stuff, Mumble stuff

  • Removed some debug related save/load related console commands

  • Added some more known backdoor URL to HTTP blacklist

  • Blocked "load" console command for Lua

  • Disallowed players from using voice chat unless they are fully connected

  • Do not set "commentary" to 0 on map start, since the console variable no longer exists

  • Stop shipping Commentary Editor for -tools, since we removed the commentary system which was never used in the first place

October 2024 Update is live

The October 2024 Update is now live.

Update Highlights

This update brings many animation fixes for the Half-LIfe 2 campaigns playable through Garry's Mod if you own the games on Steam.

There are also a few quality of life improvements - a search bar for addon presets and spawnicon editor menus, as well as a date of last visit for each server in the server browser.

For modders the new Particle Editor layout is now available, identical to how it works in newer Source Engine games. A whole bunch of new particle operators and initializers are included with the new layout a as well.

The update also includes a bunch of smaller fixes, optimizations, stability improvements and additions here and there, for modders and players alike.

This update requires servers to update before you can join them.

This means that for a certain period of time after the update releases you may be unable to join servers and get a message saying "The server is running an older version of the game" instead. You will have to wait for servers to update before you can join them again, as well as make sure your game is up to date.

You cannot downgrade to a previous version of the game. Please be patient and let server owners update their servers.

You can find the full change list for this update in our blog post: https://gmod.facepunch.com/blog/october-2024-update

August 2024 Patch

Hello everyone,

We are releasing a small patch today with some fixes for issues introduced in the previous update, as well as some bonus fixes.

Servers and clients are recommended to update as soon as possible.

The changelog is as follows:

  • Fixed performance degradation with lots of static props
  • Fixed crash with threaded addon file access
  • Fixed changelevel crash to do with ragdolls
  • Fixed crashes when trying to draw invalid sprite textures
  • Fixed Lua errors when spawnlists contain invalid data
  • Fixed spawning Sky editor not loading in Star Scale setting

July 2024 Update is live

Update Highlights

The Faceposer tool got some upgrades with this update, the model flexes can now be grouped into convenient, collapsible groups, making it easier to find what you are looking for at a glance.

These groups are loaded from the models themselves, so the support for this feature is up to model makers.

This update also comes with reworked default spawnlists, finally exposing every single model that comes with the base game, as well as pre-generated spawnicons for every single one.

Please note that these new spawnlists may not appear for you until you delete existing spawnlists (garrysmod/settings/spawnlists/ folder) if you played Sandbox prior to this update.

Be aware that this folder also includes your custom and modified spawnlists.

In addition to the new default spawnlists, you can now more easily create custom spawnlists for your addons. Simply right click on an addon in your Spawnmenu's browse section and select "Create a spawnlist from this folder". It will generate a spawnlist and group addon props by folder they are in. This also works for mountable games in the same section of the spawnmenu. Don't forget to save your changes when you add new spawnlists or modify them!

Other spawnmenu improvements include more information about weapons and entities straight from the spawnmenu, as well as a visual indicator when a tool is disabled by the server. (toolmode_allow_ console variables)

Finally, there are many, many smaller changes, a lot of crash fixes and many improvements for mod makers, as per usual.

You can find the full change list for this update in our blog post: https://gmod.facepunch.com/blog/july-2024-update

March 2024 Patch

Hello everyone,

We are releasing a small patch today with some fixes for issues introduced in the previous update, as well as some bonus fixes.

Servers and clients are recommended to update as soon as possible.

The changelog for March 19th is as follows:

  • Fixed lua_refresh_file not working with gamemode or addon files

  • Fixed autorefresh not working on symlinked folders and subfolders

  • Allowed physgun_wheelspeed to go negative again

  • Fixed async model loading system trying to load already loaded models

  • Fixed RecipientFilter global having its argument have a flipped meaning

  • Fixed a crash due to sounds failing to be loaded

  • More potential crash fixes to do with texture loading

  • Fixed net.WriteData warning not displaying correct data

  • Fixed "bad sequence" warnings so they display correct max number

  • Fixed "Unable to initialize DirectSoundCapture" disabling voice chat

  • Fixed some presets being erroneously treated as collection ID

  • Fixed "flush" concommand crashing on windows dedicated server

  • video library restores fps_max if it sets it

  • Moved "render to video" temp file to videos/ folder

  • Fixed "render to video" not rendering while main menu is open

  • CPropDoorRotatingBreakable does not try to precache NULL model breakables

  • Fixed quitting while demo is being recorded writing invalid tick count to the demo count

  • Fixed a crash with the mesh library

  • Fixed DModelPanel having issues with depth buffer when 2 panels are overlaid

  • Removed some useless concommands - Test_CreateEntity, Test_RandomPlayerPosition

The changelog for March 21th is as follows:

  • Fixed "cc_lang: invalid language" warning appearing with empty cc_lang

  • Fixed "Tried to Read into NULL memory!" warning appearing when mounting L4D2

  • Fixed random crashes to do with ClientsideModel & ents.CreateClientProp

  • Increased some mapping limits:

  • MAX_MAP_OVERLAYS 1024 -> 8192

  • MAX_MAP_TEXDATA 2048 -> 8192

  • MAX_MAP_TEXINFO 12288 ->16384

  • Fixed a crash with NWVars

  • "Remember my choice for this server" is actually remembered when pressing "no" for the current session

  • Error checking in spawnicon context menu when spawnicons are removed while the player has the context menu open

March 2024 Update is live

Artwork showcased: "(https://steamcommunity.com/sharedfiles/filedetails/?id=3165395581)"

The March 2024 Update is now live.

New Crosshairs

This update brings a new default crosshair for the base game, as well as ability to customize your crosshair.

This is usually fulfilled by using addons, but the default crosshair had a long standing issue of being impossible to see on bright backgrounds, so a new one was well overdue.

You can now customize the crosshair in the Options menu:

(You can reset the slider values by middle mouse clicking on them! It works in many places!)

The new default crosshair, a dot image, is visible no matter what you are looking at. You can still use the old crosshair if you really must, via the aforementioned crosshair customization.

The options menu was also changed a bit:

Bringing some of the more obscure settings to the front, so players know of their existence.

Sandbox Improvements

A quality of life change to the built-in Bodygroup & Skin changer is added in Sandbox:

You can now switch skins and bodygroups without closing the menu by right clicking on the options.

Additionally, new quick options are now available in the Server section of the menu bar:

These are only available to be changed in singleplayer or by the listen server host, but hopefully will bring more of a spotlight to existence of these settings.

A lot of more of them can be found in the Spawnmenu's Utilities tab, which were added in previous updates.

Portal 1 entities are now also available in the base game for owners of Portal 1 on Steam:

Other Changes

There has been a huge amount of other, smaller changes that may or may not be visible to players.

You can now share addon presets with your friends, or import them from collections:

Some improvements were made to duplicator support, such as saving NPC health and max health, "Make Persistent" option, and "frozen by physics gun" status.

A large amount of crash issues were fixed.

As usual, a large amount of new Lua API features were added for mod makers, as well as some minor improvements to map making tools.

You can find the full change list for this update in our blog post: https://gmod.facepunch.com/blog/march-2024-update

January 2024 Patch 2

Hello everyone,

We are releasing a small patch today with some security fixes. Servers and clients are recommended to update as soon as possible.

The changelog is as follows:

  • Made Entity.PhysicsInitMultiConvex throw type errors when given invalid input

  • Removed unused DLLs from game's folder - bugreporter.dll, sixense.dll, headtrack_oculus.dll

  • Shutdown HTML after VGUI - hopefully fixes a rare crash on game exit

  • Made the BSP whitelist case insensitive

  • Blocked access to .db files via the file library

  • Made GM:OnLuaError available on client and server

  • Made LuaMesh.BuildFromTriangles correctly modify the mesh when used on an already generated mesh - This is now only permitted when the vertex count matches between existing mesh, and the new mesh.

  • Added safeguards against malformed .gma files

  • Added overflow/underflow safeguards to render.Push/PopRenderTarget functions

  • Fixed several security issues reported on HackerOne

January 22 Update:

  • Fixed crash with npc_satchel

  • Fixed crash when try to push a NULL ITexture

  • Fixed a crash when failing to create a fish entity

  • Fixed a crash when failing to create child ents for point_spotlight

  • Fixed crashes when failing to create entities for fire entity

  • Fixed Gravity Gun leaking material reference count

  • Fixed crashes with deleting ai_network entity

  • Bumped "insane reference count" threshold 10x

January 23 Update:

  • Fixed crashes with NPC nodes after cleaning up the map

January 2024 Hotfix

Hello everyone,

We are releasing a small patch today with some minor fixes.

The changelog is as follows.

  • Fixed saves really not working on maps with spaces in their names

  • Fixed a number of security issues reported over the holidays

  • Fixed addon file paths being lowercased before being mounted, causing issues for Linux users

  • Allowed color correction files (materials/.raw) and vehicle scripts (scripts/vehicles/.txt) in map files

  • Made "Entity thinking for X ms!!!" physics warning to only appear when "developer" is set to "1" or above

December 2023 Patch

Hello everyone,

We are releasing a small patch today with some minor fixes.

The changelogs are as follows.

December 19, 2023 Patch:

  • Fixes towards certain files not loading from inside maps

  • More security fixes

  • Fixed keybinds being lost if they contain semicolons

December 18, 2023 Patch:

  • Added PANEL:OnTextClicked( id ) for RichText

  • Temporarily restored PANEL:ActionSignal for RichText

  • Temporary measures for addons that fail to load due to "failed to parse addon file"

  • Minor security fixes

December 15, 2023 Patch:

  • Fixed even more security issues. Please update as soon as possible. This mainly affects clients, but servers are recommended to update as well.

  • Display addons in red in Addons menu when they contain illegal files (and therefore not mounted/working)

  • Fixed playing a demo not starting a loading screen

  • Removed certain Lua API functions: ConsoleAutoComplete (menu), Panel.Command, Panel.SetActionFunction, Panel.SetPaintFunction, Panel.PostMessage, Panel.SetCommand, PANEL:ActionSignal, GM:LoadGModSaveFailed (clientside)

  • Fixed some crashes to do with engine light styles

  • Improvements to Garry's Mod's save system to prevent weird behavior, such as saves loading on wrong maps

December 14, 2023 Patch:

  • Fixed certain security issues. Please update as soon as possible. This mainly affects clients, but servers are recommended to update as well.

September 2023 Patch

Hello everyone,

We are releasing a small patch today with some minor fixes. This patch mostly affects game clients.

The changelog is as follows:

  • Fixed HL:S skill configs setting HL2 convars

  • Fixed an infinite loop crash with Panel.KillFocus and Panel.OnLoseFocus

  • Fixed a crash with text rendering

  • Fixed crashes with filesystem printing warnings

  • Fixed custom HTTP methods not working on clients

  • Applied file.Exists fix to file.IsDir for Lua paths

  • Use double precision floats for physenv.GetLastSimulationTime

  • Added fallback sounds for EP2 vortigaunt attacks

  • Unspecified minor security fixes

August 2023 Patch

Hello everyone,

We are releasing a small patch today with some minor improvements. Servers are recommended to update at their earliest convenience.

The changelog is as follows:

  • Added util.IntersectRayWithSphere

  • Added util.IsSphereIntersectingSphere

  • Added util.IsBoxIntersectingSphere

  • Added util.IsPointInCone

  • Added util.IsSphereIntersectingCone

  • Panel.PaintManual can now render panels larger than the screen, when its first argument is set to true

  • Added "Clear" button to the console

  • Added missing TF2 map icons from its new updates

  • Added "Color Lit Per Particle" particle initializer, update "Color Random" initializer to include new options

  • Added duplicator.Disallow (Community Contribution)

  • Added DPanPanel (Community Contribution)

  • Added math.CHSpline (Community Contribution)

  • Added SANDBOX:ContextMenuShowTool hook (Community Contribution)

  • Added Global.ScreenScaleH (Community Contribution)

  • Added table.Pack (Community Contribution)

  • Added table.Flip (Community Contribution)

  • Added DHScrollBar (Community Contribution)

  • Added math.CubicBezier (Community Contribution)

  • Added math.QuadraticBezier (Community Contribution)

  • Made language.Add type-error on invalid input instead of silently fail

  • Last argument of util.IsOBBIntersectingOBB is now optional

  • Try to prevent static prop lightmap crashes when given invalid data

  • Panel.PaintAt restores zpos of the panel

  • Clamp physics forces phys_torque applies to prevent crashes/crazy physics

  • Duplicator saves and restores sub materials by default

  • Restored nav_generate progress dialog UI

  • Move OnRequestFullUpdate warning to developer 1 so it is not as spammy

  • Matched behavior of SteamID functions for bots between clientside and serverside

  • Made Player:SteamID64 and Player:AccountID never return no value

  • Error no halt when player.CreateNextBot would crash due to being ran too early

  • Remove limits when reading SteamHTTP response headers

  • Entity.IsMarkedForDeletion now checks Entity.Remove queue, so its output is now more correct

  • Applied an experimental change to render.RenderView to render using VIEW_MONITOR instead of VIEW_MAIN as a potential fix for sprite rendering when using that function

  • Added more NPCs categorized as hostile and friendly towards players (IsFriendEntityName global) (Community Contribution)

  • Added Versus Saxton Hale map category from recent TF2 update (Community Contribution)

  • TTT: Disable notification sound by default and add a setting for it (Community Contribution)

  • Various code cleanups (Community Contribution)

  • Fixed trigger_hurt forgiveness not resetting damage correctly

  • Increased limit of language.GetPhrase output to 4000 bytes, from 1000 - if limit is hit, truncate the string, instead of outputting an empty string

  • Fixed a crash due to BSP ZIP hash collision

  • Fixed crashes due to combining Entity:EnableCustomCollisions and Entity:PhysicsInitSphere

  • steamworks.GetList "days" parameter is functional again

  • Restored functionality of "dtwarning" convar, which defaults to 1 now to maintain old behvaior

  • Make Entity:InitializeAsClientEntity do nothing and error no halt when used. The function was useless and would often crash when used inappropriately

August 9 hotfix:

  • render.RenderView now accepts "viewid" option, instead of forcing a speicific ID, no longer breaks some addons

  • Added missing dependencies for linux client for distributions that are missing them

  • CNavArea:SetParent can now accept nil as first argument

  • Player:IsListenServerHost is now shared

  • Stricter access control for lua_find* conncommands

July 2023 Patch

Hello everyone,

We are releasing another small patch today, addressing some issues found out from the last update, as well as some additional improvements.

The changelog is as follows:

  • ents.GetMapCreatedEntity is now shared

  • Fixed a crash issue when loading certain particle files

  • FIxed skill configs not applying in time for singleplayer, resulting in NPCs not having health set, etc

  • TTT: Made Poltergeist weapon range easier to override (Community Contribution)

  • TTT: Fixed notification sound cue and make it toggleable (Community Contribution)

  • DListView now ignores invisible lines (Community Contribution)

  • Fixed metropolice NPC crashing when its target is removed during a weapon burst fire

  • Steam Voice Settings opens Steam Settings in overlay

  • Increased vtx filesize limit for studiomdl.exe, and added safeguards against crashing when the limit is hit

  • Fixed a regression with halo/outline rendering

  • poster command now works correctly with cl_leveloverview enabled

  • Fixed up ToS/Privacy Policy links on Options menu

  • Added voice_recordtofile to blocked concommand list

  • DNS lookup Global.HTTP URLs before sending them to Steam

  • Potential improvement to 64x64 cubemap quality when building map cubemaps (Community Contribution)

July 18 Patch:

  • Removed Global.HTTP DNS lookups as they were causing too many issues

  • Added missing snow footstep sound fallbacks

  • Fixed npc_(template_)maker crashing the server when spawning non NPC entities

  • Added VMatrix.__unm (negate operator)

  • Prevent display of concommands in gamemode settings

  • Do not run OnRequestFullUpdate outside of main thread to prevent server crashes

  • Defer gamemode loading until all other components are loaded

June 2023 Update is live

Artwork showcased: "Movie Night"

The June 2023 Update is now live.

This update adds a few new visual effects for mappers and modellers to take advantage of, for better visuals.

There are also new additions for the Hammer Editor for mappers to enjoy, such as new entities, static prop lightmaps, and more.

We are also introducing experimental changes that remove the script limit for singleplayer, so that you can play with all your addons regardless of how many you have installed.

This update also adds a new option to delete temporary server files on game shutdown, such as sprays. This feature is controlled by gmod_delete_temp_files console variable and is enabled by default. If you wish to disable this feature, you can set the console variable to 0.

And as usual, there are plethora of new Lua API additions and changes for modders to create even cooler addons.

You can find the full change list for this update in our blog post: https://gmod.facepunch.com/blog/june-2023-update

This update requires servers to update before you can join them.

This means that for a certain amount of time after the update releases you may be unable to join servers and get a message saying "The server is running an older version of the game" instead. You will have to wait for servers to update before you can join them again.

You cannot downgrade to a previous version of the game. Please be patient and let server owners update their servers.

June 30 Hotfix:

  • Fixed a crash related to rendering static props

  • Case insensitive search for singleplayer files

  • Fixed addons breaking properties system clientside

  • Fixed a server crash when maxplayers is set in server.cfg and the command line

  • Made Combine Gunship aim at player's center so it can actually hit players

  • Fixed Combine APC bullet tracer coming from the wrong attachment

  • Fixed combine APC rockets going over player's head with certain hold types

  • Fixed a crash with DMX unserializer when external references are used

April 2023 Patch

Hey everyone,

We are releasing a small patch today.

The entire change log is as follows:

  • Fixed ToolGun:GetToolObject returning local players values for other players clientside

  • Fixed potential Lua errors with PropSpawn effect

  • Fixed an infinite loop with util.TableToJSON when a table has __index that always gives non-nil output

  • Refresh language files on gamemode change

  • Reworked how GetItemInfo timeout works for WorkshopDL to hopefully work better

  • Fixed crashes when barnacle m_hTongueTip's m_pSpring is null

  • Throttled CreateFragmentsFromFile messages to 1 a second to avoid lag

  • Expanded the 'Your map differs from the servers' kick reason with more info

  • Fixed a server crash to do with invalid vehicle scripts for airboats

  • Fixed a crash when accessing self.loco of a deleted nextbot

  • Try to prevent crashing when (re)loading textures from .png

  • Use snd_musicvolume instead of volume for loading screens (Community Contribution)

  • TTT: Fixed ironsight position when in singleplayer (Community Contribution)

  • IncludeCS now returns result of include() (Community Contribution)

  • Contain DButton's image size if it's too big (Community Contribution)

  • Added the Derma Icon Browser (derma_icon_browser console command) (Community Contribution)

  • Refactored weapon_medkit so it is easier to change/extend (Community Contribution)

  • Menu support for util.IsBinaryModuleInstalled (Community Contribution)

  • Added Panel:Set/GetTooltipDelay (Community Contribution)

  • Added vgui.Exists (Community Contribution)

  • Security fixes

April 19 changes:

  • Fixed a Lua error about "derma_icon_browser.lua"

  • Fixed a regression with language getting reset to Steam's language if your chosen in-game language is English

May 3 changes:

  • Crash fixes

May 5 changes:

  • More crash fixes

May 10 changes:

  • Fixed an issue with handling of asset:// URLs

  • Update Steamworks API to v1.57

  • Added sv_cheats requirement to some console commands and variables that are either unuseful, or should only be used for development

Servers are recommended to update as soon as possible.

January 2023 Update is live

Artwork showcased: "Sandvich Ops."

The January 2023 Update is now live.

You can find the full change list for this update in our blog post: https://gmod.facepunch.com/blog/january-2023-update

January 26 Update: Fixed a regression with Lua effect auto refresh causing errors.

February 10 Update:

  • Fixed procedural textures of size 32768 trying to allocate way too much memory
  • Disallow loading of procedural textures above 64k on any side (with a warning)
  • Added more info to "CFontTextureRegen: Failed to allocate X bytes" warning (and should also be less crash prone when it happens)
  • Simplified gmod_tool concommand code
  • Call TOOL:ReleaseGhostEntity on holster even when TOOL:Holster doesn't
  • TGA loading: do not try to read data if overflowed - Simply displays better warning, it wasn't actually reading any data
  • Make string.ToTable work with numbers again
  • Fixed timer spam from medkit weapon (Community Contrib)
  • Security update

June 2022 Update is live

Artwork showcased: "Sky Train"

The June 2022 Update is now live.

You can find the full change list for this update in our blog post: https://gmod.facepunch.com/blog/june-2022-update

This update requires servers to update before you can join them.

This means that for a certain amount of time after the update releases you may be unable to join servers and get a message saying "The server is running an older version of the game" instead. You will have to wait for servers to update before you can join them again.

You cannot downgrade to a previous version of the game. Please be patient and let server owners update their servers.

March 2022 Patch 2

Hey everyone,

We are releasing another small patch today.

The entire change log is as follows:

  • Relaxed threshold for "Too many voice packets in a single frame!" kick
  • Fixed crashing with npc_apcdriver when it doesn't have its vehicle
  • Added console warnings when npc_apcdriver/npc_vehicledriver is removed due to it not having its vehicle to drive

As usual servers are recommended to update at earliest convenience.

March 2022 Patch

Hey everyone,

We are releasing another small patch today.

The entire change log is as follows:

  • Disallowed physics creation/destruction functions from being called on jeeps/airboats to prevent crashes

  • Allowed physgunning persistent props when persistence is disabled

  • Fixed an issue with halo library not resetting color of pp/copy, which in some cases makes usage of halo library fill the whole screen with a color

  • Fixed Lua errors when trying to activate non Toggle Camera or Dynamite from a tool Button that was loaded from a save in multiplayer

  • Improved save loading so it sets player ownership of spawned entities to a player in more cases

  • Fixed vgui_slideshow_display crashing the game without materials to display

  • Fixed a crash when trying to play bad ADPCM .wav files

  • Fixed file.AsyncRead returning garbage when the target file has no data

  • Added NextBot.GetLastKnownArea and NextBot.ClearLastKnownArea

  • Put motionsensor.GetColourMaterial behind a clientside permission

  • Fixed DIconLayout counting border size 2 times when laying out icons (Community Contribution)

  • Flash the game window when loading screen disappears to let the player know the loading is finished

  • Fixed hook.Add giving a less than useful error when given a nil to second argument

  • Failing to save jpeg screenshots/posters actually says that it failed in console

  • Fixed a regression with string.Comma where it wouldn't format huge numbers properly

  • Fixed func_healthcharger and func_recharge not updating its texture index

  • Added OnHalfEmpty, OnEmpty and OnFull outputs to func_healthcharger, to match func_recharge

  • Fixed Half Life 1 sentry ragdolls not cleaning up on map cleanup. Also fixed their collisions and inability to hit the player at certain player angles

  • Fixed a crash in the DSP system

  • Fixed a crash with NPC:SetNPCClass

  • TTT: Fix ammo ents blocking +use near other entites (Community contribution)

  • Fixed a typo in hook.Remove error (Community Contribution)

  • Fixed security issues

As usual servers are recommended to update at earliest convenience, especially if they were affected by one or more issues mentioned above.

February 2022 Patch

Hey everyone,

We are releasing another small patch today.

Biggest change with this update is the addition of Steam's Chat Filtering feature to the default in-game chat.

This filter can be disabled in-game via a check box in the chat's Filters section:

The filter also obeys your Steam preferences for chat filtering as seen here:

The entire change log is as follows:

  • Prisoner pod and chair vehicles now react to damage physically, driver takes explosion damage, calls GM:EntityTakeDamage hook

  • Fixed GM:PlayerAmmoChanged reporting incorrect new ammo count when called from Player:GiveAmmo

  • Spawnmenu search now resets its model cache when addons/games are remounted

  • Potential fix for crash relating to env_microphone's measure target entity

  • Reduce Faceposer tool's convar count to 96 (from 128) to match the actual limit in the engine

  • Fixed GMODLUA_GetUserType leaking onto the Lua stack (this only affects binary modules and the type() function, when using custom userdata types)

  • surface.DrawLine now uses floats not integers

  • Fixed a stack overflow with DListView and columns inserted at specific positions

  • Fixes a server crash with no collide constraint.

  • Fixed DTextEntry's automatic line breaks causing an infinite loop hang with specially formatted text containing a lot of whitespace

  • Potential fix for a crash within CFontTextureRegen

  • Add OS specific errors to binary module loading errors

  • Make it more clear that changing sbox_persist while in-game will cleanup the map

  • "Stop Persisting" property will now also be hidden when persistence is disabled

  • Do not clean up map when disabling persistence

  • Fixed changing persistence in-game saving to the wrong file if the cvar changed too quickly within the 2 second timer

  • Downgrade Steamworks SDK to 1.50 as the newer version was causing issues

  • Fixed 2 server lag exploits with default properties

  • Fixed "join game" not showing up in Steam for P2P games after a changelevel

  • Implement Steam chat filter to the default chat box (profanity filter is toggleable in the Filters section of the default chatbox, Steam preferences apply)

  • Added string = util.FilterText( input, context, player )

  • Added TEXT_FILTER_ enums

  • Added safeguards to DownloadUGC when Steam sends us a null SteamUGCQueryCompleted_t

  • Disabling hoverballs now adjusts their mass so they are not abnormally heavy when disabled, improved duplicator support for the disabled state

As usual servers are recommended to update at earliest convenience, especially if they were affected by one or more issues mentioned above.

December 2021 Update is live

Update Summary

This update brings a new tab to the Problems section of the main menu: Permissions. This new section allows players to see permissions they granted to servers they play on, both temporary which reset after game shuts down and permanent, which save across game restarts.

The permissions tab displays detailed description of what each permission allows the server to do, and allows players to revoke granted permissions.

The purpose of the permission system to give control over certain scripting features to the player. Currently only 2 permissions are available - Voice chat and server connection. In the future we may put more features that can be abused behind permissions.

Duplicator tool can now store a list of Steam Workshop items that were used to create a duplication.

Players can see the list in the Duplicator tool's context menu and click on each button to open the Steam Workshop item and subscribe to it, allowing an easy way to make sure all necessary Steam Workshop content for a duplication is present. This only applies to newly created duplications.

Map saves now also have a similar feature, but limited only to the map the save was made on. It should now be much easier to install necessary map for a map save.

As usual this update adds a host of smaller features for modders, as well as fixes a bunch of crashes, security issues and other bugs. You can see the complete change list below.

You will find the full change list for this update in our blog post: https://gmod.facepunch.com/blog/december-2021-update

This update requires servers to update before you can join them.

This means that for a certain amount of time after the update releases you may be unable to join servers and get a message saying "The server is running an older version of the game" instead. You will have to wait for servers to update before you can join them again.

You cannot downgrade to a previous version of the game. Please be patient and let server owners update their servers.

July 2021 Patch 2

Hey everyone,

We are releasing another small patch today.

The entire change log is as follows:

  • Fixed a crash with physgun's primary fire when a grabbed entity gets removed/dropped during OnPhysgunPickup

  • Disabled model/material/addon unloading/reloading features as it caused severe stability issues for some people running multicore rendering

  • Fixed a crash when particles are attached to the world entity and the map is reloaded

  • Fixed a potential crash with func_clip_vphysics

  • Fixed Lua error with DTree_Node when self populating folders from filesystem end up with 0 files

  • Fixed DComboBox's dropdown not being clickable on modal panels

  • Automatically apply PROPINTER_FIRE_EXPLOSIVE_RESIST to all props that can deal explosive damage to prevent crashes when many explosive props are exploded in a small space

  • Add sv_no_ain_files, defaults to 0, disables forced download of .ain files from the server

  • Potential fix for crashes when util.Decompress (Possibly other places too) reallocates huge chunks of memory

  • Fixed Out of Bounds $frame on render targets crashing the game

  • Fixed hopefully all possible crashes with npc_barnacle when something deletes its internal physics objects and entities

  • Potential fix for a crash in CMatQueuedRenderContext::Bind

  • Fixed a potential material refcount issue when binding materials in CMatQueuedRenderContext

  • Fixed prop_vehicle_prisoner_pod (Sandbox Chair vehicles) forcing FOV to 90

  • Hammer: Added "Allow physgun" and "toolgun whitelist" keyvalues to func_lod

  • Stop the crosshair color going white if the player's FOV is < 90

  • Fixed SWEP.AccurateCrosshair not taking into account worldclicker aim and sometimes hitting the player entity itself

  • TTT: Updated language files (Community Contribution)

  • Sandbox Camera SWEP zooming rate is now server tickrate independent (Community Contribution)

  • Completely disable CHudDeathNotice, CHudHintDisplay and CHudHintKeyDisplay since they are not used in GMod

  • Fixed any bone manipulations breaking entity's render bounds, now render bounds will be only enlarged if a bone is manipulated outside of the original model bounds

As usual servers are recommended to update at earliest convenience, especially if they were affected by one or more issues mentioned above.

July 2021 Patch

Hey everyone,

We are releasing a small patch today.

The entire change log is as follows:

  • Fixed duplicated Motors, Winches and Hydraulics being able to be activated by any player on the server

  • Fixed Lua errors when making 0 width ropes

  • Do not allow to use the "Drive" property on entities that are already being driven, to prevent players getting stuck in invalid state

  • Fixed some entities having improper color/material in dupe icon preview, such as the Fog/Sky/Sun editors

  • Fixed entering a chair causing everything to disappear for a bit

  • Fixes to crashes/missing textures/error models when changing maps/servers/etc.

  • TTT: add a player mic volume slider to the scoreboard (Community Contribution)

  • TTT: fix table.Shuffle (Community Contribution)

  • TTT: fix propspec_allow_named setting not taking effect (Community Contribution)

  • Fixed a server crash when NPC is trying to holster a weapon_frag

  • Fixed a server crash when item_ammo_crate is given an invalid ammo type

  • Fixed a server crash when an npc_fastzombie tries to attack a non player entity

  • ent_remove* no longer allows removal of the world entity

  • ent_remove_all no longer can delete players

  • Fixed "DownloadingFile" javascript function not being fired for Fast/ServerDL due to changes in last update

  • Display a console message when ServerDL fails to download something

  • Reset entity FXBlend cache when the current view changes during a frame, fixes point_camera messing up entity fade distances

  • Player.ConCommand's queue clientside should now show addon name when running blocked concommands

  • Added more debug info to "Invalid HitboxSet on something" warning

  • Fixed func_movelinear regression with the SetSpeed input when called with speed of 0

  • Added util.MD5/SHA1/SHA256 - all take a single string, and return a hex string

  • Added IsConCommandBlocked

  • Added crash/infinite loop safeguards to Entity.SetMoveParent: Unlink self from previous parent, do not allow to parent to yourself, check for cyclic parents

  • Limited util.JSONToTable depth to 5000 (should be more than enough for any legitimate uses) to avoid stack overflows

  • Apply stack overflow protection to util.TableToJSON

  • Experimental "network to clients" option for Entity.ManipulateBoneAngles/Position (3rd argument, defaults to true)

  • Added a second argument to util.GetModelMeshes - a table of tables where IDs are boneIds and contain a table of 2 keys: matrix and parentID

  • Let's try an Entity.Set/GetColor change - Make C++ return/take 4 numbers, and make a Lua override that takes/returns color objects instead - should be ~2x faster and GetColor now returns the proper color object

  • duplicator library now properly copies Lua-set color and material override, not just the Sandbox tool ones

  • Fixed net library not resetting its internal variables on level change

  • Entity.PhysicsFromMesh can now also accept just a list of vectors

  • Fixed errors from GetInt() when text entry contents aren't numeric (Community Contribution) Added xalign and yalign arguments to draw.WordBox (Community Contribution)

Servers are recommended to update at earliest convenience, especially if they were affected by one or more issues mentioned above.