Battlenet accounts
Таблица battlenet_accounts
Таблица battlenet_accounts из базы данных auth является основной таблицей Battle.net-аккаунтов. Содержит e-mail (логин), параметры SRP-аутентификации (salt/verifier и версия алгоритма), служебные данные входов (IP, ошибки, блокировки), а также поля для тикета входа.
Структура таблицы
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| id | int | UNSIGNED | PRIMARY | NO | AUTO_INCREMENT, COMMENT 'Identifier' | |
| varchar(320) | CHARACTER SET utf8mb4, COLLATE utf8mb4_unicode_ci | NO | ||||
| srp_version | tinyint | NO | 1 | |||
| salt | binary(32) | NO | ||||
| verifier | blob | NO | ||||
| joindate | timestamp | NO | CURRENT_TIMESTAMP | |||
| last_ip | varchar(64) | CHARACTER SET utf8mb4, COLLATE utf8mb4_unicode_ci | NO | '127.0.0.1' | ||
| failed_logins | int | UNSIGNED | NO | 0 | ||
| locked | tinyint | UNSIGNED | NO | 0 | ||
| lock_country | varchar(2) | CHARACTER SET utf8mb4, COLLATE utf8mb4_unicode_ci | NO | '00' | ||
| last_login | timestamp | YES | NULL | |||
| online | tinyint | UNSIGNED | NO | 0 | ||
| locale | tinyint | UNSIGNED | NO | 0 | ||
| os | varchar(4) | CHARACTER SET utf8mb4, COLLATE utf8mb4_unicode_ci | NO | |||
| LastCharacterUndelete | int | UNSIGNED | NO | 0 | ||
| LoginTicket | varchar(64) | CHARACTER SET utf8mb4, COLLATE utf8mb4_unicode_ci | YES | NULL | ||
| LoginTicketExpiry | int | UNSIGNED | YES | NULL |
id
Уникальный идентификатор Battle.net аккаунта. Первичный ключ, AUTO_INCREMENT. Используется как ссылка во многих таблицах (например battlenet_account_mounts, battlenet_account_toys и др.).
Пример: 1001
E-mail адрес Battle.net аккаунта. Используется как логин (в зависимости от реализаций может приводиться к верхнему регистру/нормализоваться на стороне ядра).
Пример: player@example.com
srp_version
Версия/вариант SRP-аутентификации для данного Battle.net аккаунта. Значение используется ядром для выбора алгоритма формирования/проверки `salt` и `verifier`.
| Value | Значение |
|---|---|
| 1 | SRP-вариант v1 (используется по умолчанию в таблице) |
| 2 | SRP-вариант v2 (может использоваться некоторыми командами/сборками; алгоритм отличается) |
Пример: 1
salt
Соль для SRP-аутентификации (ровно 32 байта). Используется совместно с `email`/паролем для вычисления `verifier`.
Пример: 0xA1B2C3…
verifier
Verifier для SRP-аутентификации (данные для проверки пароля без хранения пароля в явном виде). Тип `blob` — длина может зависеть от выбранной SRP-версии/алгоритма.
Пример: 0x4F3E2D…
joindate
Дата и время создания Battle.net аккаунта.
Пример: 2025-12-01 10:15:00
last_ip
Последний IP, с которого выполнялся успешный вход в Battle.net аккаунт.
Пример: 203.0.113.25
failed_logins
Количество неуспешных попыток входа.
Пример: 0
locked
Флаг блокировки входа (IP/ограничения входа — зависят от логики ядра).
| Value | Значение |
|---|---|
| 0 | Не заблокирован |
| 1 | Заблокирован |
Пример: 0
lock_country
Двухбуквенный код страны (обычно ISO 3166-1 alpha-2) для ограничений входа по стране. Значение `00` обычно означает “без ограничения”.
Пример: DE
last_login
Дата и время последнего успешного входа. Может быть NULL, если входов ещё не было.
Пример: 2025-12-20 18:11:59
online
Флаг текущего статуса “в сети”.
| Value | Значение |
|---|---|
| 0 | Оффлайн |
| 1 | Онлайн |
Пример: 0
locale
Код локали клиента (язык/регион), с которым был выполнен вход.
| Value | Locale | Language |
|---|---|---|
| 0 | enUS | English (US) |
| 1 | enGB | English (GB) |
| 2 | frFR | French |
| 3 | deDE | German |
| 4 | esES | Spanish (ES) |
| 5 | esMX | Spanish (MX/LatAm) |
| 6 | ptBR | Portuguese (BR) |
| 7 | ruRU | Russian |
| 8 | koKR | Korean |
| 9 | zhCN | Chinese (Simplified) |
| 10 | zhTW | Chinese (Traditional) |
Пример: 3
os
Код ОС клиента (используется, в том числе, античит-системами/warden-логикой).
| Code | Operating System |
|---|---|
| WIN | Windows |
| MAC | macOS |
| LNX | Linux (эмуляция/Wine) |
| WINE | Wine/эмуляция Windows |
Пример: WIN
LastCharacterUndelete
Служебное поле Battle.net аккаунта, используемое подсистемой восстановления удалённых персонажей (undelete). По умолчанию `0`.
Пример: 0
LoginTicket
Служебный “тикет входа” (временный токен), который может использоваться в процессе авторизации. Может быть NULL.
Пример: 7f3a2c1b0d9e4a6f8c1d2e3f4a5b6c7d
LoginTicketExpiry
Срок действия `LoginTicket` (как целое число; обычно используется как timestamp/время истечения, в зависимости от логики ядра). Может быть NULL.
Пример: 1700000000