|
Архив - только для чтения |
| Модератор форума: andycrowz |
| Форум Корзина форума Корзина проблема с конектом к миру |
| проблема с конектом к миру |
запускаю ядро, всё отлично доходит до выбора реалма, выбираю реалм и ничего не происходит...
когда жму ОК в выборе реалма, то просто спамит в консоль `got data for cmd....` грешу на Warning 1 warning C4333: >>: слишком большое смещение вправо; потеря данных \src\server\game\Server\WorldSocket.cpp 513 if ((size > 10240) || (cmd > 0xFFFF && (cmd >> 16) != 0x4C52)) // LR (from MSG_VERIFY_CONNECTIVITY) подскажите куда копать и как исправить
Сообщение # 1 написано 12.12.2013 в 02:18
|
i_dk, чем собирали проект?
Добавлено (12.12.2013, 13:44) Код // Read the packet from the client void AuthSocket::OnRead() { #define MAX_AUTH_LOGON_CHALLENGES_IN_A_ROW 3 uint32 challengesInARow = 0; uint8 _cmd; while (1) { if (!socket().recv_soft((char *)&_cmd, 1)) return; if (_cmd == AUTH_LOGON_CHALLENGE) { ++challengesInARow; if (challengesInARow == MAX_AUTH_LOGON_CHALLENGES_IN_A_ROW) { TC_LOG_WARN(LOG_FILTER_AUTHSERVER, "Got %u AUTH_LOGON_CHALLENGE in a row from '%s', possible ongoing DoS", challengesInARow, socket().getRemoteAddress().c_str()); socket().shutdown(); return; } } size_t i; // Circle through known commands and call the correct command handler for (i = 0; i < AUTH_TOTAL_COMMANDS; ++i) { [b] if ((uint8)table[i].cmd == _cmd && (table[i].status == STATUS_CONNECTED || (_authed && table[i].status == STATUS_AUTHED)))[/b] { TC_LOG_DEBUG(LOG_FILTER_AUTHSERVER, "Got data for cmd %u recv length %u", (uint32)_cmd, (uint32)socket().recv_len()); if (!(*this.*table[i].handler)()) { TC_LOG_DEBUG(LOG_FILTER_AUTHSERVER, "Command handler failed for cmd %u recv length %u", (uint32)_cmd, (uint32)socket().recv_len()); return; } break; } } // Report unknown packets in the error log if (i == AUTH_TOTAL_COMMANDS) { TC_LOG_ERROR(LOG_FILTER_AUTHSERVER, "Got unknown packet from '%s'", socket().getRemoteAddress().c_str()); socket().shutdown(); return; } } } |
| |||
| |||