Today's update brings a small amount of vital improvements to the stability and security of the game. This update is mandatory meaning servers will have to be updated before players can join them.
The update fixes some Team Fortress 2 maps crashing when looking at certain spots, and those maps now also properly load detail props. A long standing crash with decals on very high quality models was fixed as well.
This update also brings a new hashing algorithm for Lua files which will prevent people from running custom clientside code on servers when they are not supposed to be able to.
Fixed a crash with decals on high poly models
Fixed a crash with Projected Textures
Fixed crash issues on some TF2 maps
Fixed crash issue with physenv.AddSufraceData()
Fixed not being able to start a new game with too many game.AddDecal() calls
Fixed a crash issue with env_fog_controller
Fixed crash exploits with parenting of unremovable entities to removable ones and deleting them this way
Fixed certain players not being able to be muted on servers with large populations
Changed Lua file hashing algorithm to improve security
October 2018 Update is live!
Crash fixes and minor improvements across the board
Added support for $treesway shader paramters, which is affected by env_wind entities on existing maps
Downloading workshop items when joining servers now deletes the useless .compressed files that waste space
npc_sniper no longer becomes pacifist after one player kill
Fixed a crash issue with monster_flyer
Fixed a crash issue with Half-Life: Source monster_*_dead NPCs
Fixed model of monster_hevsuit_dead
Fixed HL2 barney appearing on HL1 map c1a1
Fixed HL1 and HL2 episodes not displaying their chapter titles and other on-screen text
Fixed purple blood color on HL1 alien NPCs
Fixed a crash on srcds when combine soldiers with smg1 die and there isn't a player in first server slot
Fixed a rare crash with npc_combie_s trying to shoot a gun they don't have
Fixed a potential AI pathfinding crash
Reenabled monster_bigmomma hp recovery system
Fixed npc_barnacle not picking up players from vehicles
Fixed chatbox filters looking weird
Fixed default join messages not working on dedicated servers
Fixed some scenes not playing
Smooth scrape sounds are no longer repalced by rough scrape sounds for glass and tile textures
Fixed flashlight sound stopping weapon sounds
Fixed some effects (mostly on NPCs) not working in multiplayer
Fixed some HL1 NPCs not talking in multiplayer
Addon entities ("anim" type SENTS) are now properly credited as inflictor and not the attacker when thrown into a player with a gravity gun
Updated language files (Community Contribution)
Updated TTT to its latest version
Added proper distance and entity validity checks for all default properties to stop them from being exploited by clientside scripts
Spawnmenu Icons no longer save images of missing models to disk
Minor changes to NPC difficulty to match Half-Life games (Community Contribution)
Added CTakeDamageInfo.__tostring
Added CNavArea.GetPlace()
Added CNavArea.SetPlace()
Added PhysObj.GetPositionMatrix()
Added Entity.GetWorldTransformMatrix()
Added DMG_SNIPER and DMG_MISSILEDEFENSE
Added util.GetSurfaceData()
Added Half-Life: Source CLASS_ enums
Added input.GetKeyCode(), works opposite of input.GetKeyName
Added ProjectedTexture:SetQuadraticAttenuation()
Added ProjectedTexture:SetLinearAttenuation()
Added ProjectedTexture:SetConstantAttenuation()
Added ProjectedTexture:GetQuadraticAttenuation()
Added ProjectedTexture:GetLinearAttenuation()
Added ProjectedTexture:GetConstantAttenuation()
Added player.GetByAccountID( id ) ( Community Contribution )
Added render.WorldMaterialOverride
Added return value to DColumnSheet.AddSheet (Community Contribution)
Added player_connect_client gameevent
Fixed FL_ANIMDUCKING not resetting when entering a vehicle
Fixed HTTP() cutting off post body at the NULL byte
Fixed func_breakable_surf crashing when damaged by DMG_BLAST with no inflictor
Fixed crash issues with CNewParticleEffect.AddControlPoint and CNewParticleEffect.StopEmissionAndDestroyImmediately functions
Fixed Player and Entity.__newindex crashing the game when assigning non string keys onto those entities
CTakeDamageInfo.GetDamageType now properly returns an unsigned int
JSON functions now can handle NULL bytes properly
IGModAudioChannel.__gc no longer crashes the game in some cases
Fixed an error with empty nextbox NPCs (Community Contribution)
SWEP Holdtype is now updated clientside whenever server sends a holdtype update
PlayerUse no longer blocks using when Lua doesn't return a value or returns a non boolean
Fixed DMenu's non self deleting submenus not opening in some cases
Player.Kick no longer fails with reasons too long ( now cuts them off at ~512 )
util.SpriteTrail no longer crashes the game if you do not give the material ".vmt" extension
util.SpriteTrail no longer silently fails halfway through when not given a color
Dragginig/Resizing DFrame as a child element now works properly (Community Contribution)
Consistent caching between Entity.GetEyeTraceNoCursor and Entity.GetEyeTrace (Community Contribution)
Fixed a crash issue with Vehicle.GetVehicleViewPosition
Fixed a few Vehicle functions returning garbage in certain cases ( GetVehicleViewPosition, GetPassengerSeatPoint, GetWheelContactPoint )
Fixed RebuildSpawnIcon() not taking bodygroups into account
Added voice_overdrive, volume and _restart on client to the blocked console command list
prop_vehicle and prop_vehicle_driveable are now considered Vehicles by Lua
Entity.GetSaveTable now works properly with most array fields, they will show up as 1-based table in Lua
Entity.SetSaveValue can now handle array fields, just like GetSaveTable()
Entity.GetInternalVariable now supports all field types as GetSaveTable/SetSaveValue does
CLuaEmitter.Add will now also initallize startSize
util.GetSurfacePropName now returns "" for out of bounds input
IGModAudioChannel:IsValid now properly reflects the validity of the sound channel instead of testing existence of the Lua objecct
Most IGModAudioChannel functions now also check for channel validity
DoModal no longer works without cursor visible for all panels, not just "Frame"
Vector.WithinAABox now orders vectors on its own
Entity.GetAttachments, Entity.GetBodyGroups and Entity.GetMaterials will now return an empty table where they used to return nil
util.(De)Compress and util.Base64Encode error on no input and return an empty string when given an empty string
Failed-to-send net messages now reset current net message
Calling net.Start() while a net message is already active now displays a message
You can no longer send net messages with no players on the server
Entity.GetSaveTable and Entity.GetInternalVariable no longer iterate over Inputs and Outputs
Entity.SetHitboxSet no longer assigns non existent hitbox sets when using a string as the first argument resulting in a console warning spam
You can no longer remove player_manager entity
Made DLabelURL's color functions work consistently to DLabel's
Vehicle.GetVehicleViewPosition's only argument is now optional
Entity.SetModelScale is now limited to +-400 on server (unchanged on client)
Keys in mount.cfg are now marked as mounted ( for IsMounted() ), if they are in the list of mountable games
Restored Gib Model functionality of func_breakable from HL1
mountdepots.txt will now be automatically created if it doesn't exist so dedicated server owners can edit it
Fixed nav file error 4 (out of date) being displayed when the nav file is in fact up to date
Nav file errors now properly displays the actual error by name, not error ID
Updated surfaceproperites.txt to remove some entries to fit the 128 entry limit
Bumped maxiumum key length of key values in bsp to 64 (from 32)
Notice
Unlike many previous updates, this one will require servers to update before you can join them. We try to keep such updates to a minimum, but it was necessary for this update.
This means that for a certain time after the update you may get a message such as "The server is running an older version of the game" when connecting to your favourite servers. 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.
The October 2018 update is coming next week
Hi everyone,
We are planning to release the next Garry's Mod update next week, on October 17th around 3PM GMT.
You can find the list of changes that will be coming here:
http://wiki.garrysmod.com/changelist/prerelease/
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 use the upcoming update below.
Please note that this update NOT backwards compatible with the current version of the game, so you won't be able to play on normal servers while on the "prerelease" branch.
After the update releases you will have to wait for server owners to update their servers before you can play on them.
You can report any found issues in the comments below, or on our official bug tracking repository on GitHub: ( be sure to search before posting )
https://github.com/Facepunch/garrysmod-issues
Pre-release Steam Branch
The Pre-Release Steam branch for Garry's Mod has been updated and contains all the changes that will be included in the next update.
If you want to set up an SRCDS instance using the Pre-Release branch, see this article: https://wiki.garrysmod.com/page/Hosting_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
August 2018 Security Hotfix
We're releasing a small hotfix to address a recently found exploit that allowed users to execute arbitrary Lua scripts on servers. If you run a server, you should update it.
It's a very non-intrusive update, so there should be no risk of anything breaking, except - potentially - third-party binary modules.
May 2018 Update is out!
Faceposer, 3rd person animations and HL campaign improvements
Improvements to Entity.GetKeyValues() - Vectors actually work now, added support for FIELD_SOUNDNAME and FIELD_EHANDLE
FL_ANIMDUCKING is now used and set automatically
Return type consistency for Player.TraceHullAttack, Player.GetObserverTarget, Player.GetRagdollEntity, NPC.GetBlockingEntity, NPC.GIve, Entity.GetRagdollOwner, they now return NULL entity where they used to return nil
Better/Faster implementations of SortedPairs and similar functions (Community Contribution)
PrintTable will no longer try to print the table its currently printing (Community Contribution)
DNumberScratch decimal changes for the pop up window (Community Contribution)
Added Entity Classname and Index to the "Changing collision rules within a callback is likely to cause crashes!" error message
Updated .fgd files (for Hammer) to include GMod specific Sandbox key values
Moved the Map and Source Engine Version text when console is open a bit down so it can be read
Changed the default value of r_hunkalloclightmaps to 0
GMPublish now works better with big addons
Fixed a crash having to do with playing sounds
Removed game/bin/sdk.fgd, as it was unused and contained non-existent/duplicate entities
The May 2018 update is coming next week
Hi everyone,
We are planning to push out the next Garry's Mod update next week, on May 29th.
You can find the list of changes that will be coming here:
http://wiki.garrysmod.com/changelist/prerelease/
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 use the upcoming update below.
You can report any found issues in the comments below, or on our official bug tracking repository on GitHub: ( be sure to search before posting )
https://github.com/Facepunch/garrysmod-issues
Pre-release Steam Branch
The Pre-Release Steam branch for Garry's Mod has been updated and contains all the changes that will be included in the next update. It is backwards compatible with the current version of the game, so if you are using it you'll still be able to connect to servers that haven't updated.
If you want to set up an SRCDS instance using the Pre-Release branch, see this article: https://wiki.garrysmod.com/page/Hosting_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
February 2018 Hotfix
We've pushed a hotfix for an issue that is causing some clients and servers to have huge lag spikes when writing to SQLite databases. Just update your servers
Fixed DBinder not working when its convar is set to NaN
Fixed DBinder overriding SetSelected( bool )
Fixed util.GetModelInfo crashing with empty string
Fixed a crash issue with Weapon functions
Fixed NeedsDepthPass not working for addons
Fixed string.Comma with very large numbers
NextBot.GetRangeSquaredTo now actually works the way it's intended to, by returning squared range
Updated most render library functions to not lock up when a Lua type error occurs during function execution
Prevent potential stack overflows in scripted_ents.Get
Fixed the utf8 library failing with certain UTF8 strings
Switched base_anim to CBaseAnimatingOverlay, allowing more functions to be used on "anim" entities
DProperty_VectorColor now works with standard colors as well ( vector color support unchanged )
Added better type checking and error output to NextBot.GetRange(Squared)To()
render.Capture can no longer capture Steam Overlay
cam.Start() will now error when given no arguments
Removed NPC.RemoveMemory
Notice
Unlike many previous updates, this one will require servers to update before you can join them. We try to keep such updates to a minimum, but it was necessary for this update.
This means that for a certain time after the update you may get a message such as "The server is running an older version of the game" when connecting to your favourite servers. 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.
Next Garry's Mod update is coming next week
Hi everyone,
We are planning to put out the next Garry's Mod update next week.
You can find the list of changes that will be coming here:
http://wiki.garrysmod.com/changelist/prerelease/
Pre-release Steam Branch
The Pre-Release Steam branch for Garry's Mod has been updated and contains all the changes that will be included in the next update.
Please note that this update NOT backwards compatible with the current version of the game, so you won't be able to play on normal servers.
If you want to set up an SRCDS instance using the Pre-Release branch, see this article: https://wiki.garrysmod.com/page/Hosting_A_Dedicated_Server.