Minecraft.How
Carregando...
Pular para o conteúdo
Como Construir uma Rede Minecraft Coesa com ValioBungee

Como Construir uma Rede Minecraft Coesa com ValioBungee

Alex Maftei
Alex Maftei
@ice
Atualizado
65 visualizações
TL;DR:ValioBungee é um plugin baseado em Redis para BungeeCord e Velocity que sincroniza dados de jogadores em múltiplos servidores proxy. Perfeito para administradores que gerenciam redes Minecraft distribuídas e precisam de sincronização confiável de dados de jogadores.
GitHub - Projeto da comunidade Minecraft

ValioBungee (ProxioDev/ValioBungee)

Sincronize dados de jogadores entre os proxies BungeeCord e Velocity

Ver no GitHub ↗
⭐ 247 estrelas💻 Java📄 EPL-1.0

Administrar uma rede Minecraft em múltiplos servidores parece ótimo até que você perceba que os jogadores esperam carregar seus dados em qualquer lugar. Se seu amigo entra com 50 esmeraldas e muda para outro servidor proxy, ele não deveria perdê-las. É isso que ValioBungee resolve - mantém os dados dos jogadores sincronizados em todas as suas instâncias BungeeCord e Velocity usando Redis.

O que é ValioBungee?

ValioBungee é um fork do projeto RedisBungee há muito abandonado, atualizado e mantido pelo ProxioDev. É um plugin Java que sincroniza informações de jogadores (inventário, localização, experiência e dados personalizados) em múltiplos servidores proxy através de um banco de dados Redis central. Se você está executando uma rede Minecraft distribuída, este plugin fecha a lacuna entre instâncias proxy independentes, permitindo que os jogadores tenham uma experiência de rede contínua, independentemente de qual servidor eles se conectem.

O RedisBungee original não foi atualizado em anos, e seu criador prosseguiu para outros projetos. Em vez de deixar administradores de servidor trabalharem com código desatualizado, ProxioDev reviveu o projeto como ValioBungee (a mudança de nome foi necessária devido a restrições de marca registrada, embora a implementação interna permaneça praticamente a mesma). É um excelente exemplo de manutenção comunitária - alguém viu um problema e o resolveu.


Por que você precisaria disso

A maioria das configurações Minecraft de servidor único não precisa disso. É quando você começa a construir uma rede adequada que as coisas ficam complicadas. Digamos que você está executando um servidor hub e três servidores de jogos (survival, creative, pvp). Os jogadores devem ser capazes de mudar entre eles sem perder o progresso.

BungeeCord e Velocity já lidam com a transferência de jogadores do proxy para servidores individuais, mas não compartilham dados sobre quem está online, quais itens eles estão segurando ou dados personalizados que seus plugins armazenaram. ValioBungee preenche essa lacuna. Mas usa Redis como uma camada de dados compartilhada, então todos os seus proxies podem perguntar "o jogador Bob está online?" e obter a mesma resposta, independentemente de qual proxy responde.

Os casos de uso comuns incluem:

  • Redes com múltiplos servidores hub/lobby onde os jogadores devem ver quem está online em toda a rede
  • Arquiteturas hub-and-spoke em que os jogadores se unem a um hub primeiro, depois escolhem qual servidor de jogo jogar
  • Cosméticos personalizados ou postos que devem seguir os jogadores entre servidores
  • Quadros de líderes ou estatísticas compartilhadas
  • Prevenção de logins duplicados se um jogador se conectar a múltiplos proxies simultaneamente

Você não precisa disso se está executando um servidor único ou uma pequena rede proxy. Se você está operando em larga escala ou quer que sua rede pareça um único sistema coeso em vez de servidores separados, isso se torna valioso.


Primeiros passos com ValioBungee

Primeiro, você precisará de um servidor Redis em execução. Se você não tiver um, esse é seu primeiro passo real (não faz parte do ValioBungee em si). Depois, baixe o plugin.

Baixe a versão mais recente do GitHub:

bash
wget https://github.com/ProxioDev/ValioBungee/releases/download/0.12.6/RedisBungee-Proxy-Bungee-0.12.6-all.jar

Mova para a pasta de plugins do seu BungeeCord:

bash
mv RedisBungee-Proxy-Bungee-0.12.6-all.jar /path/to/bungeecord/plugins/

