Garry's Mod - Rubat

A major update has been released. You will need to restart your servers for players with the new version of the game to join.
Featured changes include stability improvements and various exploit fixes, along with a few handy additions for developers.

You can find full changelist here.
Garry's Mod - Rubat

A major update has been released. You will need to restart your servers for players with the new version of the game to join.
Featured changes include stability improvements and various exploit fixes, along with a few handy additions for developers.

You can find full changelist here.
Garry's Mod - Rubat
Workshop
I'd like to personally say thanks to everyone who is reporting bad content on Garry's Mod Steam Game Hub.

If you wish to contribute to the Garry's Mod community, you can find the Steam Workshop rules for Garry's Mod here:
Steam Workshop Rules


Next Update
The next update is coming soon ( In next couple of weeks ). You can find a full list of changes here:
Next Update Change List

While you are waiting for the next update, you can help us test the update to make sure that when it is released, it is as bug free as possible. You can learn how to help here:
How is Dev Branch?

Thanks to everyone who is testing the next update and reporting bugs.


Update is out.

Steam Sales
Garry's Mod is currently on sale at -75%. If you ever wanted to buy the game for yourself or your friends, now is a good time!

In addition to that, Counter-Strike: Source is on sale at -50%. If you still don't own it and are experiencing missing textures and models in multiplayer, you can get it right now.


Sales are over.
Garry's Mod - Rubat
Workshop
I'd like to personally say thanks to everyone who is reporting bad content on Garry's Mod Steam Game Hub.

If you wish to contribute to the Garry's Mod community, you can find the Steam Workshop rules for Garry's Mod here:
Steam Workshop Rules


Next Update
The next update is coming soon ( In next couple of weeks ). You can find a full list of changes here:
Next Update Change List

While you are waiting for the next update, you can help us test the update to make sure that when it is released, it is as bug free as possible. You can learn how to help here:
How is Dev Branch?

Thanks to everyone who is testing the next update and reporting bugs.


Update is out.

Steam Sales
Garry's Mod is currently on sale at -75%. If you ever wanted to buy the game for yourself or your friends, now is a good time!

In addition to that, Counter-Strike: Source is on sale at -50%. If you still don't own it and are experiencing missing textures and models in multiplayer, you can get it right now.


Sales are over.
Jul 11, 2014
Garry's Mod - Rubat
A minor update containing a few hotfixes for last update just came out. Restarting your servers is strongly recommended.
If there are any persisting issues left, please report them on the official GitHub issues page.

GLIBC_2.15 dependency on Linux dedicated servers
Some Linux dedicated server owners may have noticed that the game now requires glibc 2.15. This is a necessary change since the version we were using before was really outdated. If your server is running on a relatively old distro which does not include that library, you can find instructions on how to install it here: Linux Dedicated Server Hosting.

Fixed non-ASCII characters being removed from player names
This was accidentally introduced in an attempt to fix an exploit which would let servers tamper with a client’s configuration file, sorry for that! Everything should be back to normal now.

Fixed model scaling not working correctly on some models
Entity:SetModelScale and Entity:EnableMatrix had an issue with some models which would cause transformations to be applied twice. This issue is now fixed, you can see the difference below:

This will break scripts that rely on the old broken behaviour, so I also added Entity:SetLegacyTransform for those who want their current scripts fixed with minimal effort. This function basically brings the old scaling behaviour back for the entity it is called on, so it should be used exclusively as a temporary fix.

Full Changelog

Fixes
  • Fixed plugin_load not doing anything
  • Fixed players being removed when sitting in a vehicle parented to another entity
  • Fixed non-ASCII characters being removed from player names
  • Fixed tabs in RichText selection
  • Fixed properties not correctly working on vanilla
  • Fixed Color.__tostring not outputting alpha
  • Fixed render.CapturePixels crashing when used on render targets
  • Fixed Weapon:CallOnClient crashing when called on a weapon owned by a NPC
  • Fixed player names not updating in scoreboard and voice panels
  • Fixed weapon holdtypes not always updating on the client
  • Definitely fixed Entity:SetModelScale and Entity:EnableMatrix applying transformations twice on some models
Additions
  • Added Entity:SetLegacyTransform(bool)
Deletions
  • Removed properties.HaloThink
  • Removed _restart from blocked concommand list
Jul 11, 2014
Garry's Mod - Rubat
A minor update containing a few hotfixes for last update just came out. Restarting your servers is strongly recommended.
If there are any persisting issues left, please report them on the official GitHub issues page.

GLIBC_2.15 dependency on Linux dedicated servers
Some Linux dedicated server owners may have noticed that the game now requires glibc 2.15. This is a necessary change since the version we were using before was really outdated. If your server is running on a relatively old distro which does not include that library, you can find instructions on how to install it here: Linux Dedicated Server Hosting.

Fixed non-ASCII characters being removed from player names
This was accidentally introduced in an attempt to fix an exploit which would let servers tamper with a client’s configuration file, sorry for that! Everything should be back to normal now.

Fixed model scaling not working correctly on some models
Entity:SetModelScale and Entity:EnableMatrix had an issue with some models which would cause transformations to be applied twice. This issue is now fixed, you can see the difference below:

This will break scripts that rely on the old broken behaviour, so I also added Entity:SetLegacyTransform for those who want their current scripts fixed with minimal effort. This function basically brings the old scaling behaviour back for the entity it is called on, so it should be used exclusively as a temporary fix.

Full Changelog

