Postado Fevereiro 17, 2016 9 anos Boa noite, alguém poderia me ajudar com este erro (186.218.84.98) [Failure - Protocol::XTEA_decrypt] Not valid unencrypted message size No caso eu dei olha pesquisada, isso é gerado por um player (ip 186.218.84.98), não sei como ele faz isso, mas gera um relatório de erro constante no TFS, até fechar, teria alguma maneira de automaticamente banir quem fizesse isso ? e tem como resolver isso ? vou anexar uma foto do erro. Obrigado.
Postado Fevereiro 17, 2016 9 anos Não é ataque ao seu servidor, isto acontece quando alguém se conecta ao servidor com bot baseado em proxy (como BlackD, Elfbot), telnet. Tente substituir a função (OFC, não testada!) EM src/protocol.cpp PHP: void Protocol :: onRecvMessage ( NetworkMessage & msg ) PHP: void Protocol :: onRecvMessage ( NetworkMessage & msg ) { #ifdef __DEBUG_NET_DETAIL__ std :: cout << "Protocol::onRecvMessage" << std :: endl ; #endif if( m_encryptionEnabled ) { #ifdef __DEBUG_NET_DETAIL__ std :: cout << "Protocol::onRecvMessage - decrypt" << std :: endl ; #endif if (! XTEA_decrypt ( msg ) && g_config . getBool ( ConfigManager :: BAN_UNKNOWN_BYTES )) { int64_t banTime = - 1 ; ViolationAction_t action = ACTION_BANISHMENT ; Account tmp = IOLoginData :: getInstance ()-> loadAccount ( player -> getAccount (), true ); tmp . warnings ++; if( tmp . warnings >= g_config . getNumber ( ConfigManager :: WARNINGS_TO_DELETION )) action = ACTION_DELETION ; else if( tmp . warnings >= g_config . getNumber ( ConfigManager :: WARNINGS_TO_FINALBAN )) { banTime = time ( NULL ) + g_config . getNumber ( ConfigManager :: FINALBAN_LENGTH ); action = ACTION_BANFINAL ; } else banTime = time ( NULL ) + g_config . getNumber ( ConfigManager :: BAN_LENGTH ); if( IOBan :: getInstance ()-> addAccountBanishment ( tmp . number , banTime , 13 , action , "Sending not valid unencrypted message to the server." , 0 , player -> getGUID ())) { IOLoginData :: getInstance ()-> saveAccount ( tmp ); player -> sendTextMessage ( MSG_INFO_DESCR , "You have been banished." ); g_game . addMagicEffect ( player -> getPosition (), MAGIC_EFFECT_WRAPS_GREEN ); Scheduler :: getInstance (). addEvent ( createSchedulerTask ( 1000 , boost :: bind ( & Game :: kickPlayer , & g_game , player -> getID (), false ))); } } } parsePacket ( msg ); } E mudar no config.lua [Lua] autoBanishUnknownBytes = true [Se tiver False]
Postado Fevereiro 18, 2016 9 anos Autor 7 horas atrás, Mirkaan disse: Não é ataque ao seu servidor, isto acontece quando alguém se conecta ao servidor com bot baseado em proxy (como BlackD, Elfbot), telnet. Tente substituir a função (OFC, não testada!) EM src/protocol.cpp PHP: void Protocol :: onRecvMessage ( NetworkMessage & msg ) PHP: void Protocol :: onRecvMessage ( NetworkMessage & msg ) { #ifdef __DEBUG_NET_DETAIL__ std :: cout << "Protocol::onRecvMessage" << std :: endl ; #endif if( m_encryptionEnabled ) { #ifdef __DEBUG_NET_DETAIL__ std :: cout << "Protocol::onRecvMessage - decrypt" << std :: endl ; #endif if (! XTEA_decrypt ( msg ) && g_config . getBool ( ConfigManager :: BAN_UNKNOWN_BYTES )) { int64_t banTime = - 1 ; ViolationAction_t action = ACTION_BANISHMENT ; Account tmp = IOLoginData :: getInstance ()-> loadAccount ( player -> getAccount (), true ); tmp . warnings ++; if( tmp . warnings >= g_config . getNumber ( ConfigManager :: WARNINGS_TO_DELETION )) action = ACTION_DELETION ; else if( tmp . warnings >= g_config . getNumber ( ConfigManager :: WARNINGS_TO_FINALBAN )) { banTime = time ( NULL ) + g_config . getNumber ( ConfigManager :: FINALBAN_LENGTH ); action = ACTION_BANFINAL ; } else banTime = time ( NULL ) + g_config . getNumber ( ConfigManager :: BAN_LENGTH ); if( IOBan :: getInstance ()-> addAccountBanishment ( tmp . number , banTime , 13 , action , "Sending not valid unencrypted message to the server." , 0 , player -> getGUID ())) { IOLoginData :: getInstance ()-> saveAccount ( tmp ); player -> sendTextMessage ( MSG_INFO_DESCR , "You have been banished." ); g_game . addMagicEffect ( player -> getPosition (), MAGIC_EFFECT_WRAPS_GREEN ); Scheduler :: getInstance (). addEvent ( createSchedulerTask ( 1000 , boost :: bind ( & Game :: kickPlayer , & g_game , player -> getID (), false ))); } } } parsePacket ( msg ); } E mudar no config.lua [Lua] autoBanishUnknownBytes = true [Se tiver False] Eu li isso no OTland num post de 2012, mas não entendi onde encontro a função " a função (OFC, não testada!) EM src/protocol.cpp ", , muitos players utilizam o elfbot normalmente no servidor e nunca havia gerado esse log, foi somente uma unica vez, alias, até agora foi a unica vez. Obrigado pela força.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.