Summer 2026 Music Kit Competition is now here! - Create a summer themed electronic music kit and submit it by - Enter Now!
New daily missions have been added for the following gamemodes:
Improved behaviour of bots, including:
Options are now stored in local ConVars rather than stored on Lambda Servers. All existing options are migrated automatically.
Now includes searching and clear descriptions.
Crosshairs have now been improved to closer match CS:GO.
There's also now a preview at the top so you can see exactly what your crosshair is going to look like.
Support for CS:GO Crosshair codes has also been added. Copy your CS2 crosshair code in to Lambda or vice versa.
We can't send local HTTP requests anymore, so this is now pointless.
The accounts UI has been removed too.
Optimised various code paths to improve performance.
Available Collections
Individual Items
Season IV has now come to an end with Season 5 now started. All times and ranks have been reset (Although still accessible via Leaderboard filter) and replays have been reset.
SSJ was ported from its original implementation with a few translation errors that had been quietly corrupting every number it printed. Gain and sync were being derived from your velocity rather than your movement keys, efficiency was overwritten every tick instead of accumulating across the jump, and a handful of divisions could produce nan. All of it has been corrected against the reference implementation, and the ramp-contact correction, which had never actually been running, is now active.
Heads up: your SSJ numbers will read differently than they did before. They're accurate now; previous readings weren't, so don't compare the two.
The disguise entity is now solid and takes damage instead of being a purely visual proxy. It uses an OBB hull on the COLLISION_GROUP_DEBRIS_TRIGGER group, so bullets and traces hit the prop you're disguised as while player movement still passes through it. Any damage it takes is forwarded to the owning player with the original attacker, inflictor, damage type and force intact.
The disguise entity now rebuilds its position and angles from the owner's eye angles every server tick, centering the model on the player rather than snapping to their origin. Rotation-locked props hold their locked yaw. The client renderer performs the same transform per frame, so what you see is what gets shot.
Grenades dealt inconsistent damage to prop players: physical bounces credited the grenade entity instead of the thrower, and blasts were blocked by solid props standing between the explosion and the target. Grenade damage against props is now normalised to 75, always credited to the hunter who threw it, and a sphere scan on explosion catches disguised props the engine blast couldn't reach. A per-grenade guard prevents a player being hit twice by the same explosion.
Rotation lock and unlock previously derived their hulls from the raw model width, which doesn't contain a rectangular prop at diagonal yaws. Unlocked props now use the corner radius of the model, and locking uses the actual rotated bounds. This also rotates corners around the model's horizontal center instead of its authored origin, matching where the prop is actually drawn.
CanFitInHull performed a line trace with hull fields set, which never tested the volume it claimed to. It now runs a proper TraceHull against MASK_PLAYERSOLID, ignores your own disguise entity, and can optionally ignore the prop you're trying to become. The disguise halo preview uses the same check, so the red/green indicator matches whether the disguise will actually succeed.
Hunter bots now only acquire and hold targets they can actually see. Targets must be inside the bot's field of view, visibility traces account for the solid disguise entity, and trace points scale to the prop's real height instead of using fixed human offsets. Losing sight of a target for more than a short grace period drops it and sends the bot to investigate the last confirmed position. Disguise swaps still break tracking instantly, and the bot won't investigate afterwards since the old position is no longer reliable. Target acquisition and clearing are consolidated into shared helpers, and reaction-time timers are serialised so a stale timer can't un-freeze a bot mid-swap.
Hunter bots now switch to the highest-priority loaded primary or secondary in their inventory instead of firing whatever they spawn holding, and won't interrupt a manual shotgun reload to do it. All engine-driven firing is suppressed, core bots would shoot breakable path obstructions, which in Prop Hunt is a wrong-prop shot that damages the hunter. Bots only fire when the target was seen recently, the aim point re-validates on the firing tick, and their aim is actually aligned. Close-quarters weapons hold fire beyond melee range.
Prop selection now scores candidates with GetDisguiseWeight instead of a hardcoded size preference, skips props with no nearby nav area, and finds the best unique-model and repeated-model candidate in a single pass instead of two full sphere scans. Prop and model claims now store the owning bot rather than a boolean, and are validated against that bot still being alive, on the prop team and actually wearing the model, claims no longer leak when a bot dies, disconnects or fails to disguise. Bots that make no progress toward a target prop for 10 seconds, or exceed a distance-scaled deadline, release the claim and look elsewhere.
Prop bots previously teleported their goal to any random nav area on the map. They now sample reachable areas and score them on distance from hunters, whether any hunter currently has line of sight, spacing from other prop bots, nearby wall cover, and travel distance. Transit to a hiding spot has the same stuck detection as prop approach, so a bot that can't reach its spot re-picks rather than standing still for the round.
Bullets can now punch through certain thin materials like wood, plastic, glass, and vents, continuing on to hit whatever's behind them. Thicker or harder materials like concrete and metal will stop or heavily weaken a shot. Expect less "hard cover" behind flimsy props and walls.
Smoke grenades actually obscure your view now. Standing in or looking through smoke will tint your screen, and enemies (including bots) can no longer see or shoot at you through it. Use smoke to break line of sight for real pushes and retreats.
Bots defending a planted bomb now coordinate properly. Only one bot will move in to defuse it at a time instead of the whole team crowding around it. The rest of the team will hold covered positions nearby and react to your ping location while a human player is defusing.
CT bots now split up and coordinate on hostages instead of every bot wandering to a random one, and won't pile onto a hostage that's already being rescued. Terrorist bots also hold better guard positions around hostages.
When the bomb is close to exploding, uninvolved bots will now retreat to a safe distance instead of standing around near the blast.
Thrown grenades bounce and settle more naturally. They won't get stuck sliding on walls, and will properly roll to a stop only when they land on the ground. Grenades that break through destroyed props will now continue forward instead of oddly bouncing back.
Fixed cases where a smoke grenade could clip through the map and fail to detonate properly. It will now recover and pop the smoke cloud at the last valid position it touched.
Server admins can now configure whether dying players drop their currently held gun or their primary/secondary weapon, giving more control over loot behavior on death.
Fixed an issue where damage-dealt stats could be recorded higher than the actual damage a player received, throwing off scoreboards and MVP calculations.
Fixed a potential error when a player attempting to rescue a hostage disconnected or became invalid mid-rescue.
Terrorist bots attacking the bomb site will now actually pick up the C4, fight their way toward the site, and attempt to plant it if left unchecked. One bot per wave is chosen to carry the bomb, and defenders get an on-screen warning the moment a live carrier is confirmed, giving them a clear signal to intervene. If the carrier is killed before reaching the site, bomb duty passes to another bot so the wave doesn't lose its threat entirely.
Assembly is a new tool for opening a compiled map file and looking at everything packed inside it, including materials, textures, models, and sounds. Preview images, textures, and models right inside the tool, then run a content check to see what is missing, only stored loose on your computer, or already safely packed into the map. Missing or loose content can be packed in with a single click, helping you catch broken textures and missing models before you share a map.
A brand new code editor for writing custom gameplay scripts for your maps, complete with autocomplete, live error checking, and documentation for the game's scripting functions. Test your scripts instantly in game with a single click, and push changes to an already running game without needing to restart it. A new map entity lets you drop a script straight into your level and control when it runs.
The navigation mesh page has grown into a full Map Tools hub. Alongside generating navigation meshes, you can now open a map directly in Assembly or send it straight to Place Forge, all from the same screen.
Foil and gold sticker styles can now generate a normal map automatically from your artwork, with strength, blur, and invert controls and a live preview, so you no longer need an outside tool to add depth to your stickers.
A new tool for holographic and lenticular stickers lets you sample colours directly from a holo spectrum image, giving you exact colour values to hand paint your holo mask for a specific part of the holographic effect.
Sticker, normal map, holo, glitter, and effect mask uploads now accept TGA and VTF files alongside regular images.
Holographic mask and spectrum textures no longer bleed colour at their edges, fixing visible artifacts on holo stickers.
Quickly switching sticker styles or uploading new files could sometimes leave the wrong texture applied. This has been fixed so the correct texture always ends up in the right place.
The Hammer entity file list now shows whether each file is not installed, installed, or needs an update, instead of a simple checkmark, so you can see at a glance which entity packs are out of date.
A bug meant outdated installed Hammer content could go undetected and never prompt you to update. Update checks now work correctly.
--game is supplied.