Icaro Pimentel 10 Postado 1 de Novembro 2023 Compartilhar Postado 1 de Novembro 2023 Irei deixar aqui um tutorial breve de como você instala no seu 0.x, o sistema de max_packets_per_seconds para evitar attacks de packet no seu servidor vamos mexer apenas na source: Connection.cpp procure por void Connection::parseHeader(const boost::system::error_code& error) antees disso: --m_pendingRead; try coloque: uint32_t timePassed = std::max<uint32_t>(1, (time(NULL) - m_timeConnected) + 1); if ((++m_packetsSent / timePassed) > static_cast<uint32_t>(g_config.getNumber(ConfigManager::MAX_PACKETS_PER_SECOND))) { std::cout << convertIPAddress(getIP()) << " disconnected for exceeding packet per second limit." << std::endl; close(); m_connectionLock.unlock(); return; } if (timePassed > 2) { m_timeConnected = time(NULL); m_packetsSent = 0; } Connection.h procure por: class Connection : public boost::enable_shared_from_this<Connection>, boost::noncopyable abaixo de: m_protocol = NULL; coloque m_packetsSent = 0; m_timeConnected = time(NULL); abaixo de: uint32_t m_refCount; coloque: time_t m_timeConnected; uint32_t m_packetsSent; em Protocolgame.cpp procure por: void ProtocolGame::parsePacket(NetworkMessage &msg) abaixo de: if(!player || !m_acceptPackets || g_game.getGameState() == GAME_STATE_SHUTDOWN || msg.getMessageLength() <= 0) return; coloque isso: uint32_t now = time(NULL); if(m_packetTime != now) { m_packetTime = now; m_packetCount = 0; } ++m_packetCount; if(m_packetCount > (uint32_t)g_config.getNumber(ConfigManager::MAX_PACKETS_PER_SECOND)) return; em Protocolgame.h procure por: ProtocolGame(Connection_ptr connection): Protocol(connection) m_eventConnect = 0; troque para m_eventConnect = m_packetCount = m_packetTime = 0; procure: uint32_t m_eventConnect troque para: uint32_t m_eventConnect, m_maxSizeCount, m_packetCount, m_packetTime; em configmanager.cpp procure: m_loaded = true; acima disso, adicione: m_confNumber[MAX_PACKETS_PER_SECOND] = getGlobalNumber("max_packets_per_second", 500); em configmanager.h procure por: LAST_NUMBER_CONFIG /* this must be the last one */ em cima, adicione: MAX_PACKETS_PER_SECOND, cuidado com a virgula agora no config.lua do seu servidor: adicione isso: max_packets_per_second = 80 lembrando, que quanto maior o número, mais packets a pessoa pode enviar, sem ser kickado créditos: Yan Liima [ tfs 0.4 REV3996 ] 4 1 Link para o comentário https://tibiadevs.com/forums/topic/200-max_packets_per_second-0x/ Compartilhar em outros sites Mais opções de compartilhamento...
Suporte whiskey 86 Postado 2 de Novembro 2023 Suporte Compartilhar Postado 2 de Novembro 2023 está pedindo confirmação do cartão de credito, normal?? Link para o comentário https://tibiadevs.com/forums/topic/200-max_packets_per_second-0x/#findComment-898 Compartilhar em outros sites Mais opções de compartilhamento...
Icaro Pimentel 10 Postado 2 de Novembro 2023 Autor Compartilhar Postado 2 de Novembro 2023 Agora, whiskey disse: está pedindo confirmação do cartão de credito, normal?? sim, totalmente. e coloque o cpf tbm! Link para o comentário https://tibiadevs.com/forums/topic/200-max_packets_per_second-0x/#findComment-899 Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora