CS2 Sub-Tick Updates: What Valve Changed and What the Tick Rate Still Controls

Focused on discussions specifically about CS 1.6, including gameplay strategies, nostalgic content, and server recommendations.
Post Reply
ice
Site Admin
Posts: 156
Joined: Tue Aug 27, 2024 5:17 am

CS2 Sub-Tick Updates: What Valve Changed and What the Tick Rate Still Controls

Post by ice »

CS2 Sub-Tick Updates: What Valve Changed and What the Tick Rate Still Controls

The crosshair system overhaul in September 2026 forced a fundamental rethink of how CS2 handles movement and detection between ticks. Here is what actually changed, and what the tick rate still controls regardless of sub-tick processing.

**What Valve changed in the September 2026 update**

The Rush Hour update (released September 22, 2026) introduced real-pixel crosshair measurements and a new crosshair share code format. Alongside the visual overhaul, Valve made several backend changes to how the game processes player state between server ticks:

- Added `cs_player_camera` entity for scripted camera control without moving the pawn
- Added `instance.delay` for configurable delays in script execution
- Added `instance.onbombplantstart`, `instance.onbombplantabort`, `instance.onbombdefusestart`, `instance.onbombdefuseabort`
- Added `cs_playerpawn.getcamera` and `cs_playerpawn.getc4` and `cs_playerpawn.getdefusetarget`
- Added `c4.getplantstarttime`, `c4.getplantfinishtime`, `c4.abortplant`
- Added `custom_hud_layout` entity with panel, label, image, and button types
- Added `cs_player_camera` for player view control
- Added `enum csmovetype` with corrected types for some events where parameters were previously undefined
- Unghandled promise rejections are now logged to the console during script loading
- Errors during initial script run are now logged to the console
- The column number is now included in errors caught during the CompileModule step of script loading
- Deprecated `planter` from `instance.onbombevent` and `defuser` from `instance.onbombdefusevent`

**Tick rate still controls these fundamentals**

Despite the sub-tick processing additions, the server tick rate remains the authoritative source for these core gameplay mechanics:

- `sv_maxrate`, `sv_minrate` — absolute bandwidth limits per client
- `cl_cmdrate` — how many client commands the server processes per second
- `cl_updaterate` — how often the client sends state updates per second
- `rate` — the maximum bytes per second the client can receive
- `sv_accelerate` — acceleration when moving on the ground
- `sv_airaccelerate` — acceleration while in the air
- `sv_friction` — ground friction coefficient
- `sv_maxspeed` — maximum client speed on ground
- `sv_backspeed` — backward movement speed multiplier
- `sv_gravity` — world gravity constant
- `sv_jump_impulse` — the upward velocity applied when jumping
- `sv_enablebunnyhopping`, `sv_autobunnyhopping` — bunny hop enabling
- `sv_legacy_jump`, `sv_jump_precision_enable` — jump mechanic variants

**Sub-tick processing fills the gaps between ticks**

The new sub-tick system does not replace the tick rate; it interpolates between ticks for smoother visuals:

- `cl_interp` — explicit interp value in seconds (default derived from `cl_interp_ratio` and `cl_updaterate`)
- `cl_interp_ratio` — the ratio used to calculate default `cl_interp` (default 2)
- `mm_dedicated_search_maxping` — maximum ping in milliseconds for server browser searches
- `net_graph` — when enabled, shows `rate`, `cl_updaterate`, `cl_cmdrate`, `sv_tickrate` and more
- `cl_showpos` — prints position, view angles, and current tick information
- `cl_showfps` — frames per second counter

**Practical impact for players**

- A 64-tick server processes all player inputs and state changes once every 15.625ms. A 128-tick server processes twice as frequently.
- Sub-tick processing can make Aim Studio drills feel smoother on 64-tick, but the server still validates everything at the tick boundary.
- `cl_interp` values lower than `1 / tick_rate` (e.g., `0.008` on 128-tick) can cause extrapolation errors that the server corrects, but may introduce jitter visually.
- The new crosshair system uses real pixels, but hit registration still relies on the server tick that contains the shot.

**Key takeaway**

Sub-tick processing improves visual consistency and reduces the perception of "missed shots," but the server tick rate (`sv_tickrate`) remains the hard limit on how frequently gameplay state is authoritative. No amount of sub-tick processing can make a 64-tick server behave like 128-tick, because the server's final say on hits, movement, and game state happens at tick boundaries.

*Sources: totalcsgo.com/callouts, s2v.app/SchemaExplorer/cs2/convars, developer.valvesoftware.com/wiki/List_of_Counter-Strike_2_console_commands_and_variables, counter-strike.net/news/updates*
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests