Code updateSep 23, 2026, 12:05 AM UTC

CS2 Update (Sep 23, 2026)

CS2’s latest update introduces the new Rush mode with its own HUD, bots, and ambience, sets up a pet system and C4 stickers, adds a Starjunk95 music kit, reworks crosshair and name displays, and pushes broad animation, audio, and tool improvements.

Quick read

  • New Rush mode arrives with custom HUD, bots, radar icons, ambience, and map scripts built around room-by-room lane progression.
  • Weapon data is cleaned up for a unified crosshair system, and a powerful experimental `weapon_m14` rifle configuration appears in the files.
  • Backend foundations for a cosmetic pet system—centered on evolving chicken companions—are added, including items, attributes, and rich chicken-themed UI audio.
  • C4 now supports both stickers and keychains in the item system, while inventory data expands with a new expired-item placeholder and keychain icon metadata.
  • A new Starjunk95 music kit and coupons are introduced alongside per-mode music volume controls and settings UI updates.
  • First- and third-person weapon animation graphs are rebuilt for a wide set of guns, with specific visual polish for the PP-Bizon and C4 worldmodel behavior.
  • Spectating, spawn logic, and server tooling gain new convars and protocols, including a TrueView-style spectator option and structured remote convar control.
  • Map ambience on Cobblestone, Ancient night, Cache, and other maps is refined, and Steam Audio configuration is expanded for more accurate occlusion and reverb.
  • Crosshair and name display text, plus multiple HUD panels, are reworked for clearer settings, consistent decorated names, and more readable clan tags.
  • Source 2 tools (Hammer, ModelDoc, and PET) receive navigation, selection, and icon updates to speed up map and asset creation for creators.

This update pushes a big new Rush game mode with custom UI and bots, lays groundwork for pets and C4 cosmetics, refreshes weapon animations and audio across the board, and adds a new music kit and crosshair options alongside a long list of engine, economy, and tool improvements.

New Rush Game Mode

  • Dedicated Rush ruleset

    • A new gamemode_rush.cfg defines Rush as a short‑round, up‑to‑15‑round mode with focused money rewards, simplified bomb/hostage economy, and friendly fire enabled at reduced damage.
    • Pistols are the default spawn weapons, and bots in this mode use a special behavior tree via mp_bot_ai_bt "scripts/ai/rush/bt_default.kv3" so they act differently from standard bots.
    • Team intros are customized using mp_team_intro_type rush, giving the mode its own presentation.
  • Room‑based lane progression

    • A Rush map script (rush_001.js) sets up a chain of small arenas (“rooms” like Spire, Wallbang, Big Box, etc.) arranged along a lane.
    • Each room is owned by either team; winning a round pushes the frontline toward the enemy’s base, with distinct final rooms for T and CT.
    • A central antenna button acts as the control point in each room:
      • Pressing it when your team doesn’t own the room can flip control and triggers team‑specific audio.
      • Incorrect use (wrong team or wrong timing) plays an error beacon.
    • The script manages round flow, win conditions, sudden‑death behavior when a team is wiped, and per‑room fog, lighting, and ambience.
  • Rush radar and objective helpers

    • A new overview definition (resource/overviews/rush_001.txt) breaks the map into clear radar volumes so each room is distinctly visible.
    • Script‑exposed entities like CSRadarPoint and CSObservablePoint let the mode:
      • Mark the antenna on radar with team‑colored icons.
      • Provide spectator camera anchor points attached to the tower when a team is wiped.

From a player’s perspective, Rush is a tightly guided lane‑push mode played across a sequence of compact arenas, with a single interactable antenna objective driving who controls the frontline.

