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.
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.
December 2021 Update is coming soon
Hello everyone,
The next Garry's Mod update is coming soon!
The current plan is to release the next Garry's Mod update on 15th of December at the usual 4PM GMT. The update will be mandatory for all server owners, so mark the date and time. Servers will need to be updated before people can join them again.
You can preview the list of upcoming changes here: https://docs.google.com/document/u/1/d/e/2PACX-1vTzEJEpdEje8e-FgsbyWGydu_Ez7p82MwOUPmRlUAAJ-KpkNJhHctyadZosfUYjVTz26KGip7bI7M9T/pub
Please note this list is still work in progress and is subject to change.
Help us test the update
We kindly ask anyone willing to help us test this update before it releases (especially modders and server owners), to minimize any potential problems with the update.
You will find instructions on how to test the upcoming update below.
You can report any found issues in the comments below, on our official Discord server or on our official bug tracking repository on GitHub: (be sure to search before posting) https://github.com/Facepunch/garrysmod-issues https://discord.com/invite/gmod
Pre-release Steam Branch
The Pre-Release and x86-64 Steam beta branches for Garry's Mod has been updated and contain all the changes that will be included in the next update.
If you want to set up an Dedicated Server instance using the Pre-Release branch, see this article: https://wiki.facepunch.com/gmod/Downloading_a_Dedicated_Server
How to switch game branches:
Exit the game
Right click on Garry's Mod in Steam and select Properties
Go to the Betas tab and select your desired branch
None - This is the normal version of the game Pre-Release - This is the next update Dev - This is a bleeding edge version of the game, expect it to contain more bugs than usual
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.
This update adds many small improvements and fixes to stability or other parts of the game, among which is a new feature for constraint tools in Sandbox - colorable ropes:
Colorable ropes are available to all rope based constraints in Sandbox, but only certain materials are supported.
We have also added the ability to scale player voice chat on a per player basis clientside. This will allow players to adjust voice chat volume of every individual player in a server. This feature will need to be implemented manually by gamemode and server developers and is already available in the default Sandbox scoreboard, by using the mouse scroll wheel on the mute button.
As per usual, you can find the full change list for this update below.
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 2021 update is coming soon
Hello everyone,
The next Garry's Mod update is coming soon!
The current plan is to release the next Garry's Mod update on 9th of June at the usual 4PM GMT. The update will be mandatory for all server owners, so mark the date and time. Servers will need to be updated before people can join them again.
You can preview the list of upcoming changes here: https://docs.google.com/document/u/1/d/e/2PACX-1vTzEJEpdEje8e-FgsbyWGydu_Ez7p82MwOUPmRlUAAJ-KpkNJhHctyadZosfUYjVTz26KGip7bI7M9T/pub
Please note this list is still work in progress and is subject to change. (Changes marked with (Networking Change) are not currently available for testing, but will be included into the test branches on Monday (7th of June), and will be included in the actual update)
Help us test the update
We kindly ask anyone willing to help us test this update before it releases (especially modders and server owners), to minimize any potential problems with the update.
You will find instructions on how to test the upcoming update below.
You can report any found issues in the comments below, on our official Discord server or on our official bug tracking repository on GitHub: (be sure to search before posting) https://github.com/Facepunch/garrysmod-issues https://discord.com/invite/gmod
Pre-release Steam Branch
The Pre-Release and x86-64 Steam beta branches for Garry's Mod has been updated and contain all the changes that will be included in the next update.
If you want to set up an Dedicated Server instance using the Pre-Release branch, see this article: https://wiki.facepunch.com/gmod/Downloading_a_Dedicated_Server
How to switch game branches:
Exit the game
Right click on Garry's Mod in Steam and select Properties
Go to the Betas tab and select your desired branch
None - This is the normal version of the game Pre-Release - This is the next update Dev - This is a bleeding edge version of the game, expect it to contain more bugs than usual
Defining server operator rules
Hello everyone.
It has come to our attention that some community servers provide content that is simply put - unacceptable.
While we normally do not interfere with community servers and the content they provide, in this case it is necessary to make it clear, that sexual violence content is not acceptable in Garry's Mod, be that on the Steam Workshop or on community servers.
If you are a server owner, please familiarize yourself with the following article: https://wiki.facepunch.com/gmod/Server_Operator_Rules
Please adjust your servers to conform to the rules outlined in the article. Servers found breaking the rules outlined in the article after 15th of April 2021 will be delisted from the in-game server browser.
April 2021 Hotfix
Hey everyone,
We are releasing a small update today to address issues with the previous update.
The full list of changes is as follows: * Made the default Derma fonts work better for non English characters * Fixed voice_fadeouttime problem creating Lua errors when Quick fix is applied * Fixed Hammer Sprinkle Tool models becoming errors after loading a .vmf with sprinkled models * Fixed floating .gma addons in addons/whatever/ not loading properly * Fixed gamemode list not refreshing in main menu on Workshop addon (un)mount * Fixed addon sub category page count not updating when switching tags
Servers only need updating if they are affected by the floating .gma addon issue.
This update brings major improvements to the server browser. The purpose of these changes is to help players find the content they are looking for more easily.
First of all, gamemode categories were added to the server browser. This requires all server owners and gamemode developers to update their gamemodes and set an appropriate category. It may take a while for most gamemodes/servers to conform, but the goal of this change is to allow players filter gamemodes by these new categories and find what their are looking for easier.
Secondly, the server browser now shows the location/spoken language of the server via a country flag icon. This setting is per server and is designed to help players more easily find servers from a preferred location and/or find servers with a common spoken language they can understand.
And lastly the server browser got a few new filtering/sorting options, such as filtering servers by ping/player count and sorting the gamemode list by name or server count.
These features may be changed in the future based on the long term feedback from players, developers or server hosts (such as which gamemode categories should be available in the server browser), so please do not hesitate to let us know what you think on our official Discord server (https://discord.com/invite/gmod), or in the Steam Discussions area of the Garry's Mod Game Hub
Problems menu
Another new feature is the Problems menu. Accessible from the main menu, it is designed to help players resolve common issues without needing to ask for help.
The first tab reports Lua errors that have occurred during a play session. They are categorized per addon, with options to disable or uninstall the problematic addon, or to open the addon on Steam Workshop if possible. Players can easily copy the Lua errors (or other problems) via the Copy button on the right, enabling them to quickly report errors generated by the addons to the addon authors.
The second tab called "Problems" analyzes the game and reports common issues, such as screen resolution being set too low, certain settings being disabling which cause graphical issues and more. These problems have a "Quick Fix" button where possible to quickly resolve the issue.
In the future this menu will be expanded to report more issues and provide other maintenance services.
Hammer Editor improvements
This update also brings many changes to the Hammer Editor shipped with Garry's Mod. Many crash issues were fixed, new Sprinkler tool was added and many quality of life changes were introduced. The user interface was updated and now more closely matches the UI of your Operating System.
If you are a mapper you will most definitely want to read the complete list of changes linked below. (Change List 4)
Things to watch out for
There are some Lua API changes that will break existing scripts. These changes are unfortunately a necessary evil, and will not take long to fix. Specifically the behavior of Vehicle.SetVehicleParams has changed. You will find all of the details in the change list linked below, but the big issue that was fixed is with the vehicle speeds, where you no longer need to manually adjust between Hammer Units and Inches if modifying data from Vehicle.GetVehicleParams.