accounts - OpenPerpetuum/OPDB GitHub Wiki

Description

This table describes all the accounts that have been signed onto the server.

Table Structure

ID Type Name Description Properties Links
1 Number accountID An unique numeric ID that is assigned to every account UNIQUE, PRIMARY Original
2 String email The email address that is tied to the current account. None
3 String password The password of the current account.
4 String firstName The real first name of the account owner.
5 String lastName The real family/sur-/last name of the account owner.
6 DateTime born The date of birth of the account owner.
7 Number state The state of the account.
8 Number accLevel The account's access level to administrative features.
9 Number totalMinsOnline A statistical metric describing the number of minutes this account has spent online; connected to the server.
10 DateTime lastLoggedIn When was the account last logged in?
11 DateTime creation When was the account created?
12 Number clientType The type of client the user is using???
13 Boolean isLoggedIn Is the user currently online?
14 DateTime bantime When was the last time the user was assigned a ban?
15 Number banlength How long does the current ban last for (from time of ban)?
16 String bannote The reason for which the user the last/current ban was issued for.
17 Boolean emailConfirmed Is the email for this account confirmed?
18 DateTime firstcharacter ???
19 String note ???
20 String steamID The Steam ID of the user that this account belongs to.
21 String twitchAuthToken The authentication token from Twitch for Twitch integration.
22 Number Credit ???
23 Boolean isactive Is this account active?
24 Number resetcount ???
25 Boolean wasreset ???
26 DateTime validUntil ???
27 Boolean payingcustomer ???
28 String campaignid ???
29 Object accountpremiumpackages ??? accountpremiumpackages

Notes

password

We have no clue how passwords are stored. I hope it's not plain text.

state

This field is most likely an enumerator.

acclevel

This is an enumerator of Perpetuum.AccessLevel.

ID Access Level Description
0 Not defined ???
1 Normal ???
2 Game Master ???
3 Admin ???
4 Owner ???

clientType

This field could be an enumerator.

banlength

// todo: Figure out what the unit of measurement is. Most likely minutes or seconds.

steamID

// todo: Figure out what schema it uses to store the ID numbers. Is it the Steam64? The community ID? The account ID? (last two are strings)

Yes, in the Steam databases, our original ID is literally their primary key.

isactive

// todo: Find out the conditions that an account needs to "be active".
Could be used for the daily EP granting.

accountpremiumpackages

This is an object describing the premium packages (or DLCs) that has been purchased for this account.

ID Type Name Description
1 Number id The table row of this database entry. Not sure if it's linked to the [accountpremiumpackages](accountpremiumpackages) table.
2 Number accountid The account this packaged was purchased for.
3 Number packageid The ID of the package that was purchased.
4 DateTime purchasetime The timestamp at which the package was purchased.