Code updateOct 8, 2026, 10:39 PM UTC

CS2 Update (Oct 8, 2026)

Weapon reload timing tightened, server network limits relaxed, weapon audio remixed, and a broad sweep of protocol, shader, and tool cleanups—plus small pet UI and creator‑tool improvements.

Quick read

  • Post‑reload attack lockout shortened for a specific weapon, making reloads feel slightly faster.
  • Server network CPU safeguards and recv‑buffer limits relaxed and promoted to release settings to reduce spurious drops.
  • Weapons audio mix modifiers updated so gunshots may cut through the soundscape more clearly.
  • Large cleanup of Game Coordinator econ messages and schemas, deprecating many legacy item operations and adding generic item management messages.
  • A new `m_flModifier0` field is now networked on CS player pawns, likely for a future synced gameplay or visual modifier.
  • Pet photobooth tooltip moved to localization, and multiple language and pet book assets were repacked.
  • Numerous Vulkan shader files updated for naming consistency and correct parameter bindings, improving robustness for VFX and content creation tools.
  • ModelDoc gains a new Strip Morphs mesh operation and the Asset Browser gets a shortcut to explore the selected asset on disk.
  • Rush_001 map package and thumbnails were rebuilt, suggesting minor visual or packaging tweaks rather than layout changes.
  • Client, server, matchmaking, and engine binaries rebuilt with the new version 1.41.9.0, indicating general stability and protocol updates.

This update fine‑tunes a specific weapon’s reload timing, tweaks network safety limits for servers, improves weapon audio mix behavior, and brings a batch of under‑the‑hood fixes for item systems, shaders, and tools—plus a small UI polish for the new pet camera.

Gameplay and Weapon Behavior

  • Faster post‑reload attack window: A weapon entry in weapons.vdata now uses m_flDisallowAttackAfterReloadStartDuration = 3.2 instead of 3.766667 in three places. This means that for that weapon (and its related variants sharing this data), the time after starting a reload until you’re allowed to fire again has been shortened by roughly half a second. In practice, affected reloads will feel slightly snappier, letting you get back to shooting a bit sooner.

Audio Mix and Weapon Loudness

  • Weapons mix modifier adjusted: In dsp_mix_modifiers.vdata, the entry for the "Weapons" mixgroup was changed:

    • m_flModifier increased from 0.7 to 1.0.
    • m_flSourceModifier changed from 0 to -1.0.

    These values control how weapon sounds are scaled and blended relative to the rest of the mix. The change suggests weapons may now punch through the mix more clearly, especially under heavy action. Players may notice gunshots being slightly more present or less muffled in busy scenes.

Server Networking Safety Limits

  • Client message CPU safeguards widened: The following server convars in convars.txt were updated:
    • sv_net_client_message_process_time_ms_drop_burst: 200 → 500 (and moved from development‑only to release).
    • sv_net_client_message_process_time_ms_drop_rate: 20 → 200 (now release).
    • sv_net_client_message_process_time_ms_warn_burst: still 50, now marked release.
    • sv_net_client_message_process_time_ms_warn_rate: still 5, now marked release.
  • Recv buffer capacity raised: In gameinfo.gi, "sv_recvbuf_messages" increased from 120 to 500.

Together, these changes formalize and relax CPU‑time limits for handling client messages and allow a much larger receive buffer. Public and community servers should be more tolerant of short bursts of heavy network traffic before dropping players, which may reduce spurious disconnects in high‑activity situations. At the same time, the limits remaining in a “release” config means anti‑abuse protections are still enforced in live games.

Item System and Economy Protocol Cleanup

