DB:Auth:account: Difference between revisions

From Project Skyfire
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{| align="right"
{| align="right"
|-
| __TOC__
| __TOC__
|}
|}
{{Back-to:Auth}}  
{{Back-to:Characters}}
 


<br> <big>'''The `account` table'''</big>  
<big>'''The `account_data` table'''</big>


This table holds information on all available accounts.  
Contains data about client account and settings.


<br> <big>'''Structure'''</big>


<big>'''Structure'''</big>
{| border="1"
{| border="1"
|'''Field'''
|'''Type'''
|'''Attributes'''
|'''Key'''
|'''Null'''
|'''Default'''
|'''Extra'''
|'''Comment'''
|-
|-
| '''Field'''
|[[#account|account]]
| '''Type'''
|int(10)
| '''Attributes'''
|unsigned
| '''Key'''
|PRI
| '''Null'''
|NO
| '''Default'''
|0
| '''Extra'''
|
| '''Comment'''
|
|-
| [[#id|id]]  
| int(10)  
| unsigned  
| PRI  
| NO  
|  
| Auto increment
| Identifier
|-
| [[#username|username]]
| varchar(32)
| signed
| UNI
| NO
| "
|
|
|-
| [[#sha_pass_hash|sha_pass_hash]]
| varchar(40)
| signed
|
| NO
| "
|
|
|-
| [[#sessionkey|sessionkey]]
| varchar(80)
| signed
|
| NO
| "
|
|
|-
| [[#v|v]]
| varchar(64)
| signed
|
| NO
| "
|
|
|-
| [[#s|s]]
| varchar(64)
| signed
|
| NO
| "
|
|
|-
| [[#email|email]]
| varchar(254)
| signed
|
| NO
| "
|
|
|-
| [[#joindate|joindate]]
| timestamp
| signed
|
| NO
| CURRENT_TIMESTAMP
|  
|  
|-
|-
| [[#last_ip|last_ip]]  
|[[#type|type]]
| varchar(15)  
|tinyint(3)
| signed
|unsigned
|  
|PRI
| NO  
|NO
| 127.0.0.1
|0
|  
|
|  
|
|-
|-
| [[#failed_logins|failed_logins]]  
|[[#time|time]]
| int(10)  
|int(10)
| unsigned  
|unsigned
|  
|
| NO  
|NO
| 0  
|0
|  
|
|  
|
|-
|-
| [[#locked|locked]]  
|[[#data|data]]
| tinyint(3)
|blob
| unsigned
|signed
|
|
| NO
|NO
| 0
|
|
|
|
|
|-
| [[#last_login|last_login]]
| timestamp
| signed  
|  
| NO  
| 0000-00-00 00:00:00
|
|
|-
| [[#online|online]]
| tinyint(3)
| signed
|
| NO
| 0
|
|
|-
| [[#expansion|expansion]]
| tinyint(3)
| unsigned
|
| NO
| 2
|
|
|-
| [[#mutetime|mutetime]]
| bigint(20)
| signed
|
| NO
| 0
|
|
|-
| [[#locale|locale]]
| tinyint(3)
| unsigned
|
| NO
| 0
|
|
|-
| [[#os|os]]
| varchar(3)
| signed
|
| NO
| "
|
|
|-
| [[#recruiter|recruiter]]
| int(10)
| unsigned
|
| NO
| 0
|  
|  
|}
|}


<br> <big>'''Description of the fields'''</big>
==== id ====
The unique account ID.
==== username ====
The account user name.
==== sha_pass_hash ====
This field contains the encrypted password. The encryption is SHA1 and is in the following format: username:password. The SQL to create the password (or to compare with the current hash) is:
<pre>SELECT SHA1(CONCAT(UPPER(`username`), ':', UPPER(&lt;pass&gt;)));</pre>
==== sessionkey ====
{{field-no-description|5}}
==== v ====
{{field-no-description|6}}
==== s ====
{{field-no-description|7}}
==== email ====
The e-mail address associated with this account.
==== joindate ====
The date when the account was created.
==== last_ip ====
The last IP used by the person who logged in the account.
==== failed_logins ====
The number of failed logins attempted on the account.


==== locked ====
<big>'''Description of the fields'''</big>
Boolean 0 or 1 controlling if the account has been locked or not. This can be controlled with the ".account lock" GM command. If locked (1), the user can only log in with their [[DB:Auth:account#last_ip|last_ip]]. If unlocked (0), a user can log in from any IP, and their last_ip will be updated if it is different. ".Ban account" does not lock it.


==== last_login ====
==== account ====
The date when the account was last logged into.  
[[DB:Auth:account#id|Account.id]].


==== online ====
==== type ====
Boolean 0 or 1 controlling if the account is currently logged in and online.
* 0 = Global-account config cache
* 2 = Global-account bindings cache
* 4 = Global-account macros cache


==== expansion ====
==== time ====
Boolean 0 or 1 controlling if the client logged in on the account has any expansions. (for example if client is TBC, but expansion is set to 0, it will not be able to enter outlands and etc.)
Time of last modification in Unixtime


==== mutetime ====
==== data ====
The time, in Unix time, when the account will be unmuted. To see when mute will be expired you can use this query:
No description can be written. You just must understand it's data.
<pre>SELECT FROM_UNIXTIME(`mutetime`);</pre>


==== locale ====
==== SQL Table Query ====
The locale used by the client logged into this account. If multiple locale data has been configured and added to the world servers, the world servers will return the proper locale strings to the client. See [[Localization lang|localization IDs]]


==== os ====
<pre>CREATE TABLE `account_data` (
Stores information about client's OS. Used by Warden system.
`accountId` INT(10) UNSIGNED NOT NULL DEFAULT '0',
* Win
`type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
* Mac
`time` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`data` BLOB NOT NULL,
PRIMARY KEY (`accountId`, `type`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;</pre>


==== recruiter ====
The account ID of another account. Used for recuit-a-friend system. See [[DB:Auth:account#id|account.id]]


[[Category: Characters database tables]]
[[Category: Auth database tables]]

Revision as of 21:35, 19 February 2013

Back to characters database list of tables.


The `account_data` table

Contains data about client account and settings.


Structure

Field Type Attributes Key Null Default Extra Comment
account int(10) unsigned PRI NO 0
type tinyint(3) unsigned PRI NO 0
time int(10) unsigned NO 0
data blob signed NO


Description of the fields

account

Account.id.

type

  • 0 = Global-account config cache
  • 2 = Global-account bindings cache
  • 4 = Global-account macros cache

time

Time of last modification in Unixtime

data

No description can be written. You just must understand it's data.

SQL Table Query

CREATE TABLE `account_data` (
	`accountId` INT(10) UNSIGNED NOT NULL DEFAULT '0',
	`type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
	`time` INT(10) UNSIGNED NOT NULL DEFAULT '0',
	`data` BLOB NOT NULL,
	PRIMARY KEY (`accountId`, `type`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;