Skip to content
  • There are no suggestions because the search field is empty.

Bragi - Game-specific schemas: Counter-Strike 2

This article is section 6.1 of Oddin.gg Bragi - Data Feed documentation. Sections 1 to 5 there cover general information, the match timeline, processing the data feed, match events and team profiles.

Other game schemas: Dota 2 · League of Legends · Valorant · eBasketball · eFootball · eCricket

6.1. Counter-Strike 2 (CS2)

The CS2 schema models a Counter-Strike 2 match as a series of maps; each map is played as a series of rounds. State is kept for the match overall, for the current map, for the current round, for each team, and for each player on each team.

6.1.1. Top-level CS2 messages

CS2MatchMessage

A concrete implementation of the (Game)MatchMessage pattern (see section 3.5.2.2).

Field Type Description
match_urn string Match identifier.
sequence uint64 Sequence number; must be exactly cached sequence + 1.
timestamp google.protobuf.Timestamp Time the message was produced.
data_status DataStatus Quality flag for the underlying data.
payload CS2MatchMessage.Payload Oneof: snapshot (CS2MatchSnapshot) or update (CS2MatchUpdate).

CS2MatchSnapshot

A concrete implementation of the (Game)MatchSnapshot pattern. Cache the snapshot in memory and update it with later messages.

Field Type Description
match_urn string Match identifier.
sequence uint64 Initial sequence number.
timestamp google.protobuf.Timestamp Snapshot timestamp.
data_status DataStatus Quality flag for the underlying data.
announcements repeated Announcement Operational announcements for the match.
match_state CS2MatchState Full current state of the match.
tournament Tournament Tournament the match belongs to.

CS2MatchUpdate

Field Type Description
payload CS2MatchUpdate.Payload Oneof: match_state (a full CS2MatchState) or partial_updates (CS2MatchStatePartialUpdates).
events repeated CS2Event Deprecated. Use MatchEventsFeed instead.

CS2MatchStatePartialUpdates

Field Type Description
updates repeated CS2MatchStatePartialUpdate Non-empty list of partial updates to apply to the cached CS2MatchState.

CS2MatchEvents

Field Type Description
match_urn string Match this batch of events belongs to.
events repeated CS2Event Events for the match (full history on the first frame, individual events on later frames).

6.1.2. CS2 match-level state

CS2MatchStatePartialUpdate

Oneof choosing which sub-state of CS2MatchState to update.

Field Type Description
score CS2MatchScoreState Replaces the score property of CS2MatchState.
current_map_state CS2CurrentMapState Replaces the current_map_state property of CS2MatchState. To reduce the risk of stale data on the current map, the server sends this partial update at a customer-configurable interval.
current_map_state_partial_update CS2CurrentMapStatePartialUpdate Applies a partial update to the current_map_state property.

There is no dedicated partial update for previous_map_states. When a previous map state changes, the server sends a full CS2MatchState update.

CS2MatchState

Field Type Description
match_urn string Match identifier.
match_type BestOfType Best-of format (BO1, BO3, BO5, etc.).
home_team CS2Team Home team.
away_team CS2Team Away team.
score CS2MatchScoreState Series score (maps won by each team).
win_team_urn string (optional) URN of the winning team, once the match has finished.
match_status MatchStatusType Current status of the match.
current_map_state CS2CurrentMapState State of the map currently in play.
previous_map_states repeated CS2PreviousMapState States of the maps already finished. Updated only when a full CS2MatchState is received.

CS2MatchScoreState

Field Type Description
home_score uint32 Number of maps won by the home team.
away_score uint32 Number of maps won by the away team.

CS2Team

Field Type Description
team_urn string Unique team URN.
team_name string Team display name.

6.1.3. CS2 current map state

CS2CurrentMapStatePartialUpdate

Oneof choosing which sub-state of CS2CurrentMapState to update.

