Baixe agora o app da Tribo Gamer Disponível na Google Play
Instalar

Ryujinx emulador Switch agora com opção online.

E um mergulho nos bastidores da implementação do Local Wireless (Serviço LDN) que criamos para Ryujinx, atualmente em um estágio de pré-lançamento. Se você está apenas interessado em usar a construção, pode encontrá-la em nosso Patreon: Apresentando o suporte multijogador "Local Wireless" Este trabalho é uma combinação dos esforços de Ac_K e eu (riperiperi), e está no nosso radar desde que Mario Kart 8 Deluxe entrou no jogo. Há alguns meses, fomos o primeiro emulador de switch a fazer o multiplayer de link de sistema funcionar de qualquer forma, embora em um branch de prova de conceito que nunca foi mesclado. No entanto, isso foi conseguido através do modo "LAN" daquele jogo, que apenas alguns jogos originais selecionados suportam. Você descobrirá que "Local Wireless" é muito mais complicado, mas ao mesmo tempo muito mais atraente de implementar, já que muitos outros jogos o suportam.



Por que sem fio local? Quando você deseja jogar na Internet, geralmente usa o modo Online desse jogo. Então, por que não fazer isso aqui? A primeira opção seria conectar-se diretamente aos servidores da Nintendo usando informações e contas de usuário despejadas de seu console. Se você já faz parte da comunidade de modding do Switch há um tempo, você já sabe qual é o problema. Ao contrário do Wii U, a comunicação oficial do servidor é conhecida por ter um monte de armadilhas que podem facilmente fazer com que seu console seja banido do serviço se não nos comportarmos exatamente como um switch não modificado. Não é razoável esperar isso agora e não queremos ser responsáveis ​​por banimentos, então isso está fora de questão. A segunda opção é emular esses servidores oficiais, implementando toda a lógica de matchmaking que a NSO usa para reunir os jogadores, geralmente chamada de NEX. No entanto, nem todos os jogos usarão NEX e, mesmo que o façam, podem usar alguma variação que requer uma implementação / plug-in personalizado para aquele jogo específico. Este também é um campo minado legal, dadas as taxas de assinatura do NSO e que poderia ser considerado como "DRM". Felizmente, há uma terceira opção: Wireless Local. Local Wireless tem sido um grampo de consoles de jogos portáteis desde que o DS o introduziu. Tudo o que isso realmente faz é conectar jogadores próximos na mesma rede sem fio - esta é uma rede IP regular na qual você pode usar todos os seus protocolos de transporte favoritos. Se um jogo tiver um modo online, é muito fácil portar seu código de rede para funcionar em uma rede sem fio local. Você pode ver isso acontecendo com a maioria dos jogos no Switch, com algumas exceções. (maldição, Garfield Kart!) Desta forma, ganhamos suporte para multijogador "online" em muitos dos jogos com modos online, enquanto evitamos qualquer atenção indesejada que possamos receber reimplementando detalhes de um serviço pago ao vivo. A história provou que essa é uma responsabilidade legal em potencial, embora obviamente se torne mais tentador quando o console chegar ao fim da vida útil, onde podemos querer preservar alguns dos recursos online que de outra forma seriam perdidos para sempre, quando chegar a hora . Você pode encontrar uma lista de jogos que suportam wireless local aqui. Não é uma lista completa, mas é uma boa indicação de jogos que devem funcionar com nossa implementação. Se não o fizerem, provavelmente o farão!

Implementação A rede sem fio no switch é realmente simples. Os jogos podem hospedar redes sem fio que outros jogos podem descobrir e se conectar, tudo usando o serviço "LDN". O primeiro passo é sempre um jogador criando uma rede para hospedar uma sala no jogo. A abordagem mais comum é cada jogo exibir em uma lista as redes hospedadas próximas e permitir que outros usuários escolham uma para ingressar. Essas redes são "escaneadas" de maneira semelhante às redes sem fio de um computador, mas com um conjunto especial de filtros exclusivos do Switch, como Title ID e "Scene ID". Embora eles apenas permitam que um pequeno número de redes apareça nessas listas, a implementação além é geralmente uma correspondência para o modo multijogador online do jogo. Isso nos permite obter a mesma experiência sem conectar aos servidores oficiais ou fazer uma substituição.

Imagem

Nossa implementação de LDN gerencia e roteia os jogadores em redes virtuais em um servidor central, permitindo que os jogadores se conectem a redes sem fio "locais" pela Internet. Ryujinx se conecta ao nosso servidor e pode configurar, procurar e ingressar em redes que são totalmente gerenciadas do nosso lado para torná-las o mais fáceis de rastrear possível. No entanto, conectar-se a uma rede é apenas o primeiro passo. Quando um jogo é conectado a uma rede, ele passa a usar o serviço BSD para abrir sockets para outros clientes na rede, identificados por endereços IPs e MAC fornecidos pelo serviço LDN. É aqui que nossa mágica acontece - os soquetes BSD criados durante a conexão sem fio local são procurados pela Internet, para permitir que jogadores se conectem uns aos outros de todo o mundo! O proxy executa todo o roteamento de pacotes entre clientes da rede virtual. As conexões entre os jogadores são ponto a ponto por padrão (o proxy é executado no host), desde que sua rede suporte a configuração NAT com UPnP. Isso garante a menor latência possível entre os jogadores em cada sala de jogo. Se isso falhar por qualquer motivo, ou se você desabilitar manualmente o P2P, ainda será capaz de hospedar fazendo proxy de todo o tráfego por meio de nossos servidores. Se você não pode hospedar no modo P2P, pode deixar outra pessoa hospedar a maioria dos jogos para evitar isso.

Imagem

Configuração de rede em Ryujinx. Definir seu nome é importante, mas definir uma senha longa também é!

O multijogador local, portanto, funciona como se todos jogando com Ryujinx estivessem na mesma sala, sempre dentro do alcance do wi-fi. Você pode imaginar que isso fará com que as listas de jogos fiquem lotadas, e isso é verdade! Mas este é apenas o modo padrão - encorajamos fortemente os usuários a gerar e compartilhar uma senha longa, que permitirá que eles entrem em uma "sala privada" onde eles só podem ver jogos de pessoas com a mesma senha e vice-versa. Esses jogos não são visíveis ao público e são úteis se você quiser se juntar a alguém no jogo sem que jogadores aleatórios apareçam. Eles também não aparecerão em nossa lista pública de jogos, mas o número de salas privadas e seus jogadores ainda estarão visíveis. Você pode encontrar uma lista de todos os jogos ativos atualmente em https://ldn.ryujinx.org. Os jogos privados não são mostrados, mas o número deles é. Você também poderá ver o número de jogos e jogadores ativos na lista de jogos no próprio Ryujinx, proveniente de nossa API JSON em https://ldn.ryujinx.org/api/public_games. A rede sem fio local é compatível com muitos tipos diferentes de jogos, incluindo os de terceiros. Força em números Como mencionei acima, este foi um esforço conjunto entre mim e Ac_K. Isso será detalhado totalmente em nosso PR para essas mudanças, que virá depois que tudo isso for testado e concluído. Não era conhecido na época, mas o verdadeiro início de tudo isso foi em março de 2018, com a implementação inicial do serviço BSD por Ac_K e alguns PRs de acompanhamento para melhorar sua funcionalidade de colegas desenvolvedores Ryujinx emmauss e Thog. Com apenas este serviço, e algumas pequenas alterações no topo, conseguimos fazer o jogo LAN funcionar no MK8D conforme descrito acima. Ter este serviço quase completo e funcional foi uma grande vantagem para começar a trabalhar na rede sem fio local.



Fonte: Google

Comentários

29 Mai, 2021 - 18:02

Comentários

Notícias