Rush HUD, Menus, Radar, and Audio

  • Purpose‑built Rush HUD

    • New HUD layouts such as hudrush.xml, hudrush_001.xml, hudrush_002.xml, and hudrush_newui.xml define several Rush‑specific overlays.
    • The UI presents a sequence of rooms with map thumbnails, team icons, arrows, and castle icons that show which team owns each stage and where the current fight is.
    • A “best‑of” layout (hudrush_002.xml) uses vertical progress pips per team and a central score room.
    • hudrush_newui.xml adds a detailed match state: each room shows
      • its name and image tile,
      • a money value,
      • CT and T win markers that light up when a side wins that room.
    • An attack/defend banner (rush-attack-defend) switches styling depending on your role, and a rush-countdown bar appears for time‑sensitive situations.
  • Rush in the Play menu and main menu

    • The Play screen gains a dedicated Rush tab with its own map list layout and room for features like friend leaderboards.
    • A new main menu promotional tile (mainmenu_rush_tile.xml/.css) advertises Rush with preview video and a button that jumps straight into the Rush Play tab.
    • This should make the mode very easy to discover and queue for.
  • Radar support for tower objectives

    • The radar HUD (hudradar.xml) adds a TI_TowerPackage that includes:
      • TowerPing (styled like existing player pings),
      • TowerIconPackage (generic tower icon),
      • TowerIconC4 and TowerIconHostage.
    • New color styles (clr-gray, clr-white, clr-red, clr-green) allow tower markers to change color, likely to reflect ownership, contesting, or danger states.
  • Rush ambience and team intros

    • A dedicated Rush mix group and a full set of ambient events in ambience/game_sounds_rush.vsndevts give the Rush map its own layered soundscape (warehouse air, rumbles, metal textures, etc.).
    • New team intro sound events (TeamIntro.Footsteps.Rush, TeamIntro.Suit.Rush) play localized footsteps and gear rustle around the player during Rush intros.

Overall, Rush ships with bespoke UI, radar icons, map scripts, bot logic, and soundscape, making it feel like a self‑contained mode rather than a repurposed playlist.

Rush Bots and AI

  • Skill‑tiered Rush bot config

    • scripts/ai/rush/bt_config.kv3 defines multiple skill levels from low to elite with distinct reaction times, aim speeds and tolerances, crouch/dodge behavior, and fire patterns for different weapon types.
    • Higher tiers react faster and aim tighter, letting Rush scale from casual bot matches to challenging offline play.
  • Mode‑aware behavior tree

    • scripts/ai/rush/bt_default.kv3 lays out high‑level Rush bot behavior:
      • Remembering enemies seen or heard and checking points of interest.
      • Delayed buys at round start, then moving into fights.
      • Turning to face damage sources and deciding whether to attack, investigate, or hunt.
      • Explicitly navigating to and using the antenna button as a primary objective.

In practice, Rush bots should feel tuned for short, objective‑driven rounds, contesting the tower rather than wandering aimlessly.

Crosshair System and HUD Name Polish

  • Crosshair behavior and descriptions

    • Many cl_crosshair* and grenade‑related crosshair convars now have clearer descriptions and explicit min/max values, improving in‑game documentation.
    • Weapon data in weapons.vdata removes legacy per‑weapon crosshair spread constants (m_nCrosshairMinDistance, m_nCrosshairDeltaDistance) and instead leans on centralized crosshair systems.
    • Several sniper entries (weapon_awp, weapon_g3sg1, weapon_scar20, weapon_ssg08), related prefabs, and even C4 now explicitly set m_bShowCrosshair = false, aligning data with their intended HUD behavior.
  • Refreshed crosshair options in the UI

    • Localization replaces older labels like GameUI_CrosshairBehaviorStatic with a numbered style system (GameUI_CrosshairStyle07) and new tooltips.
    • Additional strings reference updated crosshair info, style descriptions, and import/export codes.
    • This suggests the crosshair settings page will present clearer, more structured choices, though the exact layout isn’t shown here.
  • Consistent decorated player names

    • Spectator, death, and post‑round panels now use richer name tokens:
      • hudhealthammocenter.xml pulls clan lines from {g:player_name:bot:spec_playerslot} and main names from {g:player_name:pupp:name:spec_playerslot}.
      • hudteamcounter.xml uses {g:player_name:name:player_slot} for post‑round avatars.
      • huddeathpanel.xml uses {g:player_name:bot:pupp:name:killer_playerslot} for the killer’s name.
    • These changes standardize decorated names and bot handling in multiple HUD elements.
  • Clan tag readability at crosshair

    • hudreticle.css introduces a decorated-player-name__clan-tag class with a more readable text shadow, making clan tags easier to see when spectating or aiming at players on busy backgrounds.

Players should see a more coherent crosshair settings experience and fewer odd edge cases around how names, clan tags, and bots are displayed across the HUD.