Field Type Description
info CS2MapInfoState Replaces the info property of CS2CurrentMapState (referred to in the schema as CS2MapState).
score CS2MapScoreState Replaces the score property of the current map.
current_round_state CS2CurrentRoundState Replaces the current_round_state property of the current map.
current_round_state_partial_update CS2CurrentRoundStatePartialUpdate Applies a partial update to the current round state.
team_map_states_partial_update CS2TeamMapStatePartialUpdate Applies a partial update to the value stored under a particular team URN in the team_map_states map.

CS2CurrentMapState

Field Type Description
map_order uint32 Ordinal number of this map within the series (1 = first map, and so on).
info CS2MapInfoState Static information about the map (name, time limits, etc.).
score CS2MapScoreState Current score on this map.
current_round_state CS2CurrentRoundState State of the round currently in play.
previous_round_states repeated CS2PreviousRoundState States of every round already finished on this map. Updated only when a full CS2MapState is received.
team_map_states map<string, CS2TeamMapState> Per-team state on this map, keyed by team URN.

CS2PreviousMapState

Field Type Description
map_order uint32 Ordinal number of this map within the series.
info CS2MapInfoState Information about the map.
score CS2MapScoreState Final score on this map.
round_states repeated CS2PreviousRoundState Every round played on this map.
team_map_states map<string, CS2TeamMapState> Per-team final state on this map.

CS2MapInfoState

Field Type Description
map_name string Map name, e.g., de_mirage.
max_rounds_default uint32 Maximum number of rounds before overtime.
max_rounds_overtime uint32 Maximum number of overtime rounds.
freeze_time_duration google.protobuf.Duration (optional) Duration of the freeze time before each round.
round_time_duration google.protobuf.Duration (optional) Duration of each round.
bomb_time_duration google.protobuf.Duration (optional) Time the bomb takes to detonate after being planted.
start_time google.protobuf.Timestamp (optional) Time the map started.
end_time google.protobuf.Timestamp (optional) Time the map ended.
map_ended bool True if the map has ended.
win_team_urn string (optional) URN of the team that won the map, once it has ended.

CS2MapScoreState

Field Type Description
home_score uint32 Rounds won by the home team on this map.
away_score uint32 Rounds won by the away team on this map.

6.1.4. CS2 current round state

CS2CurrentRoundStatePartialUpdate

Field Type Description
info CS2RoundInfoState Replaces the info property of CS2CurrentRoundState.
time CS2RoundTimeState Replaces the time property (round time remaining).
bomb_state CS2BombState Replaces the bomb_state property (current bomb situation).
team_states_partial_update CS2TeamCurrentRoundStatePartialUpdate Applies a partial update to the per-team round state for a particular team URN.

CS2CurrentRoundState

Field Type Description
round_number uint32 Current round number, starting at 1.
info CS2RoundInfoState Information about the round (type, start/end times, winner if known).
time CS2RoundTimeState Time remaining in the round.
bomb_state CS2BombState Current bomb situation.
team_states map<string, CS2TeamCurrentRoundState> Per-team state for the round, keyed by team URN.

CS2PreviousRoundState

Field Type Description
round_number uint32 Round number.
info CS2RoundInfoState Information about the round.
team_states map<string, CS2PreviousTeamRoundState> Per-team state at the end of the round.

CS2RoundInfoState

Field Type Description
round_type CS2RoundStateType Phase of the round (buy time, in progress, paused, finished).
start_time google.protobuf.Timestamp When the round started.
end_time google.protobuf.Timestamp (optional) When the round ended.
winning_team_urn string (optional) URN of the team that won the round.
win_reason CS2WinReason (optional) Why the round was won (elimination, defuse, etc.).
home_won bool (optional) True if the home team won the round.

CS2RoundTimeState

Field Type Description
time_remaining google.protobuf.Duration Time remaining in the current round.

6.1.5. CS2 bomb state

CS2BombState

Oneof representing the current situation of the bomb.

Field Type Description
carried CS2BombCarriedState A player is carrying the bomb.
dropped CS2BombDroppedState The bomb is on the ground.
planting CS2BombPlantingState A player is planting the bomb.
planted CS2BombPlantedState The bomb has been planted.
defusing CS2BombDefusingState A player is defusing the bomb.
defused CS2BombDefusedState The bomb has been defused.
exploded CS2BombExplodedState The bomb has exploded.

