Клиент и тайм зоны
В 3.3.5 есть такие 2 ворлдстейта,
Код:
enum В самих ворлдстейтах шлется как раз время его окончания и старта, то есть time(NULL) + m_timerSecs. Только вот проблема, если таймзона у клиента не равняется таймзоне сервера, то он начинает испытывать проблемы. Есть ли возможность на сервере получить тайм зону клиента? Или же где то не реализована отсылка тайм зоны сервера клиенту? |
Тайм зона приходит в первом же пакете на логон сервере при авторизации, вместе с билдом клиента, названием игры, платформой и тд. Только она нигде не сохраняется. Как вариант сделать доп. поле в таблице аккаунтов и при авторизации устанавливать в него тайм зону с принятого пакета. Ну а потом использовать как хочется.
|
Что-т я даже проглядев код не смог найти где же она приходит с клиента. Она там наоборот отправляется, и все дальнейшие преобразования времени идут именно в клиенте (смотрим код клиента, все время идет через GetTZ()).
Скорее проблема с кривым выставлением TZ на сервере (на винде его вообще корректно невозможно выставить). Лично у меня бой на ОЛО вполне корректно начинается при любом поясе клиента, только что проверил... |
Код:
typedef struct AUTH_LOGON_CHALLENGE_C |
Цитата:
|
Я писал свой логон сервер, вроде как все на месте.
|
Текущее время: 06:59. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS