This is storage repo of CS2 items schema with attempt to create more understandable format
of CS2 items and their relations.
Important
π¦ Contains data extracted from game files only. Does not include all items
Tip
If you are looking for an itemnameid/market_bucket_group_id of items for Steam Market,
check out this repo steam-market-ids
Note
This repo is configured to auto-update itself using the GitHub Actions Schema workflow.
You can take a closer look there
flowchart LR
definitions -->|type| types[types]
definitions -->|quality| qualities[qualities]
definitions -->|rarity| rarities[rarities]
paints[paints] -->|rarity| rarities
items[items] -->|key: definition ID| definitions
items -->|key: paint ID| paints
items -->|containers| containers[containers]
containers -->|items; associated| items
collections[collections] -->|items| items
collections -->|containers| containers
containers -->|collection| collections
sticker_kits[sticker_kits] -->|containers| containers
containers -->|kits| sticker_kits
containers -->|musics| musics[musics]
containers -->|charms; highlight_charms| charms[charms]
charms -->|base| charms
charms -->|highlight| highlights[highlights]
sticker_kits -->|event| tournament_events[tournament_events]
highlights -->|event| tournament_events
sticker_kits -->|team| tournament_teams[tournament_teams]
highlights -->|team0; team1| tournament_teams
sticker_kits -->|player| tournament_players[tournament_players]
highlights -->|stage| tournament_stages[tournament_stages]
IDs and foreign references are strings in JSON. Optional fields are omitted when their source values or
localizations are unavailable; an absent flag does not mean false.
- An
itemskey is either a bare definition ID ("7") or[paint ID]definition ID("[44]7"). Thus the key itself links painted items topaintsanddefinitions;items.containerslinks back to containers that directly reward the item. definitions.type,quality, andrarityare stable source keys intypes,qualities, andrarities; localized catalog values are display text only. Direct definition quality/rarity takes precedence over inherited values. When quality is absent, inheritedcraft_class = "unusual"maps to quality"unusual"(β); this is not inferred for every knife or glove.definitions.tradableis emitted asfalseonly when the definition or an inherited prefab explicitly setscannot trade = 1. Absence does not prove that an item is tradable or marketable.paints.rarityis a source key inrarities. Definition and paint rarity remain separate; no final per-item rarity is inferred.- A
collectionskey is the source item-set ID. Itsitemsare item IDs and itscontainersare container IDs;containers.collectionprovides the inverse link. Collections without a container omitcontainers. - In
collections.unusuals, each key is a source quality key fromqualities; each value is an unresolved source loot-list name, not an entity ID, enumerated reward list, or probability.
All containers share containers.json. kind distinguishes weapon_case, souvenir_package,
sticker_capsule, patch_capsule, graffiti_container, music_kit_container, charm_container, and coupon.
container is used when the source establishes a container but not a more specific supported kind.
Container fields:
| Field | Meaning |
|---|---|
collection |
Collection ID in collections; inverse of collections.containers |
associated |
Item ID in items, such as the key associated with a case |
items |
Item IDs in items; a reward may itself identify another container |
kits |
Kit IDs in sticker_kits |
musics |
Music kit IDs in musics |
charms |
Direct reward IDs in charms |
highlight_charms |
Charm IDs selected by explicit highlight-reward metadata |
will_produce_stattrak |
Explicit item/root-loot-list flag; not inferred from names or conditional rewards |
A coupon remains kind = "coupon" even when it awards a music kit or another container.
Container-awarding coupons link to that item; the awarded container's contents are not flattened into the coupon.
Known containers with unresolved contents retain their metadata without fabricated reward lists.
sticker_kits.kind distinguishes sticker, patch, and graffiti. Its rarity points to rarities;
containers points to rewarding containers; event, team, and player point to the corresponding
tournament catalogs. items.kits, items.musics, and items.charms expose direct container rewards.
charms.rarityandqualityare source keys inraritiesandqualities.charms.baseis another charm ID: the parent/template of a variant. The variant omits the parent's duplicate description and inherits missing rarity and quality from it.charms.highlightis an ID inhighlightsfor the play represented by that charm.highlights.event,stage,team0, andteam1point to the corresponding tournament catalogs;mapand sourcekeyare plain metadata. No player identity is inferred from the key.tournament_eventssupplies optionalnameandshort_name;tournament_stagesmaps each stage ID directly to its localized name.tournament_teamsandtournament_playerssupply optional identity metadata. Referenced IDs without lookup metadata remain present, including team ID0; rawgeovalues such asWORLDare not necessarily country codes.
erDiagram
DEFINITIONS }o--|| TYPES : type
DEFINITIONS }o--o| QUALITIES : quality
DEFINITIONS }o--o| RARITIES : rarity
PAINTS }o--|| RARITIES : rarity
ITEMS }o--|| DEFINITIONS : definition
ITEMS }o--o| PAINTS : paint
CONTAINERS o|--|| ITEMS : defindex
ITEMS_COLLECTIONS }o--|| COLLECTIONS : collection
ITEMS_COLLECTIONS }o--|| ITEMS : item
CONTAINERS }o--o| COLLECTIONS : collection
COLLECTION_UNUSUAL_SOURCES }o--|| COLLECTIONS : collection
COLLECTION_UNUSUAL_SOURCES }o--|| QUALITIES : quality
ITEMS_CONTAINERS }o--|| ITEMS : item
ITEMS_CONTAINERS }o--|| CONTAINERS : container
STICKER_KITS_CONTAINERS }o--|| STICKER_KITS : kit
STICKER_KITS_CONTAINERS }o--|| CONTAINERS : container
MUSICS_CONTAINERS }o--|| MUSICS : music
MUSICS_CONTAINERS }o--|| CONTAINERS : container
CHARMS_CONTAINERS }o--|| CHARMS : charm
CHARMS_CONTAINERS }o--|| CONTAINERS : container
CONTAINER_HIGHLIGHT_CHARMS }o--|| CHARMS : charm
CONTAINER_HIGHLIGHT_CHARMS }o--|| CONTAINERS : container
CHARMS }o--o| CHARMS : base
CHARMS }o--o| HIGHLIGHTS : highlight
HIGHLIGHTS }o--|| TOURNAMENT_EVENTS : event
HIGHLIGHTS }o--|| TOURNAMENT_STAGES : stage
HIGHLIGHTS }o--|| TOURNAMENT_TEAMS : "team0 / team1"
STICKER_KITS }o--o| TOURNAMENT_EVENTS : event
STICKER_KITS }o--o| TOURNAMENT_TEAMS : team
STICKER_KITS }o--o| TOURNAMENT_PLAYERS : player
- Sticker capsules
- Souvenir packages
- Item sets
-
Graffiti with tints - SQL scripts and schema