Difference between revisions of "Item schema"

From Team Fortress Wiki
Jump to: navigation, search
(Revised the 'Strange' portion, removing the mention of the 'Spirit of Giving' and adding in the word 'cosmetics'. The old sentence felt a touch out of date.)
m (item system -> item drop system)
 
(9 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{hatnote|For more in-depth technical documentation pertaining to the Steam Web API and GetSchema, see [[WebAPI]].}}
+
{{hatnote|Not to be confused with the [[Item drop system]].<br>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]], [[Mann Co. Catalog|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]].
 
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]], [[Mann Co. Catalog|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]].
Line 5: Line 5:
 
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 [[WebAPI/VDF|VDF]] format for parsing by the game engine, and includes other details not in the standard schema, such as [[equip region]]s, attached weapon sounds, and [[bodygroup]]s for each item. Both versions of the item schema include definitions of all [[List of item attributes|item attributes]], [[item sets]], [[particle effects]] and item levels and ranks for [[Strange]] weapons and cosmetics.
 
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 [[WebAPI/VDF|VDF]] format for parsing by the game engine, and includes other details not in the standard schema, such as [[equip region]]s, attached weapon sounds, and [[bodygroup]]s for each item. Both versions of the item schema include definitions of all [[List of item attributes|item attributes]], [[item sets]], [[particle effects]] and item levels and ranks for [[Strange]] weapons and cosmetics.
  
Before the item schema was accessible via the WebAPI, it was stored locally in VDF format in each game installation as {{code|items_game.txt}} (in {{code|team fortress 2 content.gcf/tf/scripts/}}). {{code|items_game.txt}} is still kept, however, its only purpose is to enable users to override definitions from the WebAPI schema.
+
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 {{Patch name|10|15|2014}}, items_game.txt is protected by a [[wikipedia:Digital signature|digital signature]] and neither the client nor the server will start up if it has been modified.
 
 
== Item schema updates ==
 
 
 
{{see also|Patches}}
 
 
 
All updates to the item schemas for ''Team Fortress 2'' and ''[[Team Fortress 2 Beta]]'' are kept in the [[OPTF2]] [http://git.optf2.com/schema-tracking/ Schema Tracker], a [[w:Git (software)|Git]] repository. Previous versions and changes in updates are viewable as [[w:diff|diffs]].  
 
  
 
== See also ==
 
== See also ==
Line 17: Line 11:
 
** [[WebAPI/GetSchema]] &ndash; technical description of the item schema as accessible via the Steam Web API
 
** [[WebAPI/GetSchema]] &ndash; technical description of the item schema as accessible via the Steam Web API
 
* [[Items]]
 
* [[Items]]
 
== External links ==
 
* [http://git.optf2.com/schema-tracking/ OPTF2 Schema Tracker for several Steam games]
 
* [http://git.optf2.com/schema-tracking/tree/?h=teamfortress2 Team Fortress 2 Schema]
 
** Latest version of [http://git.optf2.com/schema-tracking/tree/Team%20Fortress%202%20Schema?h=teamfortress2 Team Fortress 2 Schema]
 
** Latest version of [http://git.optf2.com/schema-tracking/tree/Team%20Fortress%202%20Client%20Schema?h=teamfortress2 Team Fortress 2 Client Schema]
 
** [http://git.optf2.com/schema-tracking/log/?h=teamfortress2 Diffs between Team Fortress 2 versions]
 
* [http://git.optf2.com/schema-tracking/tree/?h=teamfortress2beta Team Fortress 2 Beta Schema]
 
** Latest version of [http://git.optf2.com/schema-tracking/tree/Team%20Fortress%202%20Beta%20Schema?h=teamfortress2beta Team Fortress 2 Beta Schema]
 
** Latest version of [http://git.optf2.com/schema-tracking/tree/Team%20Fortress%202%20Beta%20Client%20Schema?h=teamfortress2beta Team Fortress 2 Beta Client Schema]
 
** [http://git.optf2.com/schema-tracking/log/?h=teamfortress2beta Diffs between Team Fortress 2 Beta versions]
 
  
 
[[Category:Items]]
 
[[Category:Items]]
 
[[Category:WebAPI]]
 
[[Category:WebAPI]]

Latest revision as of 00:46, 2 November 2021

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