ID da causa co-netswitch · Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Desenvolvimento do cliente (Equipe de desenvolvimento), Infraestrutura de rede (Equipe de infraestrutura)
Quando você sai de casa, o Wi-Fi cai e o celular passa para LTE/5G; seu endereço IP muda e a conexão existente deixa de valer.
Por quê O sinal do Wi-Fi enfraquece e o celular passa para a rede móvel → Efeito Seu endereço IP muda, e a conexão aberta com o endereço antigo não consegue mais trocar dados → Na tela Uma pausa curta seguida de desconexão ou reconexão
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Desenvolvimento do cliente (Equipe de desenvolvimento), Infraestrutura de rede (Equipe de infraestrutura)
O que fazer (Equipe de desenvolvimento)
Servidor: com o token de sessão, reconhecer o mesmo jogador mesmo com endereço novo e encerrar na hora a conexão do endereço antigo, avaliar protocolos que mantêm a conexão quando o endereço muda (como a migração de conexão do QUIC). Cliente: ao detectar a troca de rede, reconectar na hora com o token de sessão, sem esperar o timeout de heartbeat.
O que fazer (Equipe de infraestrutura)
Ao usar a migração de conexão do QUIC, configurar o load balancer para escolher o servidor pelo ID de conexão, sem usar endereço e porta (se escolher por endereço e porta, os pacotes com endereço novo vão para outro servidor).
No gráfico
Queda de conexões em massa · Desconexões e reconexões, IP alterado na reconexão
Onde olhar
Procurar nos logs de conexão do servidor reconexões do mesmo token de sessão com outro IP e cruzar com o horário do callback de mudança da rede padrão no cliente (registerDefaultNetworkCallback)
Confirma se
Logo depois da queda, o IP da reconexão muda da faixa do Wi-Fi (conexão de casa) para a faixa da operadora móvel, ou o contrário, e logo antes chega o callback de troca de rede
Descarta se
Caiu com o mesmo IP: “Handover entre antenas (em movimento)” ou “Sinal de celular fraco e áreas de sombra”
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo
Fontes
Read network stateAndroid (Google) Quando a rede padrão muda, novas conexões vão para a rede nova e as conexões da rede anterior acabam sendo derrubadas; a troca é detectada com registerDefaultNetworkCallback
RFC 9000: QUIC: A UDP-Based Multiplexed and Secure TransportIETF Com o ID de conexão, a conexão se mantém mesmo quando o endereço IP e a porta mudam (seção 9); um load balancer que distribui só por endereço e porta pode mandar pacotes com endereço novo para outro servidor (seção 5.2.3)