The item schema is a resource in Team Fortress 2 that defines all existing items and the attributes assigned to them. The item schema is accessed by the game client in various menus of the interface, including the Mann Co. Store, Catalog and the player's backpack. Each item in the schema is maintained as an object with varying key-value pairs denoting its name, its type and slot, classes that can equip it, and its capabilities (such as, whether it can be used with a Paint Can or Name Tag). All values are listed in detail at WebAPI/GetSchema.
In addition to the standard item schema, the schema version pulled by the game client is known as the 'client schema'. The client schema is obtained in VDF format for parsing by the game engine, and includes other details not in the standard schema, such as equip regions, attached weapon sounds, and bodygroups for each item. Both versions of the item schema include definitions of all item attributes, item sets, particle effects and item levels and ranks for Strange weapons and cosmetics.
The client schema is stored locally on both the client and the server as tf/scripts/items/items_game.txt. The client and server load this copy of the schema on startup. Once connected, the item server sends the client and server a URL where the most recent schema can be downloaded, which the client and server then download and use. Subsequent updates to the schema are handled through the item server in this way. As of the October 15, 2014 Patch, items_game.txt is protected by a digital signature and neither the client nor the server will start up if it has been modified.
Item schema updates
- WebAPI/GetSchema – technical description of the item schema as accessible via the Steam Web API
- OPTF2 Schema Tracker for several Steam games
- Team Fortress 2 Schema
- Team Fortress 2 Beta Schema