Counter-Strike 2 Update
Valve published "Counter-Strike 2 Update" on 25 September 2025 in Community Announcements. The PatinaAI market index's median read 25.72 points in the seven days after against 27.21 before, −5.5 %. A typical week moves under 0.1 % either way on the same measure. A read is a comparison with a date, not a cause.
[ MAP SCRIPTING ]
Updated tsconfig.json in the script_zoo, setting the target to "es2022" for more accurate type analysis.
Changed point_script entity to no longer remove itself on a failed script load during spawn. Instead it will remain in an inactive state and listen for script changes if the game is running in tools mode.
Fixed point_script entity to no longer potentially crash after an unsuccessful reload from an invalid script while running the game in tools mode.
Changed point_script entity to hold onto the memory value returned by an Instance. OnBeforeReload callback until the next successful reload instead of forgetting it if the reload is unsuccessful.
Changed methods expecting arguments of string type to now error instead of calling toString for arguments of the wrong type.
Changed Instance. Msg and Instance. DebugScreenText to accept any type for the text value.
Fixed a bug where RunScriptInput would crash the game when triggered with a null caller or activator.
Removed Instance. OnGameEvent in favor of per-event registration methods. This gives us tools for stronger API stability and creates a consistent API for events that are not gameevents.
Added Instance. DebugLine
Added Instance. DebugBox
Added Instance. OnPlayerConnect
Added Instance. OnPlayerActivate
Added Instance. OnPlayerDisconnect
Added Instance. OnRoundStart
Added Instance. OnRoundEnd
Added Instance. OnBombPlant
Added Instance. OnBombDefuse
Added Instance. OnPlayerKill
Added Instance. OnPlayerChat
Added Instance. OnGunFire
Added Instance. OnGrenadeThrow
Added an overload to Instance. EntFireAtName that allows setting caller and activator
Added an overload to Instance. EntFireAtTarget that allows setting caller and activator
Added normal vector to the result of Instance. GetTraceHit
Added Entity. GetGroundEntity
Added CSWeaponBase. GetOwner
Added CSPlayerController. GetName
Added CSObserverPawn. GetOriginalPlayerController
Added CSPlayerPawn. GetOriginalPlayerController
Added CSPlayerPawn. IsCrouching
Added CSPlayerPawn. IsCrouched
Added CSPlayerPawn. IsNoclipping
See maps/editor/zoo/scripts/point_script.d.ts for comprehensive details on the API
Added "train_zoo.vmap" with all de_train assets and examples for mapmakers.
Read the post on Steam. Text as Steam's news feed serves it.
No read: the venues' daily prices do not cover the days around this post.
The PatinaAI market index's median over the seven days after the post was 25.72 points against 27.21 over the seven days before: −5.5 %. A typical week moves under 0.1 % either way on the same measure, the drift this read has to beat. The post's own day is left out. A comparison with a date, not causation.
The item types and weapons the post names, in the order it names them. A word match, not a reading of the post.
How to read the number
The read compares the market index's median over the seven UTC days after the post with the seven days before it, the post's own day left out, and needs at least three published days on each side. The same measure taken on every day of the series is the drift a typical week shows; a read inside that drift is the market doing what it was doing. Neither is proof the post moved anything. The composite is on the market report, every basket under the indexes, and every update is on one list.