Garry's Mod
gmodkinect-610x343

You may have noticed some strange behavior in Garry s Mod if you played it a couple of days ago. An exploit that took advantage of the Source Engine s file sending mechanism made it possible to send files with any extension to the client or server. Strangely, this was used to change users Steam name to VINH'LL FIX IT, and using them to spam friends and players with the word cough over chat. The exploit is mostly fixed now, but Garry s Mod s own Garry Newman tells us it could have been a lot worse.
The worm as I understand it was transferred to the client as a dll, then when it loaded it crashed the client, in the hope that they'd join another server, Newman told PC Gamer in an email. When they did it downloaded the server's config file and looked for a rcon password. RCON, or remote console, allows you to control a server remotely. If it got one, it infected the server by uploading the dll and running it (it didn't need rcon to upload the dll, only to run it). And then the cycle continued.
Newman said he patched Garry s Mod within an hour of finding out about it, and that Valve did the same, but that it s still possible for the bug to spread via different Source Engine mods, so be careful what you download.
The effects of the worm were mostly non-destructive as far as we know, Newman said. Luckily the creator kept it pretty tame. It could have been a hell of a lot worse. I hope by being proactive and patching it quickly we avoided anyone using it maliciously.
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.
Half-Life 2
Steam graphs


Have you played every single game in your Steam library? No? Neither have I and that accomplishment is apparently just a small sand grain in the over 288 million games in Steam collections that have never felt a press of the Play button. That's a surprising figure from a new report by Ars Technica researching the most active and popular games on Steam straight from the recorded statistics of some of the platform's 75-million-strong community.

Ars' method for its number flood involves sampling registered games and their played hours via profiles and their unique Steam IDs. With the help of a server for computational muscle, Ars randomly polled more than 100,000 profiles daily for two months to pull together an idea of which games see the most time on everyone's monitors. In other words, your Backlog of Shame (don't deny it, everyone has one) probably took part in some SCIENCE at some point. Exciting.

Some caveats exist, though. The data Ars looked at for its research only extends back to 2009, when Steam brought in its "hours played" tracking system. Owned and played/unplayed games are thus slightly skewed to not account for older releases from the early noughties, and any length of time spent in offline mode wouldn't get picked up by Steam either. Still, Ars claims its results deliver a good picture of Steam gaming trends for the past five years albeit with some imperfections.

Predictably, Valve's personal products stack high on the list in terms of ownership and most played hours. Dota 2 takes the crown with an estimated 26 million players who ganked faces at some point in the MOBA, but free-to-play FPS Team Fortress 2 follows closely behind with a little over 20 million users. Counter-Strike: Source rounds out the top three with nearly 9 million players, but it's also collecting dust in over 3 million libraries.

As for non-Valve games, Skyrim wins in activity, barely edging out Counter-Strike: Global Offensive with 5.7 million estimated active owners. Civilization V kept 5.4 million players hooked for Just One More Turn, and Garry's Mod boasts 4.6 million budding physics artists.

Want to know what the most unplayed Steam game is? It's Half-Life 2: Lost Coast, the Source tech demo given free to pretty much everyone on Steam who bought or fired up Half-Life 2. It hasn't been touched by an approximate 10.7 million players. I guess that old fisherman is feeling pretty lonely right now.

My favorite stat is the total of played hours divided by game mode, more specifically the separate multiplayer clients of the Steam versions of Call of Duty: Modern Warfare 2 and Black Ops. The single-player campaigns for each respective title sits modestly within the mid-20-hour range, but the multiplayer side balloons well into the hundreds of hours. It's a pretty obvious indicator of where the biggest chunk of popularity resides in FPS gaming, but it's not like you wouldn't get weird looks for claiming you play Call of Duty for the story anyway.

See more of Ars' results in both number and pretty orange graph form in its report.
Garry's Mod - contact@rockpapershotgun.com (Alice O'Connor)

HOORAY!

Say kid, how do you fancy being a YouTube sensation, a real livestream Liberace? “B-but where would I even start?” you ask, eyes wide with hope. A new Humble Weekly Sale offers almost everything you need to become an Internet megastar, minus the hardware and a dreadful persona.

Curated by ‘PewDiePie’ (he has YouTube’s most-subscribed channel, don’t you know?) the bundle packs a few games the exhausting manbaby personality has wailed obscenities over, including Surgeon Simulator 2013, Garry’s Mod, and State of Decay.

… [visit site to read more]

Apr 4, 2014
Garry's Mod - Rubat
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
  • Added IGModAudioChannel:IsBlockStreamed
Apr 4, 2014
Garry's Mod - Rubat
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
  • Added IGModAudioChannel:IsBlockStreamed
Apr 3, 2014
Garry's Mod - Rubat
Due to character limits, the list below does not include changes contributed by the community.
The full changelog can be found here.

FIXES
  • Fixed viewmodel bobbing snapping when jumping or noclipping
  • Fixed flashlight getting duplicated when receiving a full packet update
  • Fixed spawnicons not always regenerating at the correct resolution when resized
  • Fixed lamps projecting backwards!
  • Fixed gamemode name reported by Steam not being updated after a changelevel
  • Fixed key bindings not working correctly in the main menu
  • Fixed GMod decals not working when used on props
  • Fixed debug textures not being precached
  • Fixed rendering artifacts when some particle effects are rendered in front of the skybox
  • Fixed nav files remaining open after loading a map
  • Fixed shell ejection issues on the HL2 pistol and SMG
  • Fixed viewmodel jittering when overwriting viewmodel position
  • Fixed viewmodel prediction errors when switching to thirdperson and back
  • Fixed sound spam with weapon_rpg when no ammo is left
  • Fixed jigglebones occasionally snapping into impossible positions when rapidly moving
  • Fixed keyframe_rope ignoring attachment points
  • Fixed combine balls not colliding with players
  • Fixed env_zoom not working at all
  • Fixed metrocops holding the stunstick going into a T-pose when attacked
  • Fixed metrocops not turning their stunstick on before attacking
  • Fixed NPCs not receiving the appropriate amount of damage from HL2 weapons

IMPROVEMENTS
  • Improved mounting system
  • sv_kickerrornum now defaults to 0 and its value is now saved to the config file
  • sv_allowcslua is now saved to the config file
  • Clientside Lua is now always allowed in singleplayer
  • Improved some spawn icons
  • TextEntry panels no longer filter '\t' characters
  • Restored old damage force behaviour
  • Singleplayer jump boost from HL2 is now implemented in Lua as a sandbox feature

ADDITIONS
  • Added clientside convar cl_steamoverlay_pos
LUA SCRIPTING
  • Fixes
    • Fixed render.SetStencilWriteMask setting the test mask instead of the write mask
    • Fixed CLuaEmitter:Finish not freeing the emitter
    • Fixed util.TableToJSON not encoding floating point values with enough accuracy
    • Fixed Player:ScreenFade not taking color alpha into account
    • Fixed GM:GravGunPickupAllowed not preventing the gravity gun from trying to pick up forbidden entities
    • Fixed GM:GravGunPunt not being called clientside when holding an object
    • Fixed CSoundPatch:Stop not actually stopping the sound when the game is paused
    • Fixed memory leak when calling timer.Create on an already existing timer
    • Fixed surface.GetTextSize ignoring '&'
    • Fixed the gravity gun and crowbar being removed when dropped using Player:DropWeapon
    • Partially fixed functions from the render and surface library not writing alpha when drawing on a render target
    • Fixed Entity:GibBreakClient not taking skin number into account
    • Fixed Entity:MapCreationID returning different values after a map cleanup
    • Fixed NEXTBOT:Use not being called
    • Fixed panels not feeding mousewheel events to their parent if the PANEL:OnMouseWheeled hook is defined
    • Fixed long-term performance issues with Entity:Remove
    • Fixed Entity:EnableMatrix not propagating matrix transform to child bones
    • Fixed an exploit with require, Player:ConCommand and game.ConsoleCommand
    • Fixed nan and +/-infinity returning a non null terminated string when converted into a string
    • Fixed Pre/PostDrawOpaqueRenderables receiving incorrect arguments
    • Fixed file functions not working with file names containing certain special characters
    • Fixed VMatrix:SetAnglesnot preserving translation and scale
    • Fixed surface.CreateFont disconnecting clients when an invalid table is passed
  • Improvements
    • HTTP requests now accept a "headers" table
    • game.AddDecal now accepts a string table as its second argument
    • Entity:IsValid no longer returns true on entities which have been removed during the current frame
    • Player:LagCompensation should now work in any predicted hook
    • Changed GM:CalcViewModelView, return a position and an angle to override viewmodel position
    • vm_origin and vm_angles fields in table returned from GM:CalcView are now deprecated
    • sound.PlayURL second parameter can now contain the “noblock” flag, which disables streaming in blocks
    • IGModAudioChannel:Stop now permanently deletes the channel
    • IGModAudioChannel:SetPos now takes an orientation vector as an optional second argument
    • Improved command blacklisting for Player:ConCommand and game.ConsoleCommand
    • sound.Add now accepts a table as its pitch and volume parameters
    • Moved Vector:__unm from Lua to C
    • Moved Angle:__unm from Lua to C
    • Matrix can now take an optional 4x4 table as an argument
    • Matrices can now be multiplied by vectors
    • Player:ViewPunchReset first argument is now optional (defaults to 0)
    • All trace functions from the util library now accept an ‘ignoreworld’ boolean parameter in their trace data
    • net.Start now starts an unreliable message if its second argument is true
    • Changed Entity:DispatchTraceAttack arguments to (dmginfo, traceres, dir)
  • Additions
    • Added chat.Open
    • Added chat.Close
    • Added render.SetLightmapTexture
    • Added render.PushRenderTarget
    • Added render.PopRenderTarget
    • Added GM:EntityEmitSound
    • Added NEXTBOT:OnRemove
    • Added timer.TimeLeft and timer.RepsLeft
    • Added render.OverrideAlphaWriteEnable
    • Added render.OverrideColorWriteEnable
    • Added render.SetWriteDepthToDestAlpha
    • Added a few requested ACT enums
    • Added PANEL:OnRemove hook
    • Removed PANEL:OnDeletion hook
    • Replaced Entity:GetTextures with Entity:GetMaterials
    • Added IGModAudioChannel:GetPos
    • Added IGModAudioChannel:GetVolume
    • Added IGModAudioChannel:SetTime
    • Added IGModAudioChannel:Set3DFadeDistance
    • Added IGModAudioChannel:Get3DFadeDistance
    • Added IGModAudioChannel:Set3DCone
    • Added IGModAudioChannel:Get3DCone
    • Added IGModAudioChannel:GetState
    • Added IGModAudioChannel:IsLooping
    • Added IGModAudioChannel:IsOnline
    • Added IGModAudioChannel:Is3D
    • Added IGModAudioChannel:GetLength
    • Added IGModAudioChannel:GetFileName
    • Added IGModAudioChannel:GetSamplingRate
    • Added IGModAudioChannel:GetBitsPerSample
    • Added IGModAudioChannel:GetLevel
    • Added IGModAudioChannel:FFT
    • Added IGModAudioChannel:GetPlaybackRate
    • Added IGModAudioChannel:SetPlaybackRate
    • Added the GMOD_CHANNEL_* and FFT_* enums
    • Added sound.GetTable
    • Added sound.GetProperties
    • Added GM:StartCommand
    • Added GM:EntityFireBullets
    • Added util.GetSurfacePropName
    • Added system.FlashWindow
    • VMatrix objects can now be printed to the console
    • Added VMatrix support for the following operators: ==, ~=, +, -
    • Added VMatrix:ToTable
    • Added VMatrix:Set
    • Added VMatrix:Identity
    • Added VMatrix:IsIdentity
    • Added VMatrix:IsRotationMatrix
    • Added VMatrix:Invert
    • Added VMatrix:GetRight
    • Added VMatrix:GetUp
    • Added VMatrix:SetForward
    • Added VMatrix:SetRight
    • Added VMatrix:SetUp
    • Added VMatrix:GetField
    • Added VMatrix:SetField
    • Added VMatrix:SetScale
    • Added VMatrix:InvertTR
    • Added VMatrix:GetInverse
    • Added VMatrix:GetInverseTR
    • Added VMatrix:GetForward
    • Added Player:GetCurrentViewOffset
    • Added Player:SetCurrentViewOffset
    • Added Entity:AddFlags
    • Added Entity:RemoveFlags
    • Added Entity:IsFlagSet
    • Added FL_* enums
    • Added Player:GetViewPunchAngles
    • Added Player:SetViewPunchAngles
Apr 3, 2014
Garry's Mod - Rubat
Due to character limits, the list below does not include changes contributed by the community.
The full changelog can be found here.

FIXES
  • Fixed viewmodel bobbing snapping when jumping or noclipping
  • Fixed flashlight getting duplicated when receiving a full packet update
  • Fixed spawnicons not always regenerating at the correct resolution when resized
  • Fixed lamps projecting backwards!
  • Fixed gamemode name reported by Steam not being updated after a changelevel
  • Fixed key bindings not working correctly in the main menu
  • Fixed GMod decals not working when used on props
  • Fixed debug textures not being precached
  • Fixed rendering artifacts when some particle effects are rendered in front of the skybox
  • Fixed nav files remaining open after loading a map
  • Fixed shell ejection issues on the HL2 pistol and SMG
  • Fixed viewmodel jittering when overwriting viewmodel position
  • Fixed viewmodel prediction errors when switching to thirdperson and back
  • Fixed sound spam with weapon_rpg when no ammo is left
  • Fixed jigglebones occasionally snapping into impossible positions when rapidly moving
  • Fixed keyframe_rope ignoring attachment points
  • Fixed combine balls not colliding with players
  • Fixed env_zoom not working at all
  • Fixed metrocops holding the stunstick going into a T-pose when attacked
  • Fixed metrocops not turning their stunstick on before attacking
  • Fixed NPCs not receiving the appropriate amount of damage from HL2 weapons

IMPROVEMENTS
  • Improved mounting system
  • sv_kickerrornum now defaults to 0 and its value is now saved to the config file
  • sv_allowcslua is now saved to the config file
  • Clientside Lua is now always allowed in singleplayer
  • Improved some spawn icons
  • TextEntry panels no longer filter '\t' characters
  • Restored old damage force behaviour
  • Singleplayer jump boost from HL2 is now implemented in Lua as a sandbox feature

ADDITIONS
  • Added clientside convar cl_steamoverlay_pos
LUA SCRIPTING
  • Fixes
    • Fixed render.SetStencilWriteMask setting the test mask instead of the write mask
    • Fixed CLuaEmitter:Finish not freeing the emitter
    • Fixed util.TableToJSON not encoding floating point values with enough accuracy
    • Fixed Player:ScreenFade not taking color alpha into account
    • Fixed GM:GravGunPickupAllowed not preventing the gravity gun from trying to pick up forbidden entities
    • Fixed GM:GravGunPunt not being called clientside when holding an object
    • Fixed CSoundPatch:Stop not actually stopping the sound when the game is paused
    • Fixed memory leak when calling timer.Create on an already existing timer
    • Fixed surface.GetTextSize ignoring '&'
    • Fixed the gravity gun and crowbar being removed when dropped using Player:DropWeapon
    • Partially fixed functions from the render and surface library not writing alpha when drawing on a render target
    • Fixed Entity:GibBreakClient not taking skin number into account
    • Fixed Entity:MapCreationID returning different values after a map cleanup
    • Fixed NEXTBOT:Use not being called
    • Fixed panels not feeding mousewheel events to their parent if the PANEL:OnMouseWheeled hook is defined
    • Fixed long-term performance issues with Entity:Remove
    • Fixed Entity:EnableMatrix not propagating matrix transform to child bones
    • Fixed an exploit with require, Player:ConCommand and game.ConsoleCommand
    • Fixed nan and +/-infinity returning a non null terminated string when converted into a string
    • Fixed Pre/PostDrawOpaqueRenderables receiving incorrect arguments
    • Fixed file functions not working with file names containing certain special characters
    • Fixed VMatrix:SetAnglesnot preserving translation and scale
    • Fixed surface.CreateFont disconnecting clients when an invalid table is passed
  • Improvements
    • HTTP requests now accept a "headers" table
    • game.AddDecal now accepts a string table as its second argument
    • Entity:IsValid no longer returns true on entities which have been removed during the current frame
    • Player:LagCompensation should now work in any predicted hook
    • Changed GM:CalcViewModelView, return a position and an angle to override viewmodel position
    • vm_origin and vm_angles fields in table returned from GM:CalcView are now deprecated
    • sound.PlayURL second parameter can now contain the “noblock” flag, which disables streaming in blocks
    • IGModAudioChannel:Stop now permanently deletes the channel
    • IGModAudioChannel:SetPos now takes an orientation vector as an optional second argument
    • Improved command blacklisting for Player:ConCommand and game.ConsoleCommand
    • sound.Add now accepts a table as its pitch and volume parameters
    • Moved Vector:__unm from Lua to C
    • Moved Angle:__unm from Lua to C
    • Matrix can now take an optional 4x4 table as an argument
    • Matrices can now be multiplied by vectors
    • Player:ViewPunchReset first argument is now optional (defaults to 0)
    • All trace functions from the util library now accept an ‘ignoreworld’ boolean parameter in their trace data
    • net.Start now starts an unreliable message if its second argument is true
    • Changed Entity:DispatchTraceAttack arguments to (dmginfo, traceres, dir)
  • Additions
    • Added chat.Open
    • Added chat.Close
    • Added render.SetLightmapTexture
    • Added render.PushRenderTarget
    • Added render.PopRenderTarget
    • Added GM:EntityEmitSound
    • Added NEXTBOT:OnRemove
    • Added timer.TimeLeft and timer.RepsLeft
    • Added render.OverrideAlphaWriteEnable
    • Added render.OverrideColorWriteEnable
    • Added render.SetWriteDepthToDestAlpha
    • Added a few requested ACT enums
    • Added PANEL:OnRemove hook
    • Removed PANEL:OnDeletion hook
    • Replaced Entity:GetTextures with Entity:GetMaterials
    • Added IGModAudioChannel:GetPos
    • Added IGModAudioChannel:GetVolume
    • Added IGModAudioChannel:SetTime
    • Added IGModAudioChannel:Set3DFadeDistance
    • Added IGModAudioChannel:Get3DFadeDistance
    • Added IGModAudioChannel:Set3DCone
    • Added IGModAudioChannel:Get3DCone
    • Added IGModAudioChannel:GetState
    • Added IGModAudioChannel:IsLooping
    • Added IGModAudioChannel:IsOnline
    • Added IGModAudioChannel:Is3D
    • Added IGModAudioChannel:GetLength
    • Added IGModAudioChannel:GetFileName
    • Added IGModAudioChannel:GetSamplingRate
    • Added IGModAudioChannel:GetBitsPerSample
    • Added IGModAudioChannel:GetLevel
    • Added IGModAudioChannel:FFT
    • Added IGModAudioChannel:GetPlaybackRate
    • Added IGModAudioChannel:SetPlaybackRate
    • Added the GMOD_CHANNEL_* and FFT_* enums
    • Added sound.GetTable
    • Added sound.GetProperties
    • Added GM:StartCommand
    • Added GM:EntityFireBullets
    • Added util.GetSurfacePropName
    • Added system.FlashWindow
    • VMatrix objects can now be printed to the console
    • Added VMatrix support for the following operators: ==, ~=, +, -
    • Added VMatrix:ToTable
    • Added VMatrix:Set
    • Added VMatrix:Identity
    • Added VMatrix:IsIdentity
    • Added VMatrix:IsRotationMatrix
    • Added VMatrix:Invert
    • Added VMatrix:GetRight
    • Added VMatrix:GetUp
    • Added VMatrix:SetForward
    • Added VMatrix:SetRight
    • Added VMatrix:SetUp
    • Added VMatrix:GetField
    • Added VMatrix:SetField
    • Added VMatrix:SetScale
    • Added VMatrix:InvertTR
    • Added VMatrix:GetInverse
    • Added VMatrix:GetInverseTR
    • Added VMatrix:GetForward
    • Added Player:GetCurrentViewOffset
    • Added Player:SetCurrentViewOffset
    • Added Entity:AddFlags
    • Added Entity:RemoveFlags
    • Added Entity:IsFlagSet
    • Added FL_* enums
    • Added Player:GetViewPunchAngles
    • Added Player:SetViewPunchAngles
Garry's Mod - Valve
Save 75% on Garry's Mod during this week's Midweek Madness*!

Garry's Mod is a physics sandbox. Unlike regular games there aren't any predefined aims or goals. We give you the tools and leave you to play.
You spawn objects and weld them together to create your own contraptions - whether that's a car, a rocket, a catapult or something that doesn't have a name yet - that's up to you.
If you're not too great at construction - don't worry! You can place a variety of characters in silly positions.

*Offer ends Friday at 10AM Pacific Time
...