CS2BombCarriedState

Field Type Description
player_urn string Player carrying the bomb.
position CS2Position Current position of that player.

CS2BombDroppedState

Field Type Description
dropped_by_player_urn string Player who dropped the bomb.
position CS2Position Position where the bomb was dropped.

CS2BombPlantingState

Field Type Description
player_urn string Player planting the bomb.
position CS2Position Position of the planting player.
countdown google.protobuf.Duration Time remaining until the plant completes.

CS2BombPlantedState

Field Type Description
planted_by_player_urn string Player who planted the bomb.
position CS2Position Position of the bomb.
planted_at google.protobuf.Timestamp When the bomb was planted.
countdown google.protobuf.Duration Time remaining until detonation.

CS2BombDefusingState

Field Type Description
player_urn string Player defusing the bomb.
position CS2Position Position of the defusing player.
countdown google.protobuf.Duration Time remaining for the defuse to complete.
defuse_started_at google.protobuf.Timestamp When the defuse began.

CS2BombDefusedState

Field Type Description
defused_by_player_urn string Player who defused the bomb.
position CS2Position Position where the bomb was defused.
defused_at google.protobuf.Timestamp When the defuse completed.

CS2BombExplodedState

Field Type Description
position CS2Position Position of the explosion.
exploded_at google.protobuf.Timestamp When the bomb exploded.

6.1.6. CS2 per-team and per-player state

CS2TeamMapStatePartialUpdate

Field Type Description
team_urn string Team this partial update is for.
payload CS2TeamMapStatePartialUpdate.Payload Oneof: player_state (replaces a value in player_map_states) or player_map_states_partial_update (applies a partial update to a value in player_map_states).

CS2TeamMapState

Field Type Description
team_urn string Team URN.
side CS2Side Side the team is playing (CT or T).
player_map_states map<string, CS2PlayerMapState> Per-player map state, keyed by player URN.

CS2TeamCurrentRoundStatePartialUpdate

Field Type Description
team_urn string Team this partial update is for.
payload CS2TeamCurrentRoundStatePartialUpdate.Payload Oneof: player_state (replaces a value in player_round_states) or player_round_states_partial_update (applies a partial update to a value in player_round_states).

CS2TeamCurrentRoundState

Field Type Description
team_urn string Team URN.
player_round_states map<string, CS2PlayerCurrentRoundState> Per-player state for the current round, keyed by player URN.

CS2PreviousTeamRoundState

Field Type Description
team_urn string Team URN.
players map<string, CS2PlayerPreviousRoundState> Per-player state at the end of the round, keyed by player URN.

CS2PlayerMapStatePartialUpdate

Field Type Description
player_urn string Player this partial update is for.
payload CS2PlayerMapStatePartialUpdate.Payload Oneof: statistics (replaces the statistics property of CS2PlayerMapState).

CS2PlayerMapState

Field Type Description
player_urn string Player URN.
player_name string Display name of the player.
slot_id uint32 Slot the player occupies in the match (1–10 for CS2).
ext_id string External player identifier (e.g., Steam ID).
statistics CS2PlayerMapStatisticsState Per-map player statistics.

CS2PlayerMapStatisticsState

Field Type Description
player_urn string Player URN.
opening_kills uint32 Number of opening kills on this map.
opening_deaths uint32 Number of opening deaths on this map.
total_damage uint32 Total damage dealt on this map.
average_damage_per_round float Average damage per round on this map.
statistics CS2PlayerStatistics Aggregated player statistics.

CS2PlayerCurrentRoundStatePartialUpdate

Field Type Description
player_urn string Player this partial update is for.
payload CS2PlayerCurrentRoundStatePartialUpdate.Payload Oneof: statistics, items or position — replaces the corresponding property of CS2PlayerCurrentRoundState.

CS2PlayerCurrentRoundState

