SteamID: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Undo revision 141926 by Freemmorpg (Talk) Spam!)
(Fixed some common mistakes, proof is in the Source SDK.)
Line 6: Line 6:


SteamIDs follow a fairly simple format when represented textually: "STEAM_X:Y:Z", where X, Y and Z are integers. In select cases "STEAM_ID_PENDING" or "UNKNOWN" are used (see the section 'Types of Steam Accounts' for more details).
SteamIDs follow a fairly simple format when represented textually: "STEAM_X:Y:Z", where X, Y and Z are integers. In select cases "STEAM_ID_PENDING" or "UNKNOWN" are used (see the section 'Types of Steam Accounts' for more details).
*X represents the "Universe" the steam account belongs to.
*Y is part of the ID number for the account. Y is either 0 or 1.
*Z is the ID number for the account (the "account number").


=== As Represented in Computer Programs ===
=== As Represented in Computer Programs ===


When represented internally in computer programs the X, Y and Z components (see the section titled 'As Represented Textually')  are all packed into a 64-bit data structure. Using the format described above:
When represented internally in computer programs the X, Y and Z components (see the section titled 'As Represented Textually')  are all packed into a 64-bit data structure.


*X represents the "Universe" the steam account belongs to (which is identified by an [[unsigned]] 8-bit value)
*The low 32 bits represents the ID number for the account (the "account number").
*Y represents the type of account and is represented as an unsigned 4-bit value
*The next 20 bits represents the instance of the account. It is usually set to 1 for user accounts.
*Z is the ID number for the account (the "account number") identified by a 32-bit unsigned value. Z is unique.
*The next 4 bits represents the type of account.
 
*The next 8 bits represents the "Universe" the steam account belongs to.
The remaining 20 bits are used to represent the 'instance' of this account and only applies for a special type of account called a 'Multiseat' account (an account for which many users can log into at the same time, for instance at [[Cybercafes]]).


=== Universes Available for Steam Accounts ===
=== Universes Available for Steam Accounts ===
Line 48: Line 51:
=== Types of Steam Accounts ===
=== Types of Steam Accounts ===


There are ten known account types for a Steam account, of which only 4 can be created today.
There are ten known account types for a Steam account, of which only 3 can be created today.


