Fixed item pickups not being collectable in some cases
Fixed env_microphone not always transmitting NPC voices in multiplayer
Fixed some textures on gm_construct having an incorrect normal map when running under DX8
Fixed console crash on some machines
Fixed another possible exploit with CNetChan::SendFile
Fixed an exploit allowing access to any file on a client machine
Fixed vehicle noclip exploit
Fixed SMG viewmodel animation glitch when firing exactly 3 shots in a single burst
Fixed inaccurate text selection in RichText controls
IMPROVEMENTS
Files with an incorrect extension can no longer be loaded as modules
Loose .vcd files can now be loaded without having to be compiled into scenes.image
TTT
Fixes
Admin commands no longer appear in "last words"
Fixed a minor issue with teleporter effects
Additions
Added lag compensation to the crowbar's secondary attack
Added TTTPlayerUsedHealthstation hook
COMMUNITY
Fixes
Fixed vehicle third person affecting cameras
Fixed shipped weapons creating errors when given to NPCs
Fixed SimpleDoF to properly work with cameras
Fixed return values of draw.SimpleText
Fixed big numbers not sending properly with net.WriteTable
Fixed gmod_admin_cleanup/gmod_cleanup errors when run in a dedicated server console
Fixed vehicles not duplicating their skin, bodygroups, etc
Fixed derma.SkinTexture
Fixed longstanding thruster crash exploit
Fixed pasted ragdolls with duplicator being in T pose until you touch them (still happens for saves though, sorry)
Fixed snow footsteps
Fixed some base weapons (Alyx gun, HL1 grenade) being .357 clones
Improvements
Post Process effects are no longer saved across restarts
Hidden some useless HL2 maps
Updated jQuery/AngularJS
draw.SimpleTextOutlined now returns same thing as draw.SimpleText
Lua errors notification only stays for 10 seconds instead of 30
Clicking "Resize" in spawnicon right click menu no longer automatically rerenders the icon.
Fancified Bouncy Ball
Updated server browser looks
Bots are no longer counted towards player count in server browser
Sort addons and games alphabetically in Browse
Made player_manager.TranslateToPlayerModelName case insensitive
Tweaked some tools
Tweaked default values for some of the tools, tweaked limits in context panels for some of the tools
Added right click option for lamp tool to copy settings of another lamp
Deprecated settings/controls/*.txt, noone uses it, serves no benefit.
Improved context menu properties in various ways
Now works properly when you look from camera/driving a vehicle
Fixed some issues with "Drive" property and cameras
Additions
Added team.SetColor(index, color)
Added Angle:SnapTo(component, degrees)
Added IsColor, net.WriteColor, net.ReadColor
LUA
Fixes
Fixed Entity:PhysicsFromMesh building a deformed collision mesh
Fixed PhysicsCollide entity callback missing information about the entity which was collided with
Fixed IMaterial:GetMatrix crashing the game
Fixed sound.Add not working on dedicated servers
Fixed ents.FindByClass not interpreting wildcards correctly
Fixed util.CRC not working correctly on strings with embedded zeroes
Fixed util.JSONToTable losing precision for large integer values
Fixed Entity:GetBoneController returning a truncated value
Fixed Entity:SetHitboxSet not working properly with an integer parameter
Fixed NPC:FoundEnemySound, LostEnemySound, FearSound, IdleSound and AlertSound not calling their appropriate equivalent in the engine
Fixed InnerAngle and OuterAngle parameters not doing anything in lights created by DynamicLight()
Fixed util.TableToJSON crashing when passed a table containing keys that aren't strings or numbers
Improvements
Updated LuaJIT to version 2.0.3
Reverted Entity:IsValid to its old behaviour
Changed Entity:PhysicsInitBox behaviour to be more consistent with Entity:PhysicsInitConvex (no longer creates a broken physics object in some cases)
game.GetWorld is now shared
Player:HasWeapon and Player:GetWeapon are now shared
Entity(0) now returns the world on both server and client
Entities can now have up to 64 DT vars of each type (except strings)
Player:Kick and Player:Ban kick/ban reasons are now optional and may contain newlines
SWEP holdtypes are now properly networked
Vector and angle access using a numerical index rather than x/y/z is now slightly faster
gui.OpenURL now clamps URLs to 511 characters max
Added safeguards to mesh library functions
Entity:GetMaxHealth() is now shared again and properly networked
Entity:DrawViewModel now takes an optional second argument which controls which viewmodel to show/hide (defaults to 0)
Moved Entity:Disposition, GetActivity, IsNPCMoving, IsUnreachable to NPC:Disposition, GetActivity, IsMoving, IsUnreachable
Trace tables now accept an "output" parameter which may contain the table in which trace results should be written
sound.PlayFile and sound.PlayURL callbacks now receive an error ID and error name as their second and third parameters if an error occurs
Weapon:CallOnClient second argument is now optional
Moved Player:PlayScene, NPC:PlayScene and NextBot:PlayScene to Entity metatable
Entity:PlayScene second argument (delay) is now optional
MsgC can now print text with several colors in a single call
Moved Player:Freeze, GodEnable, GodDisable, IsFrozen, HasGodMode to Lua
Clamped pitch between -90 and 90 instead of -180 and 180 for AngleRand
util.KeyValuesToTable and util.KeyValuesToTablePreserveOrder now accept a third parameter which prevents keys from becoming lowercased when set to true
vgui.LoadControlsFromFile/LoadControlsFromString now properly creates scripted panels
Fixed item pickups not being collectable in some cases
Fixed env_microphone not always transmitting NPC voices in multiplayer
Fixed some textures on gm_construct having an incorrect normal map when running under DX8
Fixed console crash on some machines
Fixed another possible exploit with CNetChan::SendFile
Fixed an exploit allowing access to any file on a client machine
Fixed vehicle noclip exploit
Fixed SMG viewmodel animation glitch when firing exactly 3 shots in a single burst
Fixed inaccurate text selection in RichText controls
IMPROVEMENTS
Files with an incorrect extension can no longer be loaded as modules
Loose .vcd files can now be loaded without having to be compiled into scenes.image
TTT
Fixes
Admin commands no longer appear in "last words"
Fixed a minor issue with teleporter effects
Additions
Added lag compensation to the crowbar's secondary attack
Added TTTPlayerUsedHealthstation hook
COMMUNITY
Fixes
Fixed vehicle third person affecting cameras
Fixed shipped weapons creating errors when given to NPCs
Fixed SimpleDoF to properly work with cameras
Fixed return values of draw.SimpleText
Fixed big numbers not sending properly with net.WriteTable
Fixed gmod_admin_cleanup/gmod_cleanup errors when run in a dedicated server console
Fixed vehicles not duplicating their skin, bodygroups, etc
Fixed derma.SkinTexture
Fixed longstanding thruster crash exploit
Fixed pasted ragdolls with duplicator being in T pose until you touch them (still happens for saves though, sorry)
Fixed snow footsteps
Fixed some base weapons (Alyx gun, HL1 grenade) being .357 clones
Improvements
Post Process effects are no longer saved across restarts
Hidden some useless HL2 maps
Updated jQuery/AngularJS
draw.SimpleTextOutlined now returns same thing as draw.SimpleText
Lua errors notification only stays for 10 seconds instead of 30
Clicking "Resize" in spawnicon right click menu no longer automatically rerenders the icon.
Fancified Bouncy Ball
Updated server browser looks
Bots are no longer counted towards player count in server browser
Sort addons and games alphabetically in Browse
Made player_manager.TranslateToPlayerModelName case insensitive
Tweaked some tools
Tweaked default values for some of the tools, tweaked limits in context panels for some of the tools
Added right click option for lamp tool to copy settings of another lamp
Deprecated settings/controls/*.txt, noone uses it, serves no benefit.
Improved context menu properties in various ways
Now works properly when you look from camera/driving a vehicle
Fixed some issues with "Drive" property and cameras
Additions
Added team.SetColor(index, color)
Added Angle:SnapTo(component, degrees)
Added IsColor, net.WriteColor, net.ReadColor
LUA
Fixes
Fixed Entity:PhysicsFromMesh building a deformed collision mesh
Fixed PhysicsCollide entity callback missing information about the entity which was collided with
Fixed IMaterial:GetMatrix crashing the game
Fixed sound.Add not working on dedicated servers
Fixed ents.FindByClass not interpreting wildcards correctly
Fixed util.CRC not working correctly on strings with embedded zeroes
Fixed util.JSONToTable losing precision for large integer values
Fixed Entity:GetBoneController returning a truncated value
Fixed Entity:SetHitboxSet not working properly with an integer parameter
Fixed NPC:FoundEnemySound, LostEnemySound, FearSound, IdleSound and AlertSound not calling their appropriate equivalent in the engine
Fixed InnerAngle and OuterAngle parameters not doing anything in lights created by DynamicLight()
Fixed util.TableToJSON crashing when passed a table containing keys that aren't strings or numbers
Improvements
Updated LuaJIT to version 2.0.3
Reverted Entity:IsValid to its old behaviour
Changed Entity:PhysicsInitBox behaviour to be more consistent with Entity:PhysicsInitConvex (no longer creates a broken physics object in some cases)
game.GetWorld is now shared
Player:HasWeapon and Player:GetWeapon are now shared
Entity(0) now returns the world on both server and client
Entities can now have up to 64 DT vars of each type (except strings)
Player:Kick and Player:Ban kick/ban reasons are now optional and may contain newlines
SWEP holdtypes are now properly networked
Vector and angle access using a numerical index rather than x/y/z is now slightly faster
gui.OpenURL now clamps URLs to 511 characters max
Added safeguards to mesh library functions
Entity:GetMaxHealth() is now shared again and properly networked
Entity:DrawViewModel now takes an optional second argument which controls which viewmodel to show/hide (defaults to 0)
Moved Entity:Disposition, GetActivity, IsNPCMoving, IsUnreachable to NPC:Disposition, GetActivity, IsMoving, IsUnreachable
Trace tables now accept an "output" parameter which may contain the table in which trace results should be written
sound.PlayFile and sound.PlayURL callbacks now receive an error ID and error name as their second and third parameters if an error occurs
Weapon:CallOnClient second argument is now optional
Moved Player:PlayScene, NPC:PlayScene and NextBot:PlayScene to Entity metatable
Entity:PlayScene second argument (delay) is now optional
MsgC can now print text with several colors in a single call
Moved Player:Freeze, GodEnable, GodDisable, IsFrozen, HasGodMode to Lua
Clamped pitch between -90 and 90 instead of -180 and 180 for AngleRand
util.KeyValuesToTable and util.KeyValuesToTablePreserveOrder now accept a third parameter which prevents keys from becoming lowercased when set to true
vgui.LoadControlsFromFile/LoadControlsFromString now properly creates scripted panels
An exploit was released last night that took advantage of the Source Engine’s file sending mechanism which made it possible to send files with any extension to the client or server. This exploit is likely still active in all other Source Engine games so we’re not going to go into specific details about it.
Needless to say that this was exploited in Garry’s Mod on Windows to send dlls to clients and servers. As far as we are aware the exploit wasn’t used to do anything malicious beyond propagating itself, spamming chat and changing server names. But to be safe we recommend that you consider deleting your Garry’s Mod install and starting fresh. It might be a good idea to do an online virus scan too. The patch we released this morning attempts to clean up any mess left behind by these exploits and patches the variety of methods which they used. If anyone has further information about the exploits, or any exploits left un-patched please email Garry Newman personally at garrynewman@gmail.com.
An exploit was released last night that took advantage of the Source Engine’s file sending mechanism which made it possible to send files with any extension to the client or server. This exploit is likely still active in all other Source Engine games so we’re not going to go into specific details about it.
Needless to say that this was exploited in Garry’s Mod on Windows to send dlls to clients and servers. As far as we are aware the exploit wasn’t used to do anything malicious beyond propagating itself, spamming chat and changing server names. But to be safe we recommend that you consider deleting your Garry’s Mod install and starting fresh. It might be a good idea to do an online virus scan too. The patch we released this morning attempts to clean up any mess left behind by these exploits and patches the variety of methods which they used. If anyone has further information about the exploits, or any exploits left un-patched please email Garry Newman personally at garrynewman@gmail.com.
Here are a few quick fixes for the issues introduced by yesterday's update. Servers will need to be restarted. Some known issues remain and will be addressed next week.
TTT: Fixed ironsights being broken due to changes from last update
Fixed .mp3 and .ogg playback becoming very expensive due to changes from last update
Fixed Father Grigori not being the king of animals
Entity:FireBullets no longer inflicts ammo-specific damage if the damage is 0 unless an ammo type is explicitly specified
IGModAudioChannel:SetTime now prints a warning if it is called on a non block streamed channel
Here are a few quick fixes for the issues introduced by yesterday's update. Servers will need to be restarted. Some known issues remain and will be addressed next week.
TTT: Fixed ironsights being broken due to changes from last update
Fixed .mp3 and .ogg playback becoming very expensive due to changes from last update
Fixed Father Grigori not being the king of animals
Entity:FireBullets no longer inflicts ammo-specific damage if the damage is 0 unless an ammo type is explicitly specified
IGModAudioChannel:SetTime now prints a warning if it is called on a non block streamed channel
- Workshop addons can be downloaded when joining a server - Added resource.AddWorkshop( workshopid ) - Fixed fonts being invisible on resolution change - Fixed crash when starting map - Fixed sound.PlayURL not always calling the callback properly - Banned 1,500 cheaters
If you have been banned for cheating and are sure you didn't cheat - then please email me at garry@garrysmod.com with your 64bit SteamID and I will look into it for you.
- Workshop addons can be downloaded when joining a server - Added resource.AddWorkshop( workshopid ) - Fixed fonts being invisible on resolution change - Fixed crash when starting map - Fixed sound.PlayURL not always calling the callback properly - Banned 1,500 cheaters
If you have been banned for cheating and are sure you didn't cheat - then please email me at garry@garrysmod.com with your 64bit SteamID and I will look into it for you.