Field Type Description
player_urn string Player URN.
player_name string Display name of the player.
slot_id uint32 Slot occupied by the player.
ext_id string External player identifier.
statistics CS2PlayerCurrentRoundStatisticsState Statistics for the player in the current round.
items CS2PlayerItemsState Items the player is currently carrying.
position CS2PlayerPositionState Player position on the map.

CS2PlayerCurrentRoundStatisticsState

Field Type Description
player_urn string Player URN.
alive bool True while the player is alive in the round.
health uint32 Current health.
armor uint32 Current armour.
balance uint32 Current in-game balance (money).
damage uint32 (optional) Damage dealt by the player this round.
statistics CS2PlayerStatistics Aggregated statistics.

CS2PlayerItemsState

Field Type Description
player_urn string Player URN.
equipment_value uint32 Total value of the player's equipment.
items repeated CS2Item Items currently in the player's inventory.

CS2PlayerPreviousRoundState

Field Type Description
player_urn string Player URN.
player_name string Display name.
statistics CS2PlayerStatistics Player statistics at the end of the round.
ext_id string External identifier.

CS2PlayerPositionState

Field Type Description
player_urn string Player URN.
position CS2Position Position coordinates and orientation.

CS2PlayerStatistics

Aggregated per-player statistics used both within rounds and across the map.

Field Type Description
player_urn string Player URN.
kills uint32 Total kills.
friendly_kills uint32 Kills against teammates.
enemy_kills uint32 Kills against the opposing team.
self_kills uint32 Suicides.
deaths uint32 Total deaths.
assists uint32 Total assists.
headshots uint32 Number of headshot kills.
damage uint32 (deprecated) Deprecated. Use CS2PlayerMapStatisticsState.total_damage or CS2PlayerCurrentRoundStatisticsState.damage instead.
friendly_damage_dealt_armor uint32 (optional) Armour damage dealt to teammates.
friendly_damage_dealt_health uint32 (optional) Health damage dealt to teammates.
enemy_damage_dealt_armor uint32 (optional) Armour damage dealt to opponents.
enemy_damage_dealt_health uint32 (optional) Health damage dealt to opponents.
enemy_damage_dealt_armor_raw uint32 (optional) Raw armour damage (before any clamping).
enemy_damage_dealt_health_raw uint32 (optional) Raw health damage (before any clamping).

CS2Item

Field Type Description
name string Display name of the item.
weapon_type CS2WeaponType (deprecated) Deprecated. Use type instead.
type CS2ItemType Item category (pistol, rifle, grenade, etc.).
count uint32 How many of this item the player is carrying.
isActive bool True if the item is currently equipped.

CS2Position

Field Type Description
x float X coordinate.
y float Y coordinate.
z float Z coordinate.
angle float Viewing angle in degrees.

CS2PlayerBalance

Field Type Description
player_urn string Player URN.
team_urn string Team URN.
balance uint32 Current in-game balance (money).

CS2PlayerItems

Field Type Description
player_urn string Player URN.
team_urn string Team URN.
equipment_value uint32 Total value of the player's equipment.
items repeated CS2Item Items currently in the player's inventory.

6.1.7. CS2 event payload types

The messages below are the payload types of CS2Event (see section 4.2.1.1). Many of them include a map_time field that is deprecated in favour of CS2Event.timestamp.

CS2BombDefuseStarted

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining at the moment of the event.
current_round_number uint32 Round in which the event happened.
player_urn string Player who started defusing.
team_urn string Team URN of that player.

CS2BombDefused

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
player_urn string Player who defused the bomb.
team_urn string Team URN of that player.

CS2BombExploded

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining at explosion.
current_round_number uint32 Round number.

CS2BombPlantStarted

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
player_urn string Player who started planting.
team_urn string Team URN of that player.

CS2BombPlanted

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
player_urn string Player who planted the bomb.
team_urn string Team URN.
bomb_site string Bomb site (e.g., "A" or "B").

