
Executando Redes de Servidores Bedrock com WaterdogPE
WaterdogPE/WaterdogPE
Novo servidor proxy para Minecraft: Bedrock Edition
Ver no GitHub ↗Se você gerencia múltiplos servidores Minecraft Bedrock, sabe como é difícil balancear a carga entre eles. Jogadores são desconectados ao mudar de instância, você roteia o tráfego manualmente, e tudo parece instável. WaterdogPE resolve isso funcionando como um proxy reverso que fica entre seus jogadores e seus servidores reais, distribuindo conexões de forma inteligente e cuidando de detalhes complicados dos quais você não deveria precisar se preocupar.
O que WaterdogPE Faz
WaterdogPE é um servidor proxy de código aberto construído especificamente para Minecraft Bedrock Edition. Em vez de jogadores se conectarem diretamente ao seu servidor, eles se conectam ao proxy, que depois os encaminha para o servidor backend correto. É semelhante a como Bungeecord funciona para Java Edition, mas foi projetado do zero para o protocolo Bedrock.
A principal diferença entre Bedrock e Java é como o protocolo funciona. Bedrock não possui o mesmo ecossistema de proxy que Java, o que significava que os operadores de servidor Bedrock estavam limitados - executando um único servidor ou usando soluções de terceiros instáveis. WaterdogPE preenche essa lacuna.
Construído usando a Cloudbursts Protocol Library, ele manipula a tradução real do protocolo e a comunicação do servidor. Você não precisa entender tudo isso - o importante é que funciona de forma confiável com os principais softwares de servidor Bedrock.
Por Que Você Usaria Isso
Há várias razões sólidas para configurar uma camada proxy. Mais obviamente, você obtém redundância. Se um servidor backend ficar inativo, o proxy pode rotear jogadores para outro. Sem desconexões repentinas, sem perda de progresso se você tiver failover configurado corretamente.
O gerenciamento de rede também fica mais limpo. Em vez de dizer à sua comunidade 'conecte-se a server123.yournetwork.com' e depois 'conecte-se a server456.yournetwork.com' dependendo de qual está cheio, todos se conectam a proxy.yournetwork.com e o sistema cuida do resto.
Balanceamento de carga é a terceira grande vantagem.
Se você está executando um servidor criativo e um servidor de sobrevivência (ou múltiplas instâncias do mesmo modo de jogo), você pode distribuir jogadores entre eles. Os jogadores se conectam a um servidor hub através do proxy, depois são roteados para o servidor apropriado com base no que estão fazendo. Isso funciona especialmente bem para redes de servidores onde você quer oferecer diferentes jogos ou diferentes experiências vanilla/modificadas.
Há também um ângulo de desenvolvimento - se você está construindo infraestrutura de servidor para uma comunidade ou até mesmo um projeto comercial, ter uma camada proxy torna o escalonamento futuro muito mais fácil. Você pode adicionar servidores sem alterar seu ponto de extremidade público.
Colocando WaterdogPE em Funcionamento
A instalação não é complicada, mas é mais envolvida do que apenas clicar em um botão. Você precisará ter Java instalado (já que WaterdogPE funciona na JVM) e uma compreensão básica de sua rede.
Baixe a versão mais recente da página de versões do GitHub. O projeto fornece um arquivo JAR compilado que você pode executar diretamente.
wget https://github.com/WaterdogPE/WaterdogPE/releases/download/latest/Waterdog.jar
java -jar Waterdog.jarA primeira execução cria um diretório de configuração e arquivos de configuração padrão. O config.yml é onde você gastará a maior parte do seu tempo - é onde você define para quais servidores backend o proxy deve encaminhar, qual IP/porta o proxy escuta e várias configurações de comportamento.
Uma configuração básica se parece com algo assim:
listeners:
default:
ip: 0.0.0.0
port: 19132
downstream_servers:
creative:
address: creative-server.local
port: 19133
survival:
address: survival-server.local
port: 19134Após configurar seus servidores, o proxy precisa ser acessível pela internet (assumindo que você queira jogadores externos). Encaminhe suas portas, configure DNS, e teste com um cliente. Há um Minecraft Votifier Tester disponível se você precisar validar que seu servidor está realmente acessível e respondendo.
A documentação do projeto cobre configurações mais avançadas - autenticação, grupos de servidores, permissões por servidor. Para a maioria das configurações, a abordagem básica é tudo que você precisa.
Recursos-Chave Que Importam
O encaminhamento de mensagens permite que servidores enviem mensagens personalizadas aos jogadores através do proxy. É assim que você implementa mensagens de expulsão, transfere jogadores entre servidores ou envia alertas em toda sua rede a partir do backend.
O tratamento de autenticação é integrado. Em vez de cada servidor validar logins separadamente, o proxy faz isso uma vez e repassa o token de autenticação. Uma coisa a menos que cada backend precisa gerenciar.
O encaminhamento da lista de jogadores mostra a contagem correta de jogadores e nomes em sua rede. Sem isso, os jogadores veem listas diferentes em cada servidor, o que quebra a imersão e parece uma falha. Com isso, todos veem o panorama da rede inteira.
Filtragem e roteamento de pacotes - é aqui que tudo fica interessante.
O proxy pode interceptar pacotes e tomar decisões sobre eles. Alguns vão diretamente para o backend, outros podem ser modificados ou descartados com base em regras que você define. É assim que você implementa mecânicas de jogo personalizadas ou recursos de segurança em nível de rede.
O projeto também suporta plugins. Se você precisar de comportamentos além do que o núcleo fornece, você pode escrever plugins usando a WaterdogPE API. Já existe um ecossistema de plugins crescendo ao redor dele - verifique a página oficial de plugins se você precisar de algo específico.
Armadilhas de Configuração e Solução de Problemas
Compatibilidade de software é a primeira que as pessoas enfrentam. WaterdogPE suporta oficialmente os principais softwares de servidor Bedrock - PocketMine-MP, Nukkit e projetos semelhantes. Se você estiver usando algo obscuro ou um fork customizado, pode enfrentar problemas de protocolo. Sempre verifique a lista de compatibilidade antes de investir tempo na configuração.
Regras de firewall costumam causar problemas.
O proxy precisa escutar uma porta (padrão 19132) que esteja aberta para a internet, E precisa ser capaz de alcançar seus servidores backend. Se seus servidores backend estão atrás de um firewall que bloqueia as conexões internas do proxy, tudo falha silenciosamente. Teste isso antes de assumir que algo mais está errado.
Erros de sintaxe de configuração falham silenciosamente. O proxy iniciará, mas não encaminhará nada. Leia os logs com atenção se os jogadores não conseguirem se conectar.
Autenticação é outro ponto comum de falha. Se seus servidores backend exigem autenticação no modo online, mas seu proxy não está configurado para lidar com isso corretamente, os logins falham misteriosamente. A documentação cobre isso, mas é fácil perder.
Pacotes de recursos merecem menção. Se você estiver distribuindo pacotes de recursos aos jogadores, você precisa decidir se o proxy ou os servidores individuais cuidam disso. Configurar isso incorretamente faz com que os jogadores obtenham pacotes diferentes em servidores diferentes, o que quebra a consistência de texturas.
Em termos de desempenho, WaterdogPE é eficiente, mas se você estiver executando-o no mesmo hardware que seus servidores backend, a contenção de recursos se torna um problema. Honestamente, considere executar o proxy em hardware separado se você está em grande escala, especialmente se estiver movendo centenas de jogadores por minuto entre servidores.
Alternativas Úteis para Conhecer
Se WaterdogPE não é exatamente certo para sua situação, existem opções. Geyser é tecnicamente um proxy também, mas foi projetado especificamente para jogabilidade entre plataformas - jogadores Java e Bedrock no mesmo servidor. Ferramenta diferente para um problema diferente.
Para Java Edition, Bungeecord e Velocity são as soluções estabelecidas com comunidades massivas. Elas não são compatíveis com Bedrock, mas se você considerar redes de plataforma mista no futuro, saber que existem ajuda no planejamento.
Há também a opção de simplesmente não usar um proxy e ficar com um único grande servidor Bedrock. Para comunidades com menos de algumas centenas de jogadores simultâneos, uma única instância bem ajustada pode ser mais simples do que a complexidade do proxy. Adicione infraestrutura apenas quando precisar.
Uma Última Reflexão
WaterdogPE representa o ecossistema Bedrock finalmente conseguindo as ferramentas de infraestrutura de que sempre precisava. A comunidade Bedrock é menor que Java, mas está crescendo, e ter ferramentas adequadas de gerenciamento de rede muda o que é possível.
Se você está executando servidores Bedrock em qualquer escala razoável, dedicar uma hora para entender o que ele faz provavelmente vale seu tempo. O pior cenário é você não precisar disso ainda - mas saber que a opção existe significa que você não ficará preso gerenciando a complexidade da rede manualmente quando crescer além de um único servidor.
O processo de configuração leva algumas horas para a maioria das pessoas, incluindo depuração. Nada ruim para desbloquear uma categoria inteira de recursos de infraestrutura.
WaterdogPE/WaterdogPE - GPL-2.0, ⭐323Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Comentários
Nenhum comentário ainda. Seja o primeiro a compartilhar sua opinião!


