Tabla `account`
Estructura
| Field | Type | Attributes | Key | Null | Default | Extra | Comment |
|---|---|---|---|---|---|---|---|
| id | INT | UNSIGNED | PRI | NO | AUTO_INCREMENT | Identifier | |
| username | VARCHAR(32) | SIGNED | UNI | NO | '' | ||
| salt | BINARY(32) | SIGNED | NO | ||||
| verifier | BINARY(32) | SIGNED | NO | ||||
| session_key | BINARY(40) | SIGNED | YES | ||||
| totp_secret | VARBINARY(100) | SIGNED | YES | ||||
| VARCHAR(255) | SIGNED | NO | '' | ||||
| reg_mail | VARCHAR(255) | SIGNED | NO | '' | |||
| joindate | TIMESTAMP | SIGNED | NO | CURRENT_TIMESTAMP | |||
| last_ip | VARCHAR(15) | SIGNED | NO | 127.0.0.1 | |||
| last_attempt_ip | VARCHAR(15) | SIGNED | NO | 127.0.0.1 | |||
| failed_logins | INT | UNSIGNED | NO | 0 | |||
| locked | TINYINT | UNSIGNED | NO | 0 | |||
| lock_country | VARCHAR(2) | SIGNED | NO | 00 | |||
| last_login | TIMESTAMP | SIGNED | YES | ||||
| online | INT | UNSIGNED | NO | 0 | |||
| expansion | TINYINT | UNSIGNED | NO | 2 | |||
| Flags | INT | UNSIGNED | NO | 0 | Account Flags | ||
| mutetime | BIGINT | SIGNED | NO | 0 | |||
| mutereason | VARCHAR(255) | SIGNED | NO | '' | |||
| muteby | VARCHAR(50) | SIGNED | NO | '' | |||
| locale | TINYINT | UNSIGNED | NO | 0 | |||
| os | VARCHAR(3) | SIGNED | NO | '' | |||
| recruiter | INT | UNSIGNED | NO | 0 | |||
| totaltime | INT | UNSIGNED | NO | 0 |
Descripción de los campos
El ID único de la cuenta.
El nombre de la cuenta de usuario.
NOTA: los nombres de usuario están limitados a 20 caracteres y estos mismos no tienen restricción por caracter.
Salt es un valor criptográfico aleatorio de 32 bytes.
El verificador se deriva de salt, así como el nombre de usuario (todo en mayúsculas) y su contraseña (todo en mayúsculas).
Para obtener el verificador hay que calcular:
Calcular h1 = SHA1("USUARIO:CONTRASEÑA"), sustituyendo el nombre de usuario y la contraseña convertidos en mayúsculas.
Calcular h2 = SHA1(salt || h1), dónde || es la concatenación (el operador . en PHP).
NOTA: ¡Tanto salt como h1 son cadenas binarias, no hexadecimales!
Tratar h2 como un entero en orden little-endian (el primer byte es el menos significativo).
Calcular (g ^ h2) % N.
NOTA: g y N son parámetros, que están fijados en la implementación de WoW.
g = 7
N = 0x894B645E89E1535BBDAD5B8B290650530801B18EBFBF5E8FAB3C82872A3E9BB7
Para implementaciones de PHP
¡Asegúrese de que la extensión PHP GMP esté cargada! Descomente extension=gmp en su php.ini.
La clave de sesión utilizada para cifrar la sesión autenticada actual. Se rellena al iniciar sesión y se borra al cerrar sesión.
La clave del autentificador.
La clave puede generarse a través de la API de Google Authenticator, un generador TOTP de terceros, o especificarse manualmente (debe ser una expresión compatible con Base32 de 16 caracteres).
Enlace de implementación en Wikipedia para la API de Google Authenticator
https://es.wikipedia.org/wiki/Google_Authenticator#Implementaciones
La dirección de correo electrónico asociada a esta cuenta.
La dirección de correo electrónico de registro asociada a esta cuenta.
La fecha de creación de la cuenta.
La última IP utilizada por la persona que se conectó a la cuenta.
El número de inicios de sesión fallidos en la cuenta.
Booleano 0 o 1 que controla si la cuenta ha sido bloqueada o no. Esto se puede controlar con el comando GM ".account lock". Si está bloqueada (1), el usuario sólo puede iniciar sesión con su last_ip. Si está desbloqueado (0), el usuario puede conectarse desde cualquier IP, y su last_ip se actualizará si es diferente. ".Ban account" no la bloquea.
La fecha en la que se inició sesión por última vez.
Tiempo total jugado en todos los personajes de un jugador. Incluso en personajes borrados que ya no se encuentran en la base de datos. Almacenado en tiempo Unix.
Booleano 0 o 1 que controla si la cuenta está actualmente conectada y en línea.
Entero 0, 1 o 2 que controla si el cliente conectado a la cuenta tiene alguna otra expansión. (por ejemplo, si el cliente es TBC ( 1 ), pero la expansión está configurada como 0 ( vanilla ), no podrá entrar en Terrallende, etc.)
| Valor | Expansión |
|---|---|
| 0 | Classic |
| 1 | The Burning Crusade (TBC) |
| 2 | Wrath of the Lich King (WotLK) |
| Nombre | Descripción | Valor de bit |
|---|---|---|
| ACCOUNT_FLAG_GM | La cuenta es GM | 1 |
| ACCOUNT_FLAG_NOKICK | No se desconectará mientras esté AFK | 2 |
| ACCOUNT_FLAG_COLLECTOR | Edición de coleccionista (otorga un vale de regalo inicial al crear un personaje) | 4 |
| ACCOUNT_FLAG_TRIAL | Cuenta de prueba | 8 |
| ACCOUNT_FLAG_CANCELLED | Desconocido | 16 |
| ACCOUNT_FLAG_IGR | Internet Game Room (¿cibercafé?) | 32 |
| ACCOUNT_FLAG_WHOLESALER | Desconocido | 64 |
| ACCOUNT_FLAG_PRIVILEGED | Desconocido | 128 |
| ACCOUNT_FLAG_EU_FORBID_ELV | Desconocido | 256 |
| ACCOUNT_FLAG_EU_FORBID_BILLING | Desconocido | 512 |
| ACCOUNT_FLAG_RESTRICTED | Desconocido | 1024 |
| ACCOUNT_FLAG_REFERRAL | Recruit-A-Friend (reclutador o reclutado) | 2048 |
| ACCOUNT_FLAG_BLIZZARD | Desconocido | 4096 |
| ACCOUNT_FLAG_RECURRING_BILLING | Desconocido | 8192 |
| ACCOUNT_FLAG_NOELECTUP | Desconocido | 16384 |
| ACCOUNT_FLAG_KR_CERTIFICATE | ¿Certificado coreano? | 32768 |
| ACCOUNT_FLAG_EXPANSION_COLLECTOR | TBC Collector's Edition | 65536 |
| ACCOUNT_FLAG_DISABLE_VOICE | No puede unirse al chat de voz | 131072 |
| ACCOUNT_FLAG_DISABLE_VOICE_SPEAK | No puede hablar en el chat de voz | 262144 |
| ACCOUNT_FLAG_REFERRAL_RESURRECT | Scroll of Resurrection | 524288 |
| ACCOUNT_FLAG_EU_FORBID_CC | Desconocido | 1048576 |
| ACCOUNT_FLAG_OPENBETA_DELL | Dell XPS WoW Edition Promo | 2097152 |
| ACCOUNT_FLAG_PROPASS | Desconocido | 4194304 |
| ACCOUNT_FLAG_PROPASS_LOCK | Pro Pass (Torneo de Arena) | 8388608 |
| ACCOUNT_FLAG_PENDING_UPGRADE | Desconocido | 16777216 |
| ACCOUNT_FLAG_RETAIL_FROM_TRIAL | Desconocido | 33554432 |
| ACCOUNT_FLAG_EXPANSION2_COLLECTOR | WotLK Collector's Edition | 67108864 |
| ACCOUNT_FLAG_OVERMIND_LINKED | Vinculada con una cuenta de Battle.net | 134217728 |
| ACCOUNT_FLAG_DEMOS | Desconocido | 268435456 |
| ACCOUNT_FLAG_DEATH_KNIGHT_OK | Permite crear Death Knight. Se establece automáticamente cuando la cuenta cumple por primera vez el requisito CharacterCreating.MinLevelForHeroicCharacter; una vez establecida, anula dicho requisito. |
536870912 |
| ACCOUNT_FLAG_S2_REQUIRE_IGR | Desconocido (¿relacionado con StarCraft II?) | 1073741824 |
| ACCOUNT_FLAG_S2_TRIAL | Desconocido (¿relacionado con StarCraft II?) | 2147483648 |
La hora, en tiempo Unix, en la que la cuenta será desmuteada. Para ver cuándo expirará el silenciamiento puedes usar esta consulta:
SELECT FROM_UNIXTIME(`mutetime`);
La razón del muteo.
El nombre del personaje con los derechos o el poder sobre el comando .mute que da el silenciamiento.
La configuración regional utilizada por el cliente conectado a esta cuenta. Si se han configurado y añadido múltiples datos de localización a los servidores mundiales, éstos devolverán al cliente las cadenas de localización adecuadas. Ver IDs de localización
Almacena información sobre el sistema operativo del cliente. Utilizado por el sistema Warden.
El ID de otra cuenta asociada a esta cuenta. Se utiliza para el sistema de "recuit-a-friend" (reclutar un amigo). Ver account.id