Fixes
  • Fixed plugin_load not doing anything
  • Fixed players being removed when sitting in a vehicle parented to another entity
  • Fixed non-ASCII characters being removed from player names
  • Fixed tabs in RichText selection
  • Fixed properties not correctly working on vanilla
  • Fixed Color.__tostring not outputting alpha
  • Fixed render.CapturePixels crashing when used on render targets
  • Fixed Weapon:CallOnClient crashing when called on a weapon owned by a NPC
  • Fixed player names not updating in scoreboard and voice panels
  • Fixed weapon holdtypes not always updating on the client
  • Definitely fixed Entity:SetModelScale and Entity:EnableMatrix applying transformations twice on some models
Additions
  • Added Entity:SetLegacyTransform(bool)
Deletions
  • Removed properties.HaloThink
  • Removed _restart from blocked concommand list
Jul 8, 2014
Garry's Mod - Rubat
FIXES
  • 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
    • Optimized vgui.LoadControlsFromString
  • Additions
    • Added Entity:PhysicsDestroy()
    • Added Weapon:GetHoldType()
    • Added util.SharedRandom(uniqueName, min, max, additionalSeed=0)
    • Added util.BlastDamageInfo(dmginfo, origin, radius)
    • Added Entity:SetLOD(lod=-1)
    • Added Entity:SetLagCompensated(bool), IsLagCompensated()
    • Added Player:SetAllowWeaponsInVehicle(bool), GetAllowWeaponsInVehicle()
    • Added CSoundPatch:SetDSP(dsp), GetDSP()
    • Added IGModAudioChannel:EnableLooping(bool)
    • Added IGModAudioChannel:PlayFile(path, flags, callback)
    • Added optional second argument to Entity:SetPhysicsAttacker which controls expiry time
    • Added game.SetSkillLevel(int), game.GetSkillLevel()
    • Added the following hooks to scripted effects: StartTouch, Touch, EndTouch
    • Added CUserCmd:SelectWeapon(weapon_ent)
    • Added __tostring to CNavArea, CSoundPatch, IGModAudioChannel, PhysObj, dlight_t metatables
    • Added PhysObj:GetName()
    • Added CNavArea:Draw(), IsUnderwater(), GetSizeX(), GetSizeY(), IsRoughlySquare(), IsFlat(), GetZ(pos), IsOverlapping(pos, tolerance), Contains(pos), IsCoplanar(navArea), GetClosestPointOnArea(pos), IsVisible(pos), GetCorner(cornerId)
    • Added navmesh.GetNavAreaCount(), GetNavArea(pos, beneathLimit), GetNavAreaByID(id), BeginGeneration(), IsGenerating(), GetPlayerSpawnName(), SetPlayerSpawnName(), AddWalkableSeed(pos, normal), ClearWalkableSeeds()
    • Added Entity:IsDormant()
    • Added ENT:Blocked(other)
    • Added Color:__tostring, Color:__eq and Color:ToHSV
    • Added gui.InternalKeyTyped(code)
  • Removals
    • Removed "loop" flag from sound.PlayURL
    • Removed support for vm_origin and vm_angles from GM:CalcView
Jul 8, 2014
Garry's Mod - Rubat
FIXES
  • 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
    • Optimized vgui.LoadControlsFromString
  • Additions
    • Added Entity:PhysicsDestroy()
    • Added Weapon:GetHoldType()
    • Added util.SharedRandom(uniqueName, min, max, additionalSeed=0)
    • Added util.BlastDamageInfo(dmginfo, origin, radius)
    • Added Entity:SetLOD(lod=-1)
    • Added Entity:SetLagCompensated(bool), IsLagCompensated()
    • Added Player:SetAllowWeaponsInVehicle(bool), GetAllowWeaponsInVehicle()
    • Added CSoundPatch:SetDSP(dsp), GetDSP()
    • Added IGModAudioChannel:EnableLooping(bool)
    • Added IGModAudioChannel:PlayFile(path, flags, callback)
    • Added optional second argument to Entity:SetPhysicsAttacker which controls expiry time
    • Added game.SetSkillLevel(int), game.GetSkillLevel()
    • Added the following hooks to scripted effects: StartTouch, Touch, EndTouch
    • Added CUserCmd:SelectWeapon(weapon_ent)
    • Added __tostring to CNavArea, CSoundPatch, IGModAudioChannel, PhysObj, dlight_t metatables
    • Added PhysObj:GetName()
    • Added CNavArea:Draw(), IsUnderwater(), GetSizeX(), GetSizeY(), IsRoughlySquare(), IsFlat(), GetZ(pos), IsOverlapping(pos, tolerance), Contains(pos), IsCoplanar(navArea), GetClosestPointOnArea(pos), IsVisible(pos), GetCorner(cornerId)
    • Added navmesh.GetNavAreaCount(), GetNavArea(pos, beneathLimit), GetNavAreaByID(id), BeginGeneration(), IsGenerating(), GetPlayerSpawnName(), SetPlayerSpawnName(), AddWalkableSeed(pos, normal), ClearWalkableSeeds()
    • Added Entity:IsDormant()
    • Added ENT:Blocked(other)
    • Added Color:__tostring, Color:__eq and Color:ToHSV
    • Added gui.InternalKeyTyped(code)
  • Removals
    • Removed "loop" flag from sound.PlayURL
    • Removed support for vm_origin and vm_angles from GM:CalcView
Apr 19, 2014
Garry's Mod - Rubat
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.
Apr 19, 2014
Garry's Mod - Rubat
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.
...

Search news
Archive
2024
May   Apr   Mar   Feb   Jan  
Archives By Year
2024   2023   2022   2021   2020  
2019   2018   2017   2016   2015  
2014   2013   2012   2011   2010  
2009   2008   2007   2006   2005  
2004   2003   2002