Code updateMay 18, 2026, 11:39 PM UTC

CS2 Update (May 18, 2026)

Update adds a new boost inaccuracy control, expands cs_script APIs and example zoo tools, refines GC messaging, and refreshes environment shaders alongside a small version bump.

Quick read

  • New `weapon_accuracy_stack_boost_limit` convar affects weapon spread for large player boosts.
  • cs_script API gains new round, economy, weapon, and input helpers plus `RegisterCheatCommand`.
  • Editor zoo example scripts switch from chat triggers to cheat console commands and centralize `sv_cheats` setup.
  • GC messaging is expanded with a new `steammessages_gc` definition while legacy convar replication messages are removed.
  • Environment shaders for terrain and blended surfaces are reworked on both PC and Vulkan, with manifests refreshed.
  • Client and server versions are bumped to 2000827 with patch version 1.41.6.2.

This update adds new scripting tools for creators, tightens how boosts interact with weapon accuracy, and refreshes some behind‑the‑scenes systems and shaders, all wrapped in a small version bump.

Gameplay and ConVars

  • New boost inaccuracy control: A new replicated convar weapon_accuracy_stack_boost_limit has been added. Its description indicates that ladder‑style inaccuracy is applied to players boosted by a stack of this many (or more) players. This suggests boosts involving large stacks may now introduce extra weapon spread, especially relevant for teams relying on multi‑player boosts in set plays.
  • Bot testing helper: A bot_hurt server command is now registered alongside other cheat‑flagged bot commands. While details aren’t exposed here, it appears intended for offline or cheat‑enabled testing, likely to quickly damage or kill bots during practice or debugging.

Scripting and Workshop API Improvements

The cs_script/point_script API used by custom scripts and Workshop maps gets a notable expansion, plus some cleanup of experimental tags.

  • General API documentation tweaks:

    • The scripting definition file now includes a dedicated feedback line pointing creators to [email protected] with "cs_script Feedback" in the subject.
    • Several methods that were previously marked @experimental (such as SetSaveData, GetSaveData, OnModifyPlayerDamage, and various input helpers) have had those warnings removed, which suggests Valve is growing more confident in their stability.
  • New lifecycle and round‑flow hooks:

    • OnBeginRoundRestart(callback: () => void): void; is introduced as an experimental callback fired at the start of cleanup for a round restart. Creators can likely use this to reset custom state before a new round begins, improving reliability of complex round‑based scripts.
  • Player and round control helpers:

    • GetAllPlayerControllers(): CSPlayerController[] returns all player controllers, including disconnected ones. This should make it easier to iterate over all players in custom modes without guessing slots.
    • GetRoundRemainingTime(): number is complemented by a new SetRoundRemainingTime(time: number): void;, allowing scripts to adjust the round timer directly. This may enable custom training routines, minigames, or timed challenges without relying solely on server cvars.
  • Custom console commands for scripts:

    • RegisterCheatCommand(name: string, callback: (args: string) => void): void; registers a console command that runs a script callback, usable only when sv_cheats is true. This gives creators a more controlled way to expose debug or tool commands without overloading chat or other hooks.
  • Weapon and player state access:

    • CSWeaponBase gains IsSilencerOn(): boolean;, giving scripts an easy way to know if a weapon is currently silenced.
    • CSPlayerPawn receives extra helpers:
      • HasHelmet() and SetHasHelmet(hasHelmet: boolean) to query and modify helmet status.
      • IsScoped() to check if a player is scoped in.
    • CSPlayerController gets money helpers:
      • AddMoneySpendableNow(amount: number) / GetMoneySpendableNow() to adjust the current round’s spendable money.
      • AddMoneyEarnedForNextRound(amount: number) / GetMoneyEarnedForNextRound() to affect the next round’s loss‑bonus style money.

    These additions should make it easier to build custom economies, practice tools, and mode‑specific mechanics (like enforced armor, free scopes, or scripted loadouts).

  • Input helpers considered stable:

    • IsInputPressed, WasInputJustPressed, and WasInputJustReleased on CSPlayerPawn no longer carry experimental warnings. That points to Valve treating input state queries as part of the stable scripting surface, helpful for movement tutors, key‑bind visualizers, or custom ability systems.

