UserData Bits: Difference between revisions

From OuroDev
No edit summary
Line 1: Line 1:
UserData is the set of 128 bits that indicate user flags such as "Owns CoV", "Has Pocket D VIP pass", etc. The field user_data on player accounts is formatted as follows.
UserData is the set of 128 bytes that indicate user flags such as "Owns CoV", "Has Pocket D VIP pass", etc. The field user_data on player accounts is formatted as follows.


== Format ==
== Format ==


There are 128 bits. If you're rusty on terminology, a word is 4 bytes; a byte is 2 nibbles, or 8 bits; and a nibble is 4 bits. Thus, there are 4 words in the user data.
There are 128 bytes. If you're rusty on terminology, a word is 4 bytes; a byte is 2 nibbles, or 8 bits; and a nibble is 4 bits. Thus, there are 16 words in the user data, of which 4 are used.


On the client, data from the auth server has every nibble swapped. So for example, if your Word 3 was 0x00b08080, the nibble-swapped version is 0x000b0808. This means bit 32 is 1 (has CoH), and bit 24 is 1 (has CoV).
On the client, data from the auth server has every nibble swapped. So for example, if your Word 3 was 0x00b08080, the nibble-swapped version is 0x000b0808. This means bit 32 is 1 (has CoH), and bit 24 is 1 (has CoV).

Revision as of 01:08, 27 April 2019

UserData is the set of 128 bytes that indicate user flags such as "Owns CoV", "Has Pocket D VIP pass", etc. The field user_data on player accounts is formatted as follows.

Format

There are 128 bytes. If you're rusty on terminology, a word is 4 bytes; a byte is 2 nibbles, or 8 bits; and a nibble is 4 bits. Thus, there are 16 words in the user data, of which 4 are used.

On the client, data from the auth server has every nibble swapped. So for example, if your Word 3 was 0x00b08080, the nibble-swapped version is 0x000b0808. This means bit 32 is 1 (has CoH), and bit 24 is 1 (has CoV).

In the vanilla database, there's two fields - "user_data" (16 bytes) and "user_data_new" (112 bytes). The auth server concatenates these together to send to the client. In CoX, only the first 16 bytes are used, but this does open up future functionality.

Reference

Word 1

  • 0-10 - Unused
  • 11 - Coralax Boss Costume
  • 12 - Vahzilok Meat Doc Costume
  • 13 - Rikti Costume
  • 14 - Ghoul Costume
  • 15 - Mutant Pack
  • 16 - Create Primals
  • 17 - Rogue Access
  • 18 - GR_PO_WILL_SEERS
  • 19 - GR_PO_WILL_CLOCKWORK
  • 20 - GR_PO_WILL_MIGHT_EMPIRE
  • 21 - GR_PO_WILL_RESISTANCE (sic)
  • 22 - Rogue Complete Box
  • 23 - Loyalty Reward
  • 24 - CON_2009_BIT5
  • 25 - CON_2009_BIT4
  • 26 - CON_2009_BIT3
  • 27 - CON_2009_BIT2
  • 28 - CON_2009_BIT1
  • 29 - Magic Pack
  • 30 - Super Science Pack
  • 31 - Martial Arts Pack

Word 2

  • 0-11 - Months Played (note one of these counts for 3 months)
  • 12 - Recreation Pack
  • 13 - Holiday Pack
  • 14 - Aura Pack
  • 15 - Vanguard Pack
  • 16 - Facepalm
  • 17 - Animal Pack
  • 18 - Limited Rogue Access
  • 19 - Steam Punk
  • 20 - PROMO_2011_A
  • 21 - PROMO_2011_B
  • 22 - PROMO_2011_C
  • 23 - PROMO_2011_D
  • 24 - PROMO_2011_E
  • 25 - PROMO_2012_A
  • 26 - PROMO_2012_B
  • 27 - PROMO_2012_C
  • 28 - PROMO_2012_D
  • 29 - PROMO_2012_E
  • 30-31 - Unused

Word 3

  • 0 - Unused
  • 1 - Alpha Preorder
  • 2 - Cyborg Pack
  • 3 - Mac Pack
  • 4 - Is Retail Account
  • 5 - Target Promo
  • 6 - PAX Promo
  • 7 - GenCon Promo
  • 8 - Comicon Promo
  • 9 - Arachnos Access
  • 10 - Wedding Pack
  • 11 - Trial Account
  • 12 - Pocket D VIP
  • 13 - Jump Pack
  • 14 - Jet Pack
  • 15 - Korean Level Minimum (??)
  • 16 - Valentine 2006
  • 17 - COV Beta
  • 18 - COV Preorder 1
  • 19 - COV Preorder 2
  • 20 - COV Preorder 3
  • 21 - COV Preorder 4
  • 22 - COV Special Edition
  • 23 - Villain Access
  • 24-26 - Preorder
  • 27 - DVD Special Edition
  • 28 - Kheldian Access
  • 29 - Beta
  • 30 - Transfer to EU
  • 31 - Hero Access

Word 4

(Looks reserved).

  • 0 - ACEINHOLE_A
  • 1 - ACEINHOLE_B
  • 2 - ACEINHOLE_C
  • 3 - ACEINHOLE_D
  • 4 - ACEINHOLE_E
  • 5-31 - Unused

Word 5+

Unused.