Reinicie o BungeeCord. Ele gerará um arquivo de configuração com padrões. Edite config.yml (geralmente na pasta plugins/RedisBungee) para apontar para seu servidor Redis:

yaml
redis:
 host: localhost
 port: 6379

Reinicie novamente e o plugin começará a sincronizar dados de jogadores. Simples em teoria, mas há um detalhe importante que vale a pena conhecer (consulte a seção de solução de problemas abaixo).


Como funciona

ValioBungee usa um cliente Java Redis chamado Jedis para se conectar ao Redis e armazenar informações de jogadores. Quando um jogador se une, o proxy publica seus dados no Redis. Outros proxies assinam essas atualizações, então eles sabem quem está conectado em toda a rede.

Você pode consultar esses dados através da RedisBungeeAPI. Se você está desenvolvendo um plugin que precisa saber "o jogador X está online agora em toda a rede?" em vez de apenas neste servidor, é para isso que a API serve. Nos bastidores, está armazenando nomes de jogadores, UUIDs e estado de conexão. Plugins personalizados também podem armazenar seus próprios dados, razão pela qual é útil para coisas como cosméticos compartilhados ou realizações de rede.


Problemas conhecidos e características especiais

É aqui que ValioBungee fica interessante (e um pouco frustrante).

O problema de realocação da API Adventure: A versão 0.12.6 foi lançada como um hotfix especificamente porque BungeeCord e ValioBungee usavam diferentes versões da biblioteca de texto Adventure, causando conflitos. Se você está usando Adventure API em seus plugins que também usam RedisBungeeAPI, precisará recompilá-los após a atualização. É irritante, mas é um problema real com o gerenciamento de dependências Java e não é exclusivo deste projeto.

Plugins antigos esperando a API antiga: O mantenedor observa que a versão 0.13.0 (em breve) incluirá uma camada de compatibilidade para plugins escritos para o RedisBungee original. Se você está usando plugins antigos, você pode encontrar isso, mas está sendo abordado.

Conectividade do Redis: Se o Redis cair, seus proxies não podem sincronizar. Mas isso não é culpa do ValioBungee - é bom saber. Você deve monitorar sua instância do Redis separadamente.

A configuração varia de acordo com o caso de uso: Existe um wiki com instruções de configuração, mas nos detalhes estão decisões específicas do contexto sobre quais dados sincronizar e como lidar com conflitos. Não é um plugin genérico.


Comparando com alternativas

ValioBungee não é a única maneira de sincronizar dados de jogadores entre proxies. Existem soluções personalizadas, mas elas exigem trabalho de desenvolvimento e manutenção contínua. Os recursos de proxy integrados no Velocity e BungeeCord têm algum rastreamento de jogadores, mas é limitado à conscientização de rede imediata sem sincronização persistente de dados. Existem outras soluções baseadas em Redis, mas ValioBungee é mantido ativamente e tem verdadeiro peso comunitário atrás dele. Para a maioria das redes, é a escolha prática sem que você tenha que construir infraestrutura do zero.


Tornando sua rede coesa

Depois que ValioBungee está em execução, sua rede começa a parecer um sistema único. Os jogadores veem seus amigos online, as classificações os seguem entre servidores e itens personalizados não se perdem quando trocam de servidor. Essa coesão é mais importante do que você imagina.

Se você já jogou em uma rede mal conectada em que perde itens ao trocar de servidor ou sua classificação é redefinida, você sabe o quão frustrante é. ValioBungee remove esse atrito. Conforme você constrói sua rede, você pode querer procurar skins do Minecraft para encontrar cosméticos para oferecer aos seus jogadores, ou conferir a ferramenta DNS gratuita se você estiver configurando domínios personalizados para sua rede.

ProxioDev/ValioBungee - EPL-1.0, ⭐247
Sobre o autor
Alex Maftei
Alex MafteiRedator-chefe

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Have a Question or Tip about this Guide?Community Q&A

Ask a question or help other players below. Join the discussion and share your Minecraft tips!

Comentários

Nenhum comentário ainda. Seja o primeiro a compartilhar sua opinião!

Utilizamos cookies para melhorar a sua experiência. Ao continuar a usar este site, você concorda com o uso de cookies. Leia nossa Política de Privacidade