Changes to the Editor Zoo Example Scripts

The built‑in editor/zoo map scripts used as examples and test content have been updated to align with the new scripting capabilities and cheat‑command flow.

  • Chat commands replaced with cheat commands:

    • The old chat‑based trace tools (e.g. !traceline, !tracesphere, !tracebox, !tracebullet) have been replaced with a cheat console command:
      • script_zoo_trace <type> where type can be line, sphere, box, or bullet.
      • The script now uses Instance.GetAllPlayerControllers()[0].GetPlayerPawn() to pick a pawn to trace from, and prints a usage hint if the argument is invalid.
    • The !showinput chat command has similarly been switched to a cheat console command:
      • script_zoo_showinput toggles input display for the first player controller.

    These changes demonstrate how RegisterCheatCommand is intended to be used and keep development tooling behind sv_cheats instead of normal chat input.

  • Centralized cheat enabling in zoo setup:

    • sv_cheats 1 is no longer set directly inside grenadetraining.js. Instead, it’s executed once from setup.js via Instance.ServerCommand("sv_cheats 1"); along with existing warmup commands.
    • This suggests Valve wants example content to show a clearer pattern: one central setup script that configures the server environment (cheats, warmup) and separate scripts for specific tools or demos.
  • Compiled resources updated:

    • The corresponding packaged versions of these scripts (*.vjs_c) in the main game content were also refreshed, so players loading the shipped editor/zoo map get the new behavior without any manual setup.

Creators who study the zoo map to learn scripting should now see a more up‑to‑date and cheat‑aware approach to console tools.

Observer and Camera Services

  • Observer camera post‑processing:
    • The observer camera services schema now tracks m_hPrevPostProcessingVolume, a handle to a previous post‑processing volume.
    • While the exact behavior isn’t shown here, this likely supports smoother visual transitions when observers move between areas with different post‑processing settings (for example, changing color grading or exposure between indoor and outdoor zones).

Networking, GC, and Tooling Back‑End

A substantial new steammessages_gc.proto definition has been added, and several game binaries picked up matching string references.

  • New GC/Steam message definitions:

    • The new proto file defines a wide set of messages covering:
      • Web API keys and HTTP requests/responses (CMsgWebAPIKey, CMsgHttpRequest, CMsgWebAPIRequest, CMsgHttpResponse).
      • Account and license queries (CMsgAMFindAccounts, CMsgAMGetLicenses, CMsgAMGetUserGameStats, etc.).
      • Memcached‑style caching (CGCMsgMemCachedGet, CGCMsgMemCachedSet, CGCMsgMemCachedDelete, and stats).
      • System stats, SQL stats, IP location lookups, purchase trust, and VAC status changes.
      • Routing rules for client and Web API messages (CMsgGCRoutingInfo, CMsgGCMsgMasterSetWebAPIRouting, CMsgGCMsgMasterSetClientMsgRouting).
      • Email templates and sending, guest passes, suspicious activity notifications, and partner microtransactions.

    These look like shared infrastructure messages used by the game coordinator, matchmaking, item backend, and developer tools rather than direct in‑match features.

  • String updates across server, client, matchmaking, and item editor:

    • The server_strings, client_strings, matchmaking_strings, and cs2_item_editor_strings files now reference many of the new GC messages and routing structures.
    • At the same time, references to CMsgConVarValue and CMsgReplicateConVars have been removed and their message definitions were dropped from base_gcmessages.proto.

    For server operators and tool authors, this means that any integrations that depended on the old GC‑level convar replication messages may no longer see those messages and should not rely on them going forward.

  • Convar replication GC messages removed:

    • The CMsgConVarValue and CMsgReplicateConVars messages have been deleted from the shared GC messages proto. This strongly suggests convars are no longer exposed or synchronized through that particular GC channel.
    • Regular in‑engine convar behavior (via server/client networking and existing tools) is unaffected by this change, but backend or third‑party tooling built around GC‑side convar replication may need to adjust.

