// Steam universes. Each universe is a self-contained Steam instance.
enum EUniverse
{
k_EUniverseInvalid = 0,
k_EUniversePublic = 1,
k_EUniverseBeta = 2,
k_EUniverseInternal = 3,
k_EUniverseDev = 4,
k_EUniverseRC = 5,
k_EUniverseMax
};
// Steam account types
enum EAccountType
{
k_EAccountTypeInvalid = 0,
k_EAccountTypeIndividual = 1, // single user account
k_EAccountTypeMultiseat = 2, // multiseat (e.g.
cybercafe) account
k_EAccountTypeGameServer = 3, // game server account
k_EAccountTypeAnonGameServer = 4, // anonymous game server
account
k_EAccountTypePending = 5, // pending
k_EAccountTypeContentServer = 6, // content server
k_EAccountTypeClan = 7,
k_EAccountTypeChat = 8,
k_EAccountTypeP2PSuperSeeder = 9, // a fake steamid used by
superpeers to seed content to users of Steam P2P stuff
// Max of 16 items in this field
k_EAccountTypeMax
};
And further on:
//--------------------------------------------------------------------------
---
// Purpose: Initializes a steam ID from its 64-bit representation
// Input : ulSteamID - 64-bit representation of a Steam ID
//--------------------------------------------------------------------------
---
void SetFromUint64( uint64 ulSteamID )
{
m_unAccountID = ( ulSteamID & 0xFFFFFFFF );
// account ID is low 32 bits
m_unAccountInstance = ( ( ulSteamID >> 32 ) & 0xFFFFF );
// account instance is next 20 bits
m_EAccountType = ( EAccountType ) ( ( ulSteamID >> 52 ) &
0xF ); // type is next 4 bits
m_EUniverse = ( EUniverse ) ( ( ulSteamID >> 56 ) & 0xFF );
// universe is next 8 bits
}
Further still:
//--------------------------------------------------------------------------
---
// Purpose: Converts steam ID to its 64-bit representation
// Output : 64-bit representation of a Steam ID
//--------------------------------------------------------------------------
---
uint64 ConvertToUint64() const
{
return (uint64) ( ( ( (uint64) m_EUniverse ) << 56 ) + ( (
(uint64) m_EAccountType ) << 52 ) +
( ( (uint64) m_unAccountInstance ) << 32 ) +
m_unAccountID );
}
If I remember correctly, the 64-bit representation is the community ID.
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Olly
Sent: Monday, 11 May 2009 8:50 PM
To: Half-Life dedicated Win32 server mailing list
Subject: Re: [hlds] Associate Names with a Steam ID?
Most of the information on the wiki has been added by things people find in
source files etc.
If you are interested in looking up the steamid structure; check
\public\steam\*.h in the SDK
2009/5/11 Jake E <[email protected]>
> "The value of Y is normally 0 or 1, depending on the authentication server
> the user is on. "
> Ha!
>
> "There are 8 universes of Steam accounts. "
> I only see 6?
>
>
> "6 ContentServer Unknown 7 Clan Unknown 8 Chat Unknown "
>
> Unknown? You guys made it. Shouldn't you know?
>
> "3 GameServer Yes "
>
> Oh, my game servers have Steam id's now. Great. Now I can ban console!
>
> On Mon, May 11, 2009 at 4:31 AM, Jarno Veuger <[email protected]> wrote:
>
> > On this page you can see what they mean:
> > http://developer.valvesoftware.com/wiki/SteamID .
> >
> > Daniel Duarte wrote:
> > > Well, i don't know exactly what 0 and 1 mean but it works...
> > >
> >
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list archives,
> > please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlds
> >
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlds
>
--
Sent from Olly's SEGA Game Gear
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives,
please visit:
http://list.valvesoftware.com/mailman/listinfo/hlds
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds