Em outubro de 2023, a Nintendo anunciou o encerramento da Nintendo Network para abril de 2024. Foi informado que data e horário específicos seriam anunciados posteriormente, e até este post isso ainda não aconteceu. Não houve anúncios públicos de encerramento antecipado de quaisquer serviços, embora a Nintendo tenha declarado que se reserva o direito de fazê-lo se “ocorresse um evento que dificultaria a continuidade dos serviços online para software Nintendo 3DS e Wii U”.
No entanto, parece que a Nintendo iniciou uma lenta implementação de desligamentos. Intencional ou não.
Super Mario Maker
Em algum momento no início de dezembro de 2023, Super Mario Maker começou a gerar o erro 106-0502 com muita frequência ao tentar se conectar. Não está claro quando isso realmente começou, mas as primeiras ocorrências que pudemos encontrar foram por volta de 8 de dezembro. Após a inspeção, a causa desse erro ficou clara: o servidor ao qual o jogo estava tentando se conectar não existia mais. A primeira suposição foi que este foi o início do desligamento antecipado, que a Nintendo pode ter começado a desligar os jogos sem aviso prévio. Depois de mais pesquisas, porém, foi descoberto que alguns usuários ainda conseguem se conectar.
Os jogos na Nintendo Network funcionam usando 3 servidores:
- O servidor de conta, que informa ao cliente a localização do servidor de autenticação do jogo e fornece ao cliente um token para se conectar.
- O servidor de autenticação do jogo, que faz login do usuário usando a conta NEX interna (detalhes sobre isso na seção Novas contas (pré-requisitos)) e informa ao cliente a localização do servidor seguro do jogo.
- O servidor seguro do jogo, onde todo o conteúdo do jogo acontece.
Todos os jogos na Nintendo Network utilizam os mesmos 2 servidores de autenticação. No entanto, cada jogo possui muitos servidores seguros dedicados. Ao fazer login, o servidor de autenticação fornece um dos muitos endereços selecionados aleatoriamente para conexão. Acredita-se que se trata de alguma forma de balanceamento de carga, dividindo conexões entre vários servidores. O problema que resulta em 106-0502 é que o servidor de autenticação agora está fornecendo endereços de clientes para servidores inativos. Até agora, a Pretendo Network, grupo que está dedicado na reimplementação alternativa a servidores de serviço online, identificou um único endereço funcional para o jogo.
Eles acreditam que isso se deve à tentativa da Nintendo de reduzir o número de servidores em execução para cada jogo, para economizar custos à medida que a data de encerramento se aproxima. Eles provavelmente cometeram um erro em seu suposto balanceador de carga ao não remover esses servidores agora inativos do conjunto de endereços disponíveis. Acreditamos que isso foi feito de forma totalmente involuntária, porém a Nintendo não dá sinais de consertar esse erro.
Novas contas (pré-requisito)
Conforme brevemente mencionado em Super Mario Maker, a Nintendo na verdade usa uma série de contas internas para vários serviços. Para jogos, são chamadas de “contas NEX”. É necessário algum conhecimento prévio para esta seção, que será abordada agora.
NEX é o software que a Nintendo usa para todos os jogos 3DS e WiiU (e alguns jogos Switch). É baseado em uma biblioteca chamada Rendez-Vous, fabricada pela empresa canadense de software Quazal. Quazal, antes de ser comprada pela Ubisoft, licenciaria Rendez-Vous para qualquer pessoa. Muitos jogos, em muitas plataformas, de muitos desenvolvedores, usam alguma variação do Rendez-Vous, pois é altamente extensível. É por isso que as bibliotecas de servidores da Pretendo Network são teoricamente compatíveis com os jogos da Ubisoft.
A Nintendo licenciou o Rendez-Vous e o modificou bastante, eliminando alguns recursos mais complexos e adicionando alguns protocolos personalizados, renomeando-o para NEX. A conclusão importante aqui é que a Nintendo não construiu este sistema do zero e, em vez disso, modificou um sistema feito para uso genérico de servidores de jogos.
Novas contas
Em algum momento no final de dezembro de 2023, novas contas não podiam mais ficar online em nenhum jogo no WiiU e no 3DS.
Conforme mencionado em Novas contas (pré-requisito), a Nintendo não criou seu software de servidor de jogos do zero. Rendez-Vous vem com seu próprio sistema de conta, provavelmente por ter sido projetado para uso em jogos únicos. Na época de seu desenvolvimento, os jogos multijogador online ainda eram muito novos e o conceito de um sistema de conta unificado (como Nintendo Network ou Uplay) abrangendo muitos jogos diferentes feitos pela mesma empresa não existia. Portanto, a Nintendo precisava lidar de alguma forma com esse sistema de contas existente.
No 3DS, o console registra uma nova conta NEX no servidor Friends uma vez durante o processo de configuração do console. Cada 3DS, em circunstâncias normais, terá apenas uma conta por vez (embora isso nem sempre seja verdade, mas não é relevante). É por isso que não é necessário ter um NNID para jogar a maioria dos jogos online no 3DS, já que os jogos usam sua conta NEX para fazer login em todos os servidores de jogos. Por causa disso, uma nova conta NEX nunca mais será criada, a menos que a antiga seja removida usando CFW ou redefinindo o console para os padrões de fábrica.
No WiiU, uma nova conta NEX é criada automaticamente quando o NNID é registrado, e a conta NEX é vinculada a este NNID. O console então alerta o servidor Friends sobre a nova conta NEX, assim como o 3DS. Apesar de usar NNIDs, o WiiU também usa essas contas NEX para ficar online em todos os jogos.
Depois de criada uma conta NEX, o servidor Friends sincroniza esta conta com todos os outros servidores de jogos na Nintendo Network. Isto se deve ao já mencionado sistema de contas fornecido pela Rendez-Vous. Como cada jogo possui seu próprio servidor, e o Rendez-Vous não possui o conceito de sistema de contas unificado, cada servidor de jogo possui seu próprio sistema de contas internamente, que é sincronizado com outros jogos. Na verdade, é possível criar contas em outros servidores além do servidor Friends se estiver usando um cliente modificado, e essas contas poderão ser utilizadas em outros jogos.
Este processo de sincronização foi interrompido. Novas contas NEX não estão mais sendo sincronizadas com nenhum outro servidor na rede. Isso afeta todos os jogos. Por causa disso, qualquer tentativa de conexão a qualquer jogo usando uma conta feita após essa alteração resultará no erro 106-0303 no WiiU e 006-0303 no 3DS, chamado internamente de RendezVous::InvalidUsername.
Não está claro neste momento se isso foi intencional ou não.
Conclusão
Pedimos que você não envie spam para as linhas de suporte da Nintendo com essas questões. Fazer isso pode fazer com que a Nintendo tire os servidores totalmente da tomada mais cedo. Existem apenas 3 cenários possíveis:
- A Nintendo já está ciente desses problemas, e o spam os incomodaria a ponto de desligá-los.
- A Nintendo não está ciente desses problemas e alertá-los pode fazer com que desliguem a tomada. Eles já afirmaram que qualquer coisa que torne as coisas “difíceis” pode resultar em um desligamento antecipado.
- Esses problemas eram intencionais e o spam os incomodaria a ponto de desligá-los.
Com isso vemos que a Nintendo já está se movimentando internamente na direção dos desligamentos dos servidores, já que ainda não aconteceu nenhum anúncio oficial sobre isso e foi reportado pela equipe da Pretendo. De toda forma, vamos ficar de olho sobre os desdobramentos finais da vida dos servidores do 3DS e Wii U.