|
Форум Корзина форума Установка / Настройка Skyfire Разбор структуры баз SkyFire[auth] |
Разбор структуры баз SkyFire[auth] |
Ну что ж, начнем! Сегодня буду описывать вам самую простую из баз данных для SkyFire, а именно auth.
В базе auth 8 таблиц: 1. account - по названию всё понятно, данная таблица содержит информацию об учетных записях пользователей/игроков. 2. account_access - данная таблица отвечает за доступ на сервере. 3. account_banned - по названию понятно, что данная таблица отвечает за информацию о заблокированных учетных записях. 4. ip_banned - таблица отвечающая за информацию о заблокированных IP-адресах. 5. realmcharacters - данная таблица содержит информацию о количестве персонажей каждого аккаунта на каждом реалме. 6. logs - в данной таблице содержаться логи сервера, если EnableLogDB в конфигах(authserver.conf) включен. 7. realmlist - в данной таблице содержится вся необходимая информация о реалмах. 8. uptime - данная таблица содержит время работы всех реалмов. account Структура Описание полей: id Уникальный идентификатор аккаунта. username Название аккаунта. sha_pass_hash Это поле содержит зашифрованную методом SHA1 пару «логин, пароль». Хеш создается методом конкатенации логина и пароля в верхнем регистре, используя двоеточие как разделитель.. Запрос, создающий логин и пароль: Code SELECT SHA1(CONCAT(UPPER(`username`), ':', UPPER(<pass>))); v Это серверный верификатор пароля, используемый в SRP во время авторизации клиента. Если вы хотите сменить пароль аккаунта, вы должны установить пустое значение или ноль в это поле. s Это серверная «соль» пароля, используемая в SRP во время авторизации клиента. Если вы хотите сменить пароль аккаунта, вы должны установить пустое значение или ноль в это поле. e-mail, присвоеный учетной записи при регистрации. joindate Дата регистрации (создания аккаунта). last_ip IP адрес, с которого последний раз заходили на данный аккаунт failed_logins Количество неверных попыток ввода аккаунта. locked Логическое значение 0 или 1 устанавливающее или снимающее блокировку аккаунта. (.account lock on\off в игре). last_login Дата последнего входа. online Логическое значение 0 или 1 которое показывает, находятся ли персонажи на данном аккаунте в игре. expansion Логическое значение 0 или 0 показывающее тип дополнения (для Skyfire значение должно быть 3) mutetime Время, в Unix-формате, когда с аккаунта будет снят mute (лишение всех персонажей на аккаунте возможности печатать сообщения и клиентские команды во всех чатах, активируется через .mute в игре). Чтобы посмотреть, сколько осталось времени до снятия блокировки чата выполните запрос: Code SELECT FROM_UNIXTIME(`mutetime`); locale Язык игрового клиента, используемого при входе на этот Аккаунт. Если указано несколько языков, будет выбираться язык клиента. account_access Структура Описание полей id Идентификатор аккаунта из таблице account поле ID. gmlevel Уровень доступа учетной записи. Различные уровни имеют доступ к различным командам. Уровни для команд задаются в таблице command(описание будет чуть позже), которая для каждого реалма отдельная. RealmID Номер реалма, на котором будет действовать данный уровень доступа(если -1 то для всех). Смотрите в таблице realmlist поле ID. account_banned Структура Описание полей id Идентификатор аккаунта. Смотрите в таблице account поле id. bandate Дата выдачи бана аккаунту, в Unix-формате. unbandate ата снятия бана с аккаунта в Unix-формате. Если в этом поле значение меньше даты выдачи - бан выдается перманентно(навсегда). bannedby Ник забанившего аккаунт. Персонаж должен иметь аккаунт с правами на команду .ban в игре. banreason Причина, по которой забанен аккаунт. active Логическое значение 0 или 1 устанавливающее активен бан или нет. ip_banned Структура Описание полей ip Забаненный IP адрес. bandate Дата выдачи бана IP адресу, в Unix-формате. unbandate Дата снятия бана с IP адреса в Unix-формате. Если в этом поле значение меньше даты выдачи - бан выдается перманентно(навсегда). bannedby ик забанившего IP адрес. Персонаж должен иметь аккаунт с правами на комманду .ban в игре. banreason Причина, по которой забанен IP адрес. logs Структура Описание полей time Дата в Unix-формате, когда произошла запись в базу данных. realm Номер реалма, для которого будут сохранятся логи. Смотрите в таблице Realmlist поле ID. type Тип логов выглядит так: Code LOG_TYPE_STRING = 0 --- нормальные информативные строки LOG_TYPE_ERROR = 1 --- какая-то ошибка LOG_TYPE_BASIC = 2 --- основная информация LOG_TYPE_DETAIL = 3 --- подробная информация LOG_TYPE_DEBUG = 4 --- отладочная информация LOG_TYPE_CHAR = 5 --- информация о персонаже LOG_TYPE_WORLD = 6 --- дамп пакетов LOG_TYPE_RA = 7 --- удаленный доступ к логам LOG_TYPE_GM = 8 --- логи Гм команд LOG_TYPE_CRASH = 9 --- логи крашей LOG_TYPE_CHAT = 10 -- логи чата realmcharacters Структура realmid Идентификатор реалма. Смотрите в таблице realmlist поле id acctid Идентификатор аккаунта. Смотрите в таблице account поле id numchars Количество персонажей данного аккаунта на данном реалме. realmlist Структура Description of the fields id Идентификатор реалма. Этот номер является уникальным для каждого реалма и он должен соотноситься со значением RealmID в worldserver.conf. name Название реалма. Это название появится в списке выбора миров, а также в окне выбора персонажа. address IP адрес для подключения клиентов из сети. Значение 127.0.0.1 по-умолчанию делает доступным сервер только локально (с той же машины). port Порт для подключения к серверу. Если все сервера(будь то Fun\High Rate\Blizzlike или же сервера для различных версий клиента) находятся на одной машине, они должны иметь разные порты. icon Иконка реалма. Значение: 0 - Normal; 1 - PvP; 4 - Normal; 6 - RP; 8 - RP PvP color Цвет обозначает как "полный", который будет отображаться при выборе реалма. timezone Часовой пояс реалма. Если в реалмлисте присутствуют реалмы с различными timezone, они будут отображаться в разных вкладках, а при первом входе на сервер клиенту будет предложена выбрать один из доступных часовых поясов. allowedSecurityLevel Минимальный gmlevel необходимый для вход в мир. population Нынешняя населенность мира, обновляется автоматически. Формула для вычисления значения в этой области: "КоличествоИгроков" / "МаксимальноеКоличествоИгроков" * 2. gamebuild Позволяет отображать реалмы различных версий клиента в одном реалмлисте. Для SkyFire все билды катаклизма. uptime Структура Описание полей realmid Идентификатор реалма. Смотрите в таблице realmlist поле id starttime ремя, когда сервер был запущен: в Unix формате. startstring Время, когда сервер был запущен: в формате читаемой строки. uptime Время работы сервера, в секундах. maxplayers Максимальный онлайн. revision Ревизия ядра. Благодарю за помощь и предоставленную информацию: Dimitro Обсуждение данного вики SkyFire[DB] |
| |||
| |||