• Caro Visitante, por que não gastar alguns segundos e criar uma Conta no Fórum Valinor? Desta forma, além de não ver este aviso novamente, poderá participar de nossa comunidade, inserir suas opiniões e sugestões, fazendo parte deste que é um maiores Fóruns de Discussão do Brasil! Aproveite e cadastre-se já!

Novo cliente no site do MUD - Novidades, problemas e soluções

dermeister

Ent cara-de-pau
Prezados,

Na tarde do último domingo, atualizei o cliente do site do MUD (cujo apelido é Narog, mas deixa quieto). Exceto por uns poucos ajustes nas fontes e algumas mensagens, houve poucas mudanças visíveis . Internamente, porém, as mudanças foram enormes e trouxeram possibilidades novas e uma boa chance de problemas.

Fugindo dos detalhes técnicos (que estão escondidos na caixinha de spoiler para quem quiser) o cliente agora tenta conectar de três formas diferentes, com uma mensagem dando o resultado a cada tentativa e pulando para a próxima se não conseguir:

  • Método 1 - Funciona apenas em navegadores relativamente recentes (qualquer versão do Firefox e do Chrome lançadas nos últimos dois anos funciona; o Internet Explorer 10 para cima deveria funcionar, mas as coisas andam meio confusas com ele). A parte divertida é que este método tem mais chances de conectar a partir de redes restritas, como as de empresas e faculdades.
  • Método 2 - É uma pequena variação do método 1, com a mesma exigência de um navegador atualizado, mas com chance de funcionar em algumas redes onde o primeiro método falha.
  • Método 3 - É o mesmo método usado pelo cliente antigo -- depende do Flash e pode esbarrar em problemas em redes fechadas.

Os métodos 1 e 2 são aqueles que permitirão, em dois ou três meses, ter coisas legais como barrinhas de HP, mana, mv e xp, um editor de texto que não assuste tanto quando o atual, e outras coisas (tem MUD que tem até mapas automáticos que lembram por onde o personagem passou, mas não garanto isso tão cedo).

  • Método 1 - Usa WebSockets e conecta ao MUD pela porta 80, tentando negociar normalmente com proxies e passando por firewalls quando eles existirem. Todo o cliente é escrito em JavaScript e, para isso, ele depende de typed arrays. Esses dois recursos só existem em navegadores mais novos e, pouco mais de dois anos atrás, a situação dos websockets era meio caótica, com padrões diferentes sendo mexidos a toda hora. Esses recursos tem funcionado bem no Firefox, Chrome, Chromium e outros navegadores WebKit (como as últimas versões do Opera) mas, só para variar, o IE é o chato da história -- WebSockets só apareceram na versão 10 e parecem ter problemas. Por sinal, esse método quase me fez mudar a URL do cliente e criar um redirect (aquele "flash" não faz mais sentido agora), mas uma coisa por vez.
  • Método 2 - É o mesmo método 1, porém, faz um websocket normal (não criptografado, porque não temos dinheiro para certificados digitais e não queremos assustar ninguém mensagens de certificados desconhecidos e instruções de como liberá-los com segurança) conectar pela porta 443 -- o caso é que, quando há proxies envolvidos, o websocket precisa usar um método HTTP CONNECT (da mesma forma que o HTTPS), e muitos proxies só permitem que esse método acesse a porta 443.
  • Método 3 - Usa do Flash para conectar com um socket comum na porta 4000. Por uma questão de segurança, o plugin do Flash precisa pedir autorização do servidor pela portas 843 antes -- se uma delas estiver bloqueada por um firewall, o MUD não conectará. É a técnica que já usávamos antes e, embora a interface de usuário seja em JavaScript e HTML, boa parte do cliente roda num objeto Flash. Para os curiosos, ele foi programado em Haxe -- eu nunca vi o editor do Flash pessoalmente, e nem quero vê-lo :) Ele não usa recursos avançados de JavaScript e funciona até no IE7 (no 6 também, mas aí é o CSS do cliente que quebra).

Eu tenho planos de implementar um dos protocolos de troca de dados entre o MUD e o cliente (começando pelo GMCP, talvez o MXP para ter menus e links clicáveis), e a contra-parte dele no cliente web -- mas não gostaria de ter que fazer isso duas vezes, então a ideia é ficar só com os websockets mesmo. Convenhamos, o Flash virou um monstro saído de Angmar! (e está praticamente morto no Linux; Eu só uso Windows, dentro de VMs, para testar coisas).


O caso é que o funcionamento correto do cliente depende muito do navegador e do sistema operacional e, a menos que alguém avise, não há como saber se ele está dando problema em algum deles. Por favor, comentem abaixo suas experiências de acesso, citando o método de conexão, navegador, versão e sistema operacional (versão do Windows).

Para quem tiver problemas, o antigo continua (e continuará) disponível no endereço: http://mud.valinor.com.br/oldflash.html -- mas avisem aqui de qualquer forma.


Observações:
1. Firefox versões 25, 26 e 27 e Chromium versões 30, 31, e 30 tem funcionado muito bem no Linux;
2. Estou prestes a subir uma atualização forçando o Internet Explorer 10 a só usar o método 3; parece que o envio de comandos falha depois de algum tempo.
3. Vou atualizar aquela notícia do site para apontar para este tópico.
 
Última edição:

Valinor 2023

Total arrecadado
R$2.404,79
Termina em:
Back
Topo