New weapon_m14 Rifle (Data Only)

  • New rifle configuration

    • A weapon_m14 family is added to weapons.vdata:
      • A prefab (weapon_m14_prefab), a numbered entry, and a named weapon_m14.
    • Confirmed properties include:
      • Classified as a primary rifle (m_GearSlot = "GEAR_SLOT_RIFLE", m_WeaponType = "WEAPONTYPE_RIFLE").
      • Uses sniper‑class ammo: m_nPrimaryAmmoType = "BULLET_PLAYER_338MAG".
      • High base damage and strong headshot multiplier:
        • m_nDamage = 115
        • m_flHeadshotMultiplier = 4.0
      • Very low ammo capacity and reserves:
        • m_iMaxClip1 = 5
        • m_nPrimaryReserveAmmoMax = 5
        • m_bReloadsSingleShells = true (round‑by‑round reload).
      • Semi‑automatic: m_bIsFullAuto = false, m_nNumBullets = 1.
      • Long cycle and deploy times (m_flCycleTime = 1.85, m_flDeployDuration = 1.85).
      • High armor ratio and penetration (m_flArmorRatio = 1.95, m_flPenetration = 2.5).
      • Scoped/ironsight‑style behavior:
        • m_bUnzoomsAfterShot = true.
        • m_nZoomLevels = 1 with m_nZoomFOV1 = 90 (not a narrow scope).
        • Ironsight fields such as m_flIronSightFOV = 75.0 and associated speed and looseness values.
        • m_bShowCrosshair = false.
  • Development status

    • Additional variants are marked _not_pickable or targeted at specific slots, and some model references are placeholders.

This strongly resembles an experimental high‑damage, low‑capacity rifle using sniper ammo but sitting in the rifle slot, potentially with ironsight‑style aiming. Its presence here does not guarantee it will appear in standard matchmaking; it may currently be used for internal tests or special modes.

Weapon Data, Loadouts, and C4 Cosmetics

  • CZ75‑Auto vs P250 mapping

    • Several pistol entries that previously referenced _class = "weapon_p250" have been switched to _class = "weapon_cz75a" while remaining tagged as secondaries.
    • These look like loadout or economy templates rather than core ballistics, so the main effect is likely which in‑game weapon a given item or preset spawns as, not direct weapon balance.
  • C4 cosmetic support

    • The C4 prefab now uses "prefab" "weapon_base weapon_supports_stickers weapon_supports_keychains" instead of only supporting keychains.
    • This flags C4 as a valid host for both keychains and stickers in the item system.
    • Whether players can immediately apply stickers to C4 will depend on further economy definitions and UI, but the underlying capability is now declared.
  • PP‑Bizon world model and animations

    • The PP‑Bizon’s world model (weapon_smg_bizon.vmdl_c) and multiple world‑view clips (draw, idle, crouch idle, reload, shoot, plus non‑additive variants) have been rebuilt.
    • This points to visual/animation polish—smoother third‑person motion and reloads—rather than gameplay stat changes.

Pet System and Chicken‑Themed Items

  • New pet item class and slot

    • A base pet item (ID 4681) with item_class = "pet" is added, using a dedicated flexible_loadout_slot = "pet" and inv_display_slot = "pet".
    • It’s marked as rare, unique, nameable, and non‑tradable, and a #CSGO_Type_Pet name type is provided.
  • Chicken pet items

    • chicken_egg (ID 4948):
      • item_class = "chicken_egg".
      • Uses the pet loadout slot and a pedestal model models/chicken/egg_pristine.vmdl.
      • Has an upgrade level attribute starting at 0.
      • Inventory icon: econ/pets/chicken_egg.
    • chicken_feed (ID 4949):
      • item_class = "chicken_feed".
      • Also uses the pet slot and references a feed bag pedestal model.
      • Icon: econ/pets/chicken_feed_bag.
  • Pet evolution definitions

    • A pet_definitions section lists multiple chicken stages with localization keys and display models:
      • chicken_egg_01 (egg),
      • chicken_chick_01 (chick),
      • chicken_catalana_01, chicken_silkie_01, chicken_polish_01 (different adult breeds).
  • Pet attributes and backend hooks

    • New attributes include:
      • "pet id" (attribute 296, class pet_id).
      • "pet seed" (attribute 313, class pet_seed, hidden), similar to keychain seeds.
      • pet food expiration date and pet next upgrade date, using deployment‑date‑style classes.
    • Inventory/GC protobufs add a #LoadoutSlot_Pet, pet_food_expiration_date, and an EGCPetMsg enum with k_EMsgGCAckPetEvent carrying pet_item_id.
  • Chicken‑centric UI audio

    • game_sounds_ui.vsndevts adds a large library of Chicken.* events: hatching, feeding, idles, flaps, pecks, panic, seed drops, and even “photo booth” interactions (camera shutter, zoom, accept/reject sounds).
    • A Chickens mix group with an obscured layer is added in soundmixers.txt to control chicken and chicken UI sound levels.

