MAIN Realm
Decentraland tem tantos realms quantos os Catalyst com serviços de comunicação, mas existe um realm distinto conhecido como MAIN que existe fora da rede de Catalyst. O realm MAIN foi especificamente concebido para simplificar o processo de ligação dos utilizadores, tornando mais fácil para os utilizadores interagir e encontrar-se. É construído com um conjunto de serviços capazes de substituir o serviço de comunicação de um nó Catalyst. Este realm serve como o destino predefinido dos utilizadores ao iniciarem sessão no Decentraland.
O fornecedor de realm serviços expõe um /about endpoint com uma descrição de realm de acordo com o ADR-110: descrição de realm. Isto fornece a informação para estabelecer uma ligação com a rede de gestão de conteúdos, conhecida como um dos serviços do nó Catalyst, e também fornece os detalhes de ligação para os serviços de comunicação do realm MAIN.
O serviço de comunicações MAIN é acedido através do WebSocket Connector. Este componente leve permite a interação com os restantes componentes de backend e pode ser facilmente escalado com instâncias adicionais para acomodar uma carga crescente de utilizadores, gerindo de forma eficiente um maior número de ligações ativas. Através da ligação WebSocket, o cliente obtém os dados necessários para estabelecer uma ligação com o LiveKit Cloud, juntamente com o islandId atribuído pelo Archipelago Service. O Archipelago Service tem responsabilidades idênticas tanto no realm MAIN como no serviço de comunicações dos nós Catalyst. Gere eficazmente o processamento das posições dos utilizadores e a sua subsequente atribuição a ilhas distintas, cada uma das quais corresponde a uma sala LiveKit, organizando assim de forma eficiente grupos de utilizadores com base nas suas localizações espaciais no mundo virtual. Para mais informações sobre o Archipelago Service, pode consultar a Archipelago página.
NATS funciona como um sistema de transmissão que facilita uma comunicação fluida entre vários serviços. Pode suportar múltiplas instâncias do WebSocket Connector a comunicar com o mesmo Archipelago Service. Além disso, permite que o serviço Stats recolha estatísticas de utilizadores do Archipelago, como posições e agrupamentos em ilhas, tornando estes dados acessíveis para utilização externa.
O serviço de estatísticas Archipelago partilha a mesma implementação de API que o serviço Archipelago no nó Catalyst. Pode explorar a API neste link: Especificações da API Catalyst. O serviço está acessível através do seguinte URL https://archipelago-stats.decentraland.org/ e os endpoints disponíveis encontram-se em /comms/ como descrito na especificação da API, por exemplo: https://archipelago-stats.decentraland.org/comms/peers.
O LiveKit A plataforma Cloud gere a tarefa complexa de troca de informações dos utilizadores através de WebRTC e é a principal plataforma Cloud partilhada pela maioria dos nós Catalyst para o mesmo fim.
O conceito fundamental derivado do realm MAIN é que diferentes utilizadores têm a flexibilidade de se ligar a qualquer nó Catalyst para fins de gestão de conteúdos (descarregar cenas, wearables, emotes ou enviar atualizações de perfil), mas apesar da seleção de um nó específico de gestão de conteúdos, a ligação ao serviço de comunicação pode ser a mesma. Como resultado, mesmo que os utilizadores estejam a utilizar diferentes nós Catalyst como servidores de conteúdos, se se encontrarem em coordenadas de cena próximas, terão a capacidade de interagir entre si.
Atualizado