Item schema

From Team Fortress Wiki
Jump to: navigation, search
Not to be confused with the Item drop system.
For more in-depth technical documentation pertaining to the Steam Web API and GetSchema, see WebAPI.

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.

See also