CS2DamageDealt

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
killer_position CS2Position Position of the player dealing damage.
killer_urn string Player URN of the attacker.
killer_team_urn string Team URN of the attacker.
victim_urn string Player URN of the victim.
victim_team_urn string Team URN of the victim.
weapon string Weapon used.
hitgroup string Hit group (head, chest, leg, etc.).
health_deducted uint32 Health damage dealt.
health_remaining uint32 Victim's health after the hit.
armor_deducted uint32 Armour damage dealt.
armor_remaining uint32 Victim's armour after the hit.
victim_position CS2Position Position of the victim.

CS2FreezeTimeEnded

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
player_balances map<string, CS2PlayerBalance> Per-player balances at end of freeze, keyed by player URN.
player_inventories map<string, CS2PlayerItems> Per-player inventories at end of freeze.

CS2FreezeTimeStarted

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
player_balances map<string, CS2PlayerBalance> Per-player balances at the start of freeze time.
teams_round_info map<string, CS2Side> Side (CT or T) per team for this round, keyed by team URN.

CS2ItemDrop

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
position CS2Position Position at which the item was dropped.
player_urn string Player who dropped the item.
team_urn string Team URN.
item string Item dropped.

CS2ItemPickUp

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
player_urn string Player who picked the item up.
team_urn string Team URN.
item string Item picked up.

CS2ItemPurchase

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
player_urn string Player who bought the item.
team_urn string Team URN.
item string Item bought.
player_balance uint32 Balance after the purchase.
equipment_value uint32 Equipment value after the purchase.

CS2ItemThrow

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
position CS2Position Position where the throw happened.
player_urn string Player who threw the item.
team_urn string Team URN.
item string Item thrown (e.g., "Smoke Grenade").

CS2Kill

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
killer_position CS2Position Position of the killer.
killer_urn string Player URN of the killer.
killer_team_urn string Team URN of the killer.
victim_urn string Player URN of the victim.
victim_team_urn string Team URN of the victim.
weapon string Weapon used.
headshot bool True if the kill was a headshot.
penetrated bool True if the kill went through penetration.
assistants repeated string Player URNs of any assistants.

CS2Death

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.
position CS2Position Position of the dying player.
player_urn string Player URN of the dying player.
team_urn string Team URN of the dying player.
total_deaths uint32 Total deaths for that player so far.
suicide bool True if the death was a suicide.
death_by_bomb bool True if the player was killed by the bomb.

CS2MapEnd

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
current_round_number uint32 Round number at the end of the map.
map_name string Map name.
winning_team_urn string Team URN of the map winner.
light_team_score uint32 Final score for the team on the "light" side.
dark_team_score uint32 Final score for the team on the "dark" side.

CS2MapStart

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
map_name string Map name (e.g., de_mirage).

CS2RoundEnd

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining at end of round.
current_round_number uint32 Round number.
winning_team_urn string Team URN of the round winner.
win_reason CS2WinReason Why the round was won.
player_balances map<string, CS2PlayerBalance> Per-player balances at end of round.
player_inventories map<string, CS2PlayerItems> Per-player inventories at end of round.

CS2RoundPause

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.

CS2RoundResume

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.

CS2RoundRollback

Field Type Description
next_round_number uint32 Round number that will be played next, replacing the round that was rolled back.

CS2RoundStart

Field Type Description
map_time google.protobuf.Duration (deprecated) Deprecated. Use CS2Event.timestamp.
time_remaining google.protobuf.Duration Round time remaining.
current_round_number uint32 Round number.

CS2WorldBomb

Field Type Description
time_remaining google.protobuf.Duration Round time remaining.
state CS2BombState Current bomb state.

6.1.8. CS2 enumerations

CS2Side

Value Description
CS2_SIDE_UNSPECIFIED Default value.
CS2_SIDE_COUNTER_TERRORISTS Counter-Terrorists.
CS2_SIDE_TERRORISTS Terrorists.

CS2WinReason

