"ResidenceBridge - Plug-in de Ponte de Residência Multi-Servidor, Compartilhe dados de reclamação de residência de forma transparente em redes multi-servidores Velocity / BungeeCord"
TypeThe0ry/ResidenceBridge github.com
Executar uma rede do Minecraft em vários servidores significa gerenciar reclamações de residência separadas em cada um - até agora. ResidenceBridge sincroniza dados de residência em toda a sua rede Velocity ou BungeeCord, permitindo que os jogadores construam uma vez e reclamem globalmente. Sem mais reconstruir edifícios ou lidar com permissões por servidor.
O que o ResidenceBridge Faz
ResidenceBridge é um plug-in de ponte escrito em Kotlin que se situa entre o plug-in Residence e sua configuração multi-servidor. Foi projetado especificamente para redes que executam Velocity ou BungeeCord como camada de proxy, e resolve um problema irritante: as reclamações de residência são locais a cada servidor por padrão.
Pense sobre isso. Seu SMP tem um servidor de sobrevivência, um servidor criativo e um servidor de construção. Um jogador constrói uma base no servidor de sobrevivência, configura sua reclamação de residência, então muda para o servidor de construção para projetar algo. Essa reclamação? Não existe lá. Eles precisam configurar uma nova. ResidenceBridge resolve isso mantendo todos os dados de residência em um banco de dados MySQL central e sincronizando em todos os servidores da rede.
Os jogadores agora podem se teletransportar entre servidores enquanto permanecem em sua própria residência. Comandos como /res tp não apenas enviam o jogador para outro servidor - na verdade, movem o jogador e, em seguida, o teletransportam para a residência de destino naquele servidor. Tudo é automático.
Por que Você Querria Isso para Sua Rede
A maioria dos pequenos servidores SMP não precisa disso. Mundos de sobrevivência de servidor único funcionam bem com o Residence vânilla.
Mas o momento em que você expande para vários servidores - seja um mundo de sobrevivência, parcelas criativas, instâncias skyblock ou servidores de eventos - esse plug-in compensa rapidamente. Aqui é onde brilha:
- A retenção de jogadores melhora. Construir um lar no Servidor A, então trocar para o Servidor B para jogar mini-jogos, então de volta ao Servidor A? Tudo parece conectado quando sua residência vai com você. Nenhuma desorientação, nenhum "onde está minha base?"
- O trabalho do administrador diminui. Você não está arbitragem disputas sobre quem possui qual reclamação em qual servidor. Tudo é global e permanente.
- A consistência das permissões importa. ResidenceBridge se integra ao LuckPerms, então você pode definir limites de residência por ranque de jogador. Jogadores VIP recebem 5 residências em toda a rede, regulares recebem 2, membros recebem 1. É configurável e funciona.
- A autocompleção de tab funciona entre servidores. Quando um jogador digita
/res tp, ele vê uma lista de nomes de residência de todos os servidores que ele pode acessar, não apenas o atual.
Redes com 50+ jogadores regulares beneficiam-se notavelmente dessa redução de atrito.
Instalando-o
ResidenceBridge é enviado como dois arquivos jar separados: um para seus sub-servidores (Paper, Spigot ou Folia 1.16+) e um para Velocity. Você precisa instalá-lo em ambos os locais.
Primeiro, baixe ambos os jars da última versão no GitHub. A versão atual é 1.2.3, e ambos os artefatos devem vir da mesma tag de versão para evitar problemas de compatibilidade.
No cada sub-servidor, deixe o jar do lado do servidor na pasta plugins/. Faça o mesmo com o jar do Velocity no seu proxy. Inicie cada servidor uma vez para gerar o arquivo de configuração, então desligue-os.
Aqui é onde a configuração real acontece. Abra plugins/ResidenceBridge/config.yml em cada sub-servidor e preencha os detalhes da conexão MySQL:
server-id: "survival-1"
mysql:
host: "127.0.0.1"
port: 3306
database: "minecraft"
username: "root"
password: "password"
maximum-pool-size: 10
Verifique se o server-id coincide com o nome do servidor no velocity.toml. Se Velocity tiver s2 = "127.0.0.1:25567", defina server-id: "s2" naquele sub-servidor. Precisa ser exato.
Reinicie todos os servidores (ou execute /rb reload do console). Uma vez que eles estejam funcionando, execute rb sync do console de cada sub-servidor para indexar quaisquer dados existentes do Residence no banco de dados central.
Uma coisa mais: mantenha a configuração velocity.channel no padrão residencebridge:main. O plug-in ouve esse canal para comunicação do proxy, e alterá-lo quebra a ponte. Na verdade, devo notar - essa é uma daquelas configurações que você não toca a menos que saiba exatamente o que está fazendo.
Recursos que Mudam Como Sua Rede Funciona
Uma vez em execução, várias coisas se tornam possíveis que não eram antes.
Nomes de residência e limites globais. Cada residência recebe um nome único em toda a sua rede. Seu jogador não pode ter duas bases ambas nomeadas "MinhaCasa" - Você poderia estar no servidor de sobrevivência, um no criativo, mas o sistema impõe unicidade. Renomeie uma residência e o novo nome é reservado em todos os lugares. Você também pode definir limites de residência por permissão, então jogadores VIP podem ter 10 reclamações enquanto membros têm 3, e isso é contado em toda a rede em vez de por servidor.
Teletransporte e autocompleção entre servidores. Quando um jogador digita /res tp, ele vê todas as residências que ele tem acesso, em todos os servidores. Escolha uma, e ele é teletransportado para aquele servidor, então largado na residência. O sistema lida com o switch de servidor e o teletransporte final automaticamente.
/res list global que realmente mostra tudo. Em vez de mostrar apenas residências no servidor atual, /res list agora mostra todas as residências possuídas por aquele jogador em toda a rede. Administradores podem executar /res list <jogador> para auditar quaisquer reclamações de qualquer usuário em qualquer lugar. Se você precisa gerenciar terras possuídas por jogadores, essa visibilidade é enorme.
Ações comuns como /res rename, /res give, e /res remove funcionam entre servidores. O plug-in detecta qual servidor possui a residência e muda o jogador para lá para executar o comando.
Mensagens personalizadas com suporte total de cor. ResidenceBridge permite personalizar mensagens de anúncio com códigos de cor legado e até códigos hex de RGB. Você pode fazer que as notificações de residência se destacem com estilização personalizada. Se você estiver projetando essas mensagens coloridas, nossa Ferramenta de Gerador de Texto do Minecraft pode ajudá-lo a formatá-las rapidamente com as cores exatas que você deseja.
Integração com PlaceholderAPI está incluída, então se você executar serviços que precisam exibir tamanho de residência ou listas, você tem placeholders como %reslink_ressize% e %reslink_reslist_1% para trabalhar. Útil para placares ou plug-ins personalizados que leem esses valores.
Falhas e Pitfals na Configuração
A maioria dos problemas vem de configuração mal correspondida ou problemas de conexão com MySQL.
Se os jogadores não conseguem se teletransportar entre servidores, verifique se os valores server-id coincidem com a configuração do Velocity exatamente. Um erro de digitação ali silenciosamente quebra a ponte.
Conectividade com MySQL é outro. Verifique se cada sub-servidor pode atingir seu banco de dados e que todos estão usando as mesmas credenciais. Olhe, se um servidor estiver em uma rede diferente ou atrás de um firewall, não sincronizará. Teste a conexão manualmente se estiver incerto.
O temporizador de espera para teletransporte padrão é de 3 segundos e é totalmente configurável. Alguns administradores desativam, outros aumentam. Se os jogadores reclamarem de lag de teletransporte, verifique se você tem o temporizador de espera configurado muito alto ou se a anulação de movimento é muito agressiva. Você pode configurar tempos de espera diferentes por grupo de permissão, o que é bom para servidores híbridos onde o staff deve teletransportar instantaneamente enquanto jogadores regulares esperam um pouco.
Uma coisa que notei enquanto pesquisava configurações de plug-ins: alguns administradores esquecem de executar o comando inicial rb sync, então se perguntam por que as antigas residências não aparecem na lista global. Esse comando é importante. Execute uma vez durante a configuração e está feito.
Quando explorar suas bases e áreas reclamadas entre servidores, você pode querer procurar por recursos ou blocos específicos primeiro. Nossa Ferramenta de Busca de Blocos do Minecraft ajuda você a identificar rapidamente onde blocos específicos estão localizados em seus mundos, para que você possa planejar sua estratégia de exploração.
Se Vale a Pena ou Não
Se você estiver executando um servidor único, não. Adhere ao plug-in Residence padrão.
Se você estiver executando 2-3 servidores e planeja ficar assim, é provavelmente excessivo a menos que as reclamações sejam um grande ponto de dores para seus jogadores. Mas se você estiver construindo uma rede com planos de crescer, esse plug-in salva enormes dores de cabeça no futuro. As 102 estrelas no GitHub sugerem que é bem visto na comunidade de redes, e a licença MIT significa que não há drama de licenciamento - você pode bifurcar ou modificar se precisar.
Ele também é ativamente mantido.
Configurá-lo leva talvez uma hora uma vez que você tenha seu servidor MySQL pronto. Esse é um custo de uma vez para remover toneladas de gerenciamento de reclamações por servidor para sempre. Se você é sério sobre uma rede multi-servidor, o esforço compensa.
TypeThe0ry/ResidenceBridge - MIT, ★102