A substantial pass went over Game Coordinator (GC) item message definitions and related schemas. These are protocol‑level changes rather than new features visible in the menus, but they matter to tool authors and integration developers.

  • Many legacy econ messages marked deprecated: In econ_gcmessages.proto and the generated EGCItemMsg headers, numerous messages were renamed with a _DEPRECATED suffix, including:
    • Paint and customization: k_EMsgGCPaintItem, k_EMsgGCPaintItemResponse, k_EMsgGCCustomizeItemTexture, k_EMsgGCRemoveCustomTexture, and their responses.
    • Gifting and wrapping: k_EMsgGCGiftWrapItem, k_EMsgGCDeliverGift, k_EMsgGCUnwrapGiftRequest, and their response variants.
    • Style unlocking and claim‑code items: k_EMsgGCSetItemStyle, k_EMsgGCUsedClaimCodeItem, k_EMsgGCUnlockItemStyle, k_EMsgGCUnlockItemStyleResponse.
    • Account lookup and previews: k_EMsgGCLookupAccount, k_EMsgGCLookupAccountName, preview status and transaction queries, and several server‑browser‑related entries.
  • Obsolete enums removed: The EUnlockStyle enum was removed from both the proto and EUnlockStyle.h and is no longer referenced.
  • New core item operations added: base_gcmessages.proto now defines more generic item operations:
    • CMsgDeleteItem { optional uint64 item_id; }
    • CMsgModifyItemStringAttr for changing string attributes on items using a tool and subject ID.
    • CMsgCraftItemsRequest with recipe_def and a list of craft_items.
  • Old, specialized messages removed: Messages such as CMsgApplyStrangePart, CMsgApplyPennantUpgrade, CMsgApplyEggEssence, CMsgGCClientDisplayNotification, CMsgGCItemPreviewItemBoughtNotification, and CMsgGCCollectItem were dropped.
  • System message deprecation: k_EGCMsgPreTestSetup in gcsystemmsgs.proto is now k_EGCMsgPreTestSetup_DEPRECATED.

For players, these protocol cleanups should be invisible day‑to‑day, but they indicate Valve is consolidating old, rarely used pathways into a smaller, more general set of item operations. Tool authors who talk directly to GC protocols may need to keep an eye on deprecated message usage and migrate to supported flows over time.

Player Pawn Networking: New Modifier Field

  • New replicated field on players: Both client and server network dumps for C_CSPlayerPawn/CCSPlayerPawn gained a new float m_flModifier0 field, mirrored in the corresponding schema headers.

The name is generic, but because it’s networked to clients, it’s likely tied to a gameplay or visual effect that needs to stay in sync (for example a timed status, scaling factor, or modifier for a particular mode). The update does not expose what it controls yet, so players shouldn’t expect an obvious new HUD element just from this field alone.

Pet Photobooth and Localization Polish

  • Photobooth tooltip localized: The pet photobooth popup layout now uses a localization token for the countdown toggle button:
    • The toggle button’s tooltip changed from a hard‑coded English string ("Toggle 3 second countdown") to "#pet_countdown_timer_toggle".
  • New localization entry: csgo_english.txt adds:
    • "pet_countdown_timer_toggle" "Toggle 3 second countdown"

This keeps the existing English text but routes it through the normal localization system, which makes it easier to translate the tooltip into other languages and maintain consistency across the UI.

Visual Effects and Shader Consistency

A wide set of Vulkan shader (.slang) files were adjusted, mostly to align naming and parameter bindings. These are advanced, content‑author‑facing changes, but they can indirectly change how things look and how editors behave.

Sticker and glove shaders

  • Weapon stickers parameter naming: In csgo_weapon.slang and csgo_weapon_sticker.slang, expressions now reference capitalized material params like Sticker0Offset, Sticker0Wear, Sticker0Scale, Sticker0Rotation instead of lowercase variants. This applies across stickers 0–4.
  • Glove tint output format clarified: In both csgo_customglove.slang and csgo_customglove_preview.slang, g_tTintId now uses an explicit OutputFormat(R8_UNORM) instead of a numeric format constant 67.

These updates should make custom content and internal tools more robust: correctly named parameters tend to bind more reliably, and explicit formats reduce surprises when authoring or previewing skins and stickers.

Bloom, post‑process, and AO tuning