{| {{standard-table}}
{| {{standard-table}}
Line 58: Line 61:
|-
|-
| 0
| 0
| U
|
| Individual
| Invalid
| Yes
| No
|-
|-
| 1
| 1
Line 130: Line 133:
=== Caveat about Cyber Café Accounts ===
=== Caveat about Cyber Café Accounts ===


Although it would appear sensible for Valve to put all cybercafé account SteamID's in their own universe, this has not been done. Instead, cybercafé accounts got SteamID's in the same universe as user accounts, typically from a large pool of SteamID's where the unique ID part lies within the range 7000000 and 8000000. There are also non cybercafé accounts within this range.
Although it would appear sensible for Valve to put all cybercafé account SteamID's in their own universe, this has not been done. Instead, cybercafé accounts got SteamID's in the same universe as user accounts, typically from a large pool of SteamID's where the unique ID part lies within the range 7000000 and 8000000. There are also non cybercafé accounts within this range and cybercafé accounts outside of this range.


== SteamID Uses ==
== SteamID Uses ==
Line 136: Line 139:
Aside from the obvious elements of identifying (uniquely) an account, its type and the domain (universe) it belongs to, SteamIDs can be used to approximately determine when the user associated with the SteamID first created that Steam account. Lower values of 'Z' in the format described above (i.e. the account number) indicate an account made further in the past to one with a higher value. For example, a SteamID like STEAM_0:0:1234 would mean that the user signed up for their Steam account a long time before a user with a SteamID such as STEAM_0:0:12341111.  
Aside from the obvious elements of identifying (uniquely) an account, its type and the domain (universe) it belongs to, SteamIDs can be used to approximately determine when the user associated with the SteamID first created that Steam account. Lower values of 'Z' in the format described above (i.e. the account number) indicate an account made further in the past to one with a higher value. For example, a SteamID like STEAM_0:0:1234 would mean that the user signed up for their Steam account a long time before a user with a SteamID such as STEAM_0:0:12341111.  


The value of X is 0 in VALVe's GoldSrc and Source Orange Box Engine games (For example, Counter Strike: Source), but latest Valve games such as Left 4 Dead, Left 4 Dead 2 and Alien Swarm have 1 as a value of X. The value of Y is normally 0 or 1, which used to be the authentication server the user is on, but now it doesn't mean anything.
The value of X is 0 in VALVe's GoldSrc and Source Orange Box Engine games (For example, Counter Strike: Source), but latest Valve games such as Left 4 Dead, Left 4 Dead 2 and Alien Swarm have 1 as a value of X. The value of Y is normally 0 or 1, which used to be the authentication server the user is on, but now it is just part of the Account ID.


== External links ==
== External links ==

Revision as of 15:04, 1 February 2011

A SteamID is a unique identifier used to identify a Steam account. It is also used to refer to a user's Steam Community profile page.

Format

As Represented Textually

SteamIDs follow a fairly simple format when represented textually: "STEAM_X:Y:Z", where X, Y and Z are integers. In select cases "STEAM_ID_PENDING" or "UNKNOWN" are used (see the section 'Types of Steam Accounts' for more details).

  • X represents the "Universe" the steam account belongs to.
  • Y is part of the ID number for the account. Y is either 0 or 1.
  • Z is the ID number for the account (the "account number").

As Represented in Computer Programs

When represented internally in computer programs the X, Y and Z components (see the section titled 'As Represented Textually') are all packed into a 64-bit data structure.

  • The low 32 bits represents the ID number for the account (the "account number").
  • The next 20 bits represents the instance of the account. It is usually set to 1 for user accounts.
  • The next 4 bits represents the type of account.
  • The next 8 bits represents the "Universe" the steam account belongs to.

Universes Available for Steam Accounts

There are 8 universes of Steam accounts.

Number Type
0 Individual / Unspecified
1 Public
2 Beta
3 Internal
4 Dev
5 RC

Types of Steam Accounts

There are ten known account types for a Steam account, of which only 3 can be created today.

Number Letter Type Can Be Used?
0 Invalid No
1 U Individual Yes
2 Multiseat Yes
3 GameServer Yes
4 AnonGameServer Yes
5 Pending No
6 ContentServer Unknown
7 g Clan Yes
8 T Chat Yes
9 P2P SuperSeeder No
10 AnonUser No

Users of an 'Individual' account are temporarily referred to as having a 'Pending' account which have a textual representation of "STEAM_ID_PENDING" until their account credentials are verified with Steam's authentication servers, a process usually complete by the time a server is fully connected to. Accounts of the type 'Invalid' have a textual representation of "UNKNOWN" and are used for bots and accounts which do not belong to another class.

Steam ID as a Steam Community ID

A Steam ID can be converted to Steam Community ID for use on the Steam Community website by applying the following formula to the SteamID:

  • Let X,Y, and Z be defined by the Steam ID: STEAM_X:Y:Z
  • Let SteamCommunityID be steamcommunity.com/profiles/SteamCommunityID
unsigned long long SteamCommunityID = (Z*2) + 76561197960265728 + Y

By performing the reverse operation, a Community ID can also be converted to a Steam ID.

Caveat about Cyber Café Accounts

Although it would appear sensible for Valve to put all cybercafé account SteamID's in their own universe, this has not been done. Instead, cybercafé accounts got SteamID's in the same universe as user accounts, typically from a large pool of SteamID's where the unique ID part lies within the range 7000000 and 8000000. There are also non cybercafé accounts within this range and cybercafé accounts outside of this range.

SteamID Uses

Aside from the obvious elements of identifying (uniquely) an account, its type and the domain (universe) it belongs to, SteamIDs can be used to approximately determine when the user associated with the SteamID first created that Steam account. Lower values of 'Z' in the format described above (i.e. the account number) indicate an account made further in the past to one with a higher value. For example, a SteamID like STEAM_0:0:1234 would mean that the user signed up for their Steam account a long time before a user with a SteamID such as STEAM_0:0:12341111.

The value of X is 0 in VALVe's GoldSrc and Source Orange Box Engine games (For example, Counter Strike: Source), but latest Valve games such as Left 4 Dead, Left 4 Dead 2 and Alien Swarm have 1 as a value of X. The value of Y is normally 0 or 1, which used to be the authentication server the user is on, but now it is just part of the Account ID.

External links

  • Legit-Proof.com - Search engine to look up players and teams from all steam_id based games and more.
  • SteamIDFinder.com - Tool to let players quickly look up their SteamID without launching a game.
  • getSteamID - A standalone tool for Windows to look up all SteamIDs found on a local computer which were used in the past by different users.
  • SteamID.com - Search engine to lookup competitive Counter-Strike players by their SteamID.
  • VACBanned.com - Search engine to lookup the VAC status of a SteamID, and add the banned SteamIDs to a database.