All of this forms a substantial backend for a cosmetic chicken pet system, including progression (egg → chick → hen), feed items, personalization via seeds, and heavily themed UI/audio. The data does not specify exactly how or where pets appear in matches or menus, but the infrastructure is now in place.

New Music Kit: Starjunk95

  • Economy and inventory setup

    • A new music definition (music_definitions ID 104) named starjunk95_01 is introduced with:
      • Localized name and description keys (#MusicKit_starjunk95_01, #MusicKit_starjunk95_01_desc).
      • Inventory art: econ/music_kits/starjunk95_01.
      • Pedestal model: models/inventory_items/music_kits/music_kit_starjunk95_01.vmdl.
    • Two new coupon items (IDs 7043 and 7044) are added:
      • coupon - starjunk95_01 and coupon - starjunk95_01_stattrak.
      • Both use prefab "coupon_prefab", point to matching loot lists, and the StatTrak coupon sets "will_produce_stattrak" "1".
    • client_loot_lists gains matching entries that redeem to [starjunk95_01]musickit.
  • Music events and per‑mode music control

    • A full set of music events for this kit is added: main menu, team select, match/round start, action, round win/loss, MVP theme, bomb/hostage cues, deathcam, and ten‑second warnings.
    • soundstacks_csgo_music.vsndstck extends music logic to respect per‑mode volume convars like snd_roundstart_volume_casual, snd_roundstart_volume_armsrace, _deathmatch, _rush, etc.
    • New options snd_music_mode and snd_music_settings_mode select which mode’s volumes are in use and which set the settings menu edits.
    • Localization adds SFUI_Settings_ entries for per‑mode sliders (master, menu, start round, action, end round, MVP, objective, ten‑second warning, death camera) and a “Music Mode” selector.

Once enabled, players will be able to obtain the Starjunk95 kit (including a StatTrak version), hear its tracks across all game events, and adjust music levels more granularly per mode.

Inventory, Keychains, and Expired Items

  • Expired item placeholder tool

    • A new tool‑class item expired_itemdef is added with all UI strings pointing to #expired_itemdef keys and icon econ/tools/expired_itemdef.
    • This likely serves as a safe placeholder when an item definition is no longer valid, so affected entries still show something readable instead of breaking the UI.
  • Keychain icon_base metadata

    • Many keychain (weapon charm) definitions gain an "icon_base" field, such as:
      • kc_missinglink_* with icon_base "kc_missinglink".
      • Weapon‑series charms like kc_wpn_ak_*, kc_wpn_awp_*, kc_wpn_ctknife_*, etc., with matching base names.
      • drboom charms with icon_base "kc_db".
    • This value likely helps the inventory UI group or generate icons consistently across a charm series (base icon + variant overlays), improving inventory browsing and visual consistency.
  • Inventory image data

    • inventory_image_data.vdata is expanded to include imagery for the new pet items, expired_itemdef tool, the Starjunk95 music kit and its coupons, and potentially new/updated keychains.

These changes primarily smooth the inventory and cosmetic experience—handling expired items gracefully and keeping keychain series visually organized.

Spectating, Spawns, and Server Control

  • TrueView‑style spectator option

    • cl_spectator_predict is introduced to toggle a predictive spectator mode intended to more closely match what the observed player saw on their client.
    • Servers can disable this when needed; how it feels will depend on server configuration, but it aims to make peeks and trades look more natural in spectator and replays.
  • Spawn safety controls

    • New server options:
      • sv_allow_approximate_spawns lets the server nudge players slightly off exact spawns if blocked instead of stacking them.
      • sv_spawn_random_nudge_offset sets the size of that random offset.
    • Most official mode configs (competitive, casual, Wingman, deathmatch, demolition, arms race, workshop) now explicitly set both to 0, favoring deterministic spawns.
    • The options remain available for custom content and servers that want looser spawn placement.
  • Bot nav safety

    • bot_path_require_reachable_goal ensures bots won’t try to path toward nav areas they can’t actually reach, reducing stuck or futile movement.
  • Death drops and promoted items

    • mp_death_drop_gun now supports a 3 setting: drop both the current and the best weapon on death.
    • mp_promoted_item_enabled now defaults to true. While “promoted item” isn’t fully defined here, this likely controls visibility of a featured item mechanic in certain modes.
  • Team intros and map veto tweaks

    • mp_team_intro_type now supports none, normal, wingman, rush, and auto. auto behaves like normal when mp_halftime is set, and none otherwise.
    • Wingman’s config (gamemode_competitive2v2.cfg) selects mp_team_intro_type wingman, giving 2v2 its own intro presentation.
    • sv_mapvetopickvote_phase_duration moves from six to seven phases with adjusted timings, so map veto flows in matchmaking may feel slightly different in pacing.
  • Remote convar control protocol

    • New user messages UM_RemoteServerCommand and UM_RemoteServerResponse define a structured way for authenticated clients or tools to request server convar changes and receive success/failure results.
    • This doesn’t grant new permissions by itself; it provides a cleaner protocol for tools (for example, future RCON replacements or integrated control panels).

These changes give server operators and mode designers finer control over spawns, intros, and admin tooling, and they add an optional spectator mode aimed at improving viewing experience.

Engine, Network, and Audio Under‑the‑Hood Changes

  • Netcode and message safety

    • New server convars sv_net_client_message_process_time_ms_warn and sv_net_client_message_process_time_ms_drop let servers warn or drop clients if their incoming message processing is too heavy, protecting performance.
    • source2_steam_stats gains detailed per‑message latency/processing metrics, and sv_netprof_delta_sharing_temp is added as a telemetry‑only convar for evaluating recent net changes.
    • C2S_CONNECT_Message is now explicitly capped at maximum_size_bytes = 2400, hardening the connect path against extremely large packets.
    • CMsgServerUserCmd adds a delta_processed flag, and new types like QuantizedFloatEncoderAlias_t and ProtoCoordSizeParams_t give the engine more flexibility in encoding positions and angles.
  • Clan integration hooks

    • Player info messages now include clan_member and clan_officer flags, and there are new GC calls for fetching clan details.
    • Server‑side, sv_clanid sets a Steam clan ID whose members may be allowed to adjust certain convars, and sv_clanserver_gms appears as an associated flag.
    • Reservation data gains clan_tags, and persona data gains clan_tag fields.
    • Together, this lays groundwork for deeper Steam clan integration—possibly clan servers where members or officers have limited config powers.
  • Steam Audio and environmental reverb

    • gameinfo.gi bumps snd_steamaudio_baked_occlusion_mode and adds many tuning settings for occlusion, reflections, air absorption, and probe placement, including options to append probes along navmesh cover.
    • Resource compiler options for audio (Reverb, Pathing, CustomData) define defaults for grid spacing, ray counts, and clustering.
    • Over time, maps baked with these settings can achieve more accurate occlusion and reverb, especially around corners and behind cover.
  • Ambient audio refinements on existing maps

    • Cobblestone’s sound events now include a
Back to updates

Recent updates

CS2@CounterStrike
Sep 23, 2026, 11:58 PM UTC

The Cologne 2026 Major Shop will be available until September 29th. If you have unspent tokens, you have less than one week to spend them!

View details
CS2@CounterStrike
Sep 23, 2026, 11:50 PM UTC
View details
Code updateSep 23, 2026, 11:10 PM UTC

CS2 Update (Sep 23, 2026)

New Static Square crosshair style and outline options, Rush mode timing tweaks, upgraded pet photo JPEG pipeline with sticker limits, plus small map guide, animation, and UI polish.

  • New crosshair style 8 (Static Square) added, with expanded crosshair outline options and updated crosshair shaders on PC and Vulkan.
  • Rush mode adjusted with shorter freeze and warmup times plus refined elimination countdown logic that treats final rooms differently and tracks legitimate kills.
  • Pet photo booth now saves high-quality JPEGs instead of PNGs, with improved sticker inventory integration, placement limits, and more consistent pet book handling.
  • Player card Pet Book entry only appears for hatched pets or retired books, while crosshair and color picker UI text has been clarified and localized.
  • Official map guide data updated for de_train and the main worldmodel animation graph refreshed, alongside new tooling keybindings and backend JPEG/compression support.
View details