Several post‑process shaders had their expression variables normalized to clearer, camel‑case names:

  • post_process.slang (core and CS2 versions):
    • bloombufferscaleclamp → bloomBufferScaleClamp.
    • Other bloom parameter expressions use normalizedAdditiveBloomStrength, normalizedScreenBloomStrength, normalizedBlurBloomStrength, etc.
  • gaussian_bloom_blur.slang (core and CS2):
    • uvscaleclamp2 → UVScaleClamp2.
    • texelsize → TexelSize.
    • bloomthreshold, bloomthresholdwidth, and skyboxbloomstrength now referenced as bloomThreshold, bloomThresholdWidth, and skyboxBloomStrength.
  • downsample_bloomthreshold.slang uses the same updated bloomThreshold/bloomThresholdWidth naming.
  • ssao_scalable_ambient_obscurance.slang now references ScreenWidth, ScreenHeight, and projScale rather than lowercase equivalents inside g_vProjInfo and g_vRadiusConsts.

These are primarily authoring‑side naming fixes, but they reduce confusion for technical artists when wiring post‑process graphs. Players may see minor stability or correctness improvements in bloom and SSAO if the old names caused any edge‑case issues.

Depth, decals, and wireframe controls

  • Depth downsampling ratios clarified: In downsample_depth.slang, the vertical and horizontal downsample ratios now look for g_nDownsampleRatio/g_nDownsampleRatioY/g_nDownsampleRatioX instead of lowercase versions.
  • Depth‑only culling flag: depth_only.slang now checks CullFront instead of cullfront when deciding front‑face culling.
  • Projected decals: csgo_projected_decals.slang uses DynamicDecal instead of dynamicdecal for stencil mode.

These tweaks all aim at making shader variants and material options line up correctly with configuration data, which helps ensure depth passes and decals behave predictably across maps.

Wireframe and debug rendering

Several shaders now consistently reference ShaderVar_Wireframe* parameters rather than lowercase shadervar_wireframe* names:

  • csgo_tools_wireframe.slang, cables.slang, generic.slang, and both grasstile.slang variants now gate depth enable/depth write and blending off ShaderVar_WireframeDepthEnable, ShaderVar_WireframeDepthWriteEnable, and ShaderVar_WireframeBlendEnable.
  • LPV debug grid shaders (lpv_debug_grid.slang in core and CS2) renamed the point size expression to PointSize.
  • The UI shader ui.slang now uses VguiStencilRef for the stencil reference value instead of vguistencilref.

These are tool‑facing improvements: artists and level designers using wireframe, grass debug, or LPV visualization should see more predictable responses when toggling the associated debug variables.

Liquid wobble controls

  • csgo_simple_liquid.slang now references LiquidWobbleScale and LiquidLevelHeight instead of lowercase equivalents. This keeps wobble amount and fill height settings aligned with material parameters and reduces the chance of a liquid surface ignoring author‑set overrides.

Grain and film noise for SFM

  • sfm_hsl_grain.slang changed expressions to grainSize and timeOffset for grain size and time offset, matching typical Source 2 naming conventions.

These SFM‑oriented updates help creators fine‑tune stylized grain without wrestling inconsistent parameter names.

Tools and Content Pipeline Improvements

This update touches many Source 2 tools that creators use to build and inspect CS2 content.

ModelDoc: strip morphs mesh op

Multiple tool binaries—including cs_mdl_import, hammer, assetrename, modeldoc_editor, resourcecompiler, modtools, physicsbuilder, and assetpreview—gained new strings and an icon related to CModelDocMeshModifier_MeshOpStripMorphs:

  • New UI elements and labels:
    • Strip All (Ignore Selection)
    • Strip Morphs [from selection]
    • Command alias strip_all.
  • New icon resource: outliner_icon_parametric_meshop_strip_morphs.png added under game/core/tools/images/modeldoc_editor/.

This indicates a new ModelDoc mesh operation for removing morph targets, either globally or from the selected subset. For workshop creators and artists, this should make it easier to clean up or optimize models that contain unused morphs, potentially reducing memory usage and improving performance of complex props or characters.