Value Description
CS2_WIN_REASON_UNSPECIFIED Default value.
CS2_WIN_REASON_COUNTER_TERRORISTS_ELIMINATED All Counter-Terrorists have been eliminated.
CS2_WIN_REASON_TERRORISTS_ELIMINATED All Terrorists have been eliminated.
CS2_WIN_REASON_EXPLOSION The bomb exploded.
CS2_WIN_REASON_DEFUSE The bomb was defused.
CS2_WIN_REASON_TIMEOUT The round timed out.
CS2_WIN_REASON_TARGET_SAVED The target was saved.

CS2RoundStateType

Value Description
CS2_ROUND_STATE_TYPE_UNSPECIFIED Default value.
CS2_ROUND_STATE_TYPE_BUY_TIME The buy phase is active.
CS2_ROUND_STATE_TYPE_IN_PROGRESS Round in progress.
CS2_ROUND_STATE_TYPE_PAUSED Round paused.
CS2_ROUND_STATE_TYPE_FINISHED Round finished.

CS2WeaponType (deprecated — use CS2ItemType)

Value Description
CS2_WEAPON_TYPE_UNSPECIFIED Default value.
CS2_WEAPON_TYPE_PISTOL Pistol.
CS2_WEAPON_TYPE_BOMB Bomb.
CS2_WEAPON_TYPE_GRENADE Grenade.
CS2_WEAPON_TYPE_MACHINE_GUN Machine gun.
CS2_WEAPON_TYPE_RIFLE Rifle.
CS2_WEAPON_TYPE_SHOTGUN Shotgun.
CS2_WEAPON_TYPE_SNIPER_RIFLE Sniper rifle.
CS2_WEAPON_TYPE_SUBMACHINE_GUN Submachine gun.
CS2_WEAPON_TYPE_KNIFE Knife.
CS2_WEAPON_TYPE_DEFUSE_KIT Defuse kit.

CS2ItemType

Value Description
CS2_ITEM_TYPE_UNSPECIFIED Default value.
CS2_ITEM_TYPE_PISTOL Pistol.
CS2_ITEM_TYPE_BOMB Bomb.
CS2_ITEM_TYPE_GRENADE Grenade.
CS2_ITEM_TYPE_MACHINE_GUN Machine gun.
CS2_ITEM_TYPE_RIFLE Rifle.
CS2_ITEM_TYPE_SHOTGUN Shotgun.
CS2_ITEM_TYPE_SNIPER_RIFLE Sniper rifle.
CS2_ITEM_TYPE_SUBMACHINE_GUN Submachine gun.
CS2_ITEM_TYPE_KNIFE Knife.
CS2_ITEM_TYPE_DEFUSE_KIT Defuse kit.
CS2_ITEM_TYPE_ARMOR Armour.

Example JSON — CS2MatchSnapshot (abridged)

{
"match_urn": "od:match:55501",
"sequence": 1,
"timestamp": "2026-05-27T18:00:00.000Z",
"data_status": "DATA_STATUS_VALID_DATA",
"announcements": [],
"match_state": {
"match_urn": "od:match:55501",
"match_type": "BEST_OF_TYPE_BO3",
"home_team": { "team_urn": "od:team:101", "team_name": "Team Alpha" },
"away_team": { "team_urn": "od:team:202", "team_name": "Team Bravo" },
"score": { "home_score": 0, "away_score": 0 },
"match_status": "MATCH_STATUS_TYPE_LIVE",
"current_map_state": {
"map_order": 1,
"info": {
"map_name": "de_mirage",
"max_rounds_default": 24,
"max_rounds_overtime": 6,
"map_ended": false
},
"score": { "home_score": 0, "away_score": 0 },
"current_round_state": {
"round_number": 1,
"info": {
"round_type": "CS2_ROUND_STATE_TYPE_BUY_TIME",
"start_time": "2026-05-27T18:00:20.000Z"
},
"time_remaining": "20s",
"bomb_state": {},
"team_states": {}
},
"previous_round_states": [],
"team_map_states": {
"od:team:101": {
"team_urn": "od:team:101",
"side": "CS2_SIDE_COUNTER_TERRORISTS",
"player_map_states": {}
}
}
},
"previous_map_states": []
},
"tournament": {
"urn": "od:tournament:1001",
"name": "ESL Pro League"
}
}