Rendering and Shader Adjustments

Two large environment shader files were updated along with associated Vulkan and PC shader manifests.

  • Environment and blend shaders updated:

    • csgo_environment.slang and csgo_environment_blend.slang have been significantly refactored, including how they sample height maps, color textures, and combine multiple layers.
    • New code paths compute weighting factors like _6616 from _19651 / vec2(_19651.x + _19651.y), and use more explicit per‑layer coordinate handling.
    • Height/roughness/tint handling appears to be more explicit (fwidth on height map values, clamp/saturate on roughness and tint), which may affect how blended surfaces (such as terrain or ground materials) look at grazing angles or across LOD transitions.
  • Shader manifest churn without net path changes:

    • Both shaders_vulkan_dir.txt and shaders_pc_dir.txt show removals and re‑adds of the same environment and static overlay shader paths for PC and Vulkan.
    • Because the paths added and removed match, this looks like a rebuild or version refresh of the shader binaries rather than new shader entries.

In practice, players may notice subtle differences in how ground, blended surfaces, or environment details render under certain lighting or viewing angles, especially on Vulkan, but the update does not clearly indicate a specific visual feature toggle.

Build and Version Bump

  • New client and server version:

    • ClientVersion and ServerVersion are now 2000827, with PatchVersion updated to 1.41.6.2.
    • Internal build and source revision numbers have also advanced, marking this as a distinct update for matchmaking compatibility.
  • Content manifest refresh:

    • The main pak01_dir.txt manifest has been rotated, re‑listing localized resource/csgo_*.txt files, the editor/zoo script binaries, and various map icon screenshots (including for de_cache).
    • The fact that these paths are removed and then re‑added identically suggests a packaging or ordering refresh rather than new assets.

Players should ensure client and server builds match this new version to avoid mismatch errors when connecting to community servers.

Overall Impact

  • Competitive players may see changes in how extreme multi‑player boosts interact with weapon inaccuracy due to the new weapon_accuracy_stack_boost_limit behavior.
  • Creators and Workshop authors gain richer scripting hooks for round flow, economy manipulation, weapon and armor state, and debug commands, with example scripts in the editor zoo updated to demonstrate cheat‑gated console commands.
  • Observers may benefit from smoother visual transitions thanks to enhanced post‑processing volume tracking.
  • Backend and tooling improvements, especially around GC messaging and convar replication, should make infrastructure more robust, though some legacy GC‑based integrations may need to be re‑evaluated.
  • Rendering tweaks to environment shaders may subtly alter how some blended surfaces and terrain look, particularly on Vulkan, as shader code for sampling and blending is refined.
Back to updates

Recent updates

CS2@CounterStrike
Oct 2, 2026, 10:36 PM UTC
View details
Code updateOct 2, 2026, 10:28 PM UTC

CS2 Update (Oct 2, 2026)

Small CS2 update cleans up commend and photobooth popups, expands Workshop crosshair/ironsight cvar support, and refreshes localization and build metadata.

  • Commend player and pet photobooth popups were cleaned up, including proper team-based hands in vanity shots and removal of leftover placeholder text.
  • Workshop cvar whitelist was updated to match CS2’s modern crosshair system and now also includes ironsight color and dot scale options.
  • Localization for the reporting UI was polished, and language resource files were refreshed while the game rolled to a new internal build version.
View details
Official updateOct 2, 2026, 10:24 PM UTC

Counter-Strike 2 Update (Oct 2, 2026)

Minor fixes, map lighting improvements, and an update to the workshop convars whitelist.

  • Agents now wear their equipped gloves during photobooth sessions and in the buy menu
  • Fixed grenade crosshair rendering when crosshair thickness is set to 3 pixels
  • Fixed formatting of titles in commend and report dialogs
  • Improved lighting in the Warehouse map
  • Updated workshop `convars` whitelist with the new `crosshair` settings
  • Stability improvements
View details