Asset Browser shortcut

  • assetbrowser_key_bindings.txt adds a new binding:
    • Context AssetBrowserMainWnd → command ExploreToSelectedAsset on Ctrl+Shift+S.
  • Supporting command strings like Cmd_ExploreToSelectedAsset and ExploreToSelectedAsset appear in the assetbrowser binary and metadata.

This gives content creators a quick way to jump from an asset entry in the browser to its location on disk or in the project tree, smoothing navigation in large projects.

Read‑only tools asset info

  • readonly_tools_asset_info.bin and its CS2 counterpart were updated, and the text manifest readonly_tools_asset_info.txt now includes materials/dev/placeholder.vmat.

The placeholder material is typically used for temporary geometry or missing content. Having it referenced in read‑only tools metadata helps editors present safer defaults instead of hard errors when encountering incomplete setups.

Localization Files and Pet Book Assets

  • The package manifest pak01_dir.txt shows churn in resource/csgo_*.txt language files and a range of panorama/images/pet_book/page_titles/... textures across multiple languages (Brazilian Portuguese, Bulgarian, French, Romanian, Ukrainian, Polish, etc.).

Because added and removed paths match one‑for‑one, it appears these assets were repacked or updated rather than fundamentally changed. Players using localized clients may see small visual or layout adjustments in the pet book UI, but content coverage remains the same.

Map Screenshots and Rush_001 Packaging

  • Multiple pak01_***.vpk archives and maps/rush_001.vpk changed size and hash, and all resolution variants of rush_001 map icon screenshots under panorama/images/map_icons/screenshots/ were re‑listed.

This strongly suggests the Rush_001 map and its menu imagery were repacked—likely for minor fixes, optimization, or visual updates. Players may notice slightly updated loading‑screen thumbnails or small visual/lighting changes in Rush_001, but nothing in this update explicitly signals large‑scale layout changes.

Networking and Matchmaking Binaries

  • The Windows and Linux versions of client.dll, server.dll, matchmaking.dll, and several engine components (engine2, networksystem, soundsystem, particles, etc.) have new builds.
  • Matchmaking and networking string tables show mostly minor internal changes, plus the same _DEPRECATED econ message renames used on the client.

These updates are consistent with the other protocol and audio changes already described. They also likely include general bug fixes and minor performance work that are not individually visible but contribute to stability.

Version and Build Information

  • Steam version bump: steam.inf now reports:
    • ClientVersion=2000930
    • ServerVersion=2000930
    • PatchVersion=1.41.9.0
  • Build markers updated: built_from_cl.txt and several one‑line content_built_from_cl.txt entries across depots were refreshed with new change‑list IDs.

These confirm that this is a new live build and help server owners and support teams confirm they’re running the correct version.

Overall Impact

This update focuses on polish and infrastructure rather than headline features:

  • A specific weapon reload becomes more responsive.
  • Server network safety limits are tuned to be more forgiving while staying protective.
  • Weapon audio should cut through the mix more clearly.
  • Econ and GC protocols are cleaned up, retiring many legacy messages.
  • Numerous shader and tool naming fixes make life easier for content creators and reduce the risk of subtle rendering bugs.
  • Pet‑related UI and localization get small but important quality‑of‑life tweaks, and tools gain additional mesh‑cleanup and navigation capabilities.

For everyday players, the most noticeable changes will likely be the slightly snappier reload behavior on the affected weapon and a clearer, more consistent audio experience during intense firefights, alongside routine stability improvements.

Back to updates

Recent updates

Official updateOct 8, 2026, 10:36 PM UTC

Counter-Strike 2 Update (Oct 8, 2026)

Small update with weapon, audio, map, localization, and stability fixes.

  • Added a ping icon for dropped defuse kits
  • Reduced the time for AUG reload by half second
  • Fixed the sound event during silent reload for Desert Eagle
  • Fixed a case of buzzing soundscape sounds during demo playback
  • Clipping fixes for Rush maps
  • Localization updates
  • Stability updates
View details