
Raknetify: Corrigindo Lag do Minecraft em Conexões Instáveis
raknetify (RelativityMC/raknetify)
Um mod Fabric / plugin Velocity / plugin BungeeCord que usa RakNet para melhorar significativamente a experiência multijogador em conexões instáveis e com taxa limitada.
Conectado em um servidor Minecraft com ping que varia entre 150ms e 2000ms em sua internet residencial, ou preso em um hotspot móvel limitado? Raknetify resolve exatamente esse problema substituindo a conexão TCP padrão do Minecraft pelo protocolo multi-canal do RakNet, que prioriza pacotes críticos do jogo e reexecuta falhas de forma inteligente. Se você estiver em uma conexão boa, não notará muita diferença. Se não estiver, isso pode realmente mudar se o jogo se sente jogável.
O Que Este Projeto Faz
Raknetify não é uma varinha mágica que elimina lag. O que ele faz é reorganizar como o Minecraft envia e recebe dados para que problemas de qualidade de conexão o prejudiquem menos. Minecraft normalmente envia tudo por um único fluxo TCP. Isso significa que um pacote perdido pode causar uma cascata de atrasos enquanto o cliente e servidor se ressincronizam. RakNet, a biblioteca de rede que alimenta o Minecraft Bedrock e muitos outros jogos, usa múltiplos canais de prioridade. Pacotes críticos como atualizações de posição do jogador recebem seu próprio caminho, enquanto coisas menos urgentes (como a animação de um jogador distante) podem esperar.
O resultado é latência percebida mais baixa e menos congelamentos de quadros, especialmente notável quando você está em uma conexão residencial que é limitada ou em qualquer lugar com perda significativa de pacotes. Você também pode prefixar seu endereço do servidor com `raknet;` (ou `raknetl;` para uma configuração de MTU diferente) e conectar diretamente, o que é surpreendentemente simples. As versões de mod e plugin existem, então se você estiver executando um proxy baseado em baunilha como Velocity ou BungeeCord, ou um servidor Fabric, você tem opções.
Quando Você Precisaria Disso
Honestamente, a maioria dos jogadores em internet residencial estável com um ISP decente não verá melhorias dramáticas. Você instalaria Raknetify se se encaixasse em um desses grupos:
- Você joga por hotspot móvel. Dados celulares são inerentemente instáveis, com perda de pacotes disparando durante uso intenso. A lógica de reexecução do Raknetify lida com isso muito melhor que TCP padrão.
- Seu ISP o limita. Algumas redes residenciais têm limites de taxa por conexão ou por IP que fazem o multijogador gaguear. A priorização de multi-canal ajuda aqui.
- Você está executando um servidor geograficamente distante. Alto ping absoluto é ruim, mas se for estável, o Minecraft padrão lida bem. Mas se essa conexão de alto ping também for com perda (satélite, cabos submarinos, saltos intercontinentais), Raknetify reduz atrasos de retransmissão.
- Você executa um proxy como Velocity ou BungeeCord e quer suportar jogadores em conexões ruins. Instalá-lo no lado do servidor significa que toda sua base de jogadores se beneficia sem precisar modificar seus clientes (embora a instalação no lado do cliente seja mais eficaz).
E se você estiver em uma região com infraestrutura de internet genuinamente ruim, vale a pena tentar. A sobrecarga é mínima e, como é uma substituição imediata, pior caso você apenas a remove se não ajudar.
Instalação e Configuração
O processo de instalação é simples, mas há alguns pré-requisitos que você deve conhecer com antecedência.
Antes de começar: Raknetify requer Minecraft 1.17.1 ou mais recente (então a maioria das versões modernas, embora servidores 1.16 antigos não funcionem). E aqui está a parte não óbvia: seu servidor precisa de uma porta UDP aberta no mesmo número de porta que sua porta normal do servidor. Se seu servidor funciona na porta 25565, você também precisa de UDP 25565 aberto. Verifique suas regras de firewall e encaminhamento de porta antes de instalar.
Para servidores Fabric: Pegue a versão mais recente do Modrinth ou GitHub. Coloque na sua pasta de mods na máquina do servidor e do cliente. Reinicie o servidor e cliente, depois conecte prefixando o endereço do seu servidor: `raknet;mc.example.com` em vez de apenas `mc.example.com`. Pronto.
# Exemplo: conectando a um servidor Fabric com Raknetify
# No menu multijogador do Minecraft, adicione servidor:
# Nome: Meu Servidor
# Endereço: raknet;mc.example.com
# Porta: (deixe em branco, padrão é 25565)
Para proxies Velocity ou BungeeCord: Baixe a versão do plugin (disponível no SpigotMC para BungeeCord, Modrinth para Velocity). Instale na sua pasta de plugins, reinicie o proxy e pronto. Clientes conectando através do seu proxy se beneficiarão automaticamente. Instale também no lado do cliente para melhores resultados.
Se você quiser tentar builds de desenvolvimento antes de um lançamento estável, o servidor de IC CodeMC os hospeda. Isso é útil se um bug foi relatado e corrigido mas não lançado oficialmente ainda.
Como Funciona o Sistema Multi-Canal
O segredo é os canais priorizados do RakNet. Em vez de uma conexão TCP carregando todo o tráfego, Raknetify cria múltiplos canais virtuais com prioridades diferentes. Sua posição, rotação e interações de blocos do jogador recebem alta prioridade. Efeitos de partículas, animações de mobs distantes e mensagens de bate-papo recebem prioridade menor. Quando há perda de pacotes em uma conexão com perdas, o material de baixa prioridade é descartado, não suas atualizações de movimento.
Por exemplo: você está em um hotspot móvel instável e um chunk começa a carregar no exato momento em que 20 outros jogadores se teleportam perto de você. O Minecraft padrão poderia enfileirar todas essas mensagens e congelar sua visualização por meio segundo enquanto TCP tenta retransmitir pacotes perdidos em ordem. Raknetify descartaria alguns efeitos de partículas e animações de jogadores distantes, mas manteria seu movimento suave porque esse tráfego é segregado em um canal de prioridade mais alta.
Há também uma variante de MTU (unidade máxima de transmissão). Se você estiver em uma rede com fragmentação agressiva de pacotes, usar `raknetl;` em vez de `raknet;` define um MTU maior, o que pode reduzir sobrecarga em alguns casos. O README não aprofunda quando usar qual, então é principalmente tentativa e erro se você estiver tendo problemas.
Suporte a ViaVersion (Conexões Entre Versões)
Raknetify funciona ao lado de ViaVersion se você estiver executando um proxy que suporte versões de cliente mais antigas ou mais novas. Se você estiver proxying um servidor 1.20.1 mas quiser que clientes 1.21 se conectem, ViaVersion traduz o protocolo. Raknetify funciona bem nessa configuração. Apenas instale ambos e pronto.
Uma ressalva porém: se você estiver executando Raknetify em um proxy (Velocity/BungeeCord) e uma versão de cliente não suportada se conectar (digamos, um cliente 1.8 antigo em um servidor 1.21), Raknetify pode falhar ao inicializar o modo multi-canal. Você retrocederia para TCP padrão, o que anula o propósito. Isso é observado no README mas fácil de perder. Se seu proxy atende muitas versões legadas, teste esse cenário primeiro.
Pegadinhas e O Que Causa Confusão
A maioria dos problemas com Raknetify vem de pré-requisitos faltantes, não do mod em si.
- Porta UDP não aberta. Esse é o mais comum. Se os clientes não conseguem alcançar sua porta UDP, Raknetify recua para TCP silenciosamente e você não saberá que algo deu errado. Verifique seu firewall e encaminhamento de porta. Use o Verificador de Status do Servidor Minecraft para verificar se seu servidor é alcançável, então teste manualmente a conectividade UDP se possível.
- Incompatibilidades de versão. Raknetify requer 1.17.1+. Se você estiver na 1.16, não funcionará. E cliente e servidor devem estar na mesma versão ou versões similares do Minecraft, ou ViaVersion precisa estar tratando a tradução.
- Confusão na versão do proxy. A versão BungeeCord e a versão Velocity são builds diferentes. Baixe a certa para seu tipo de proxy.
- Esperança falsa em conexões já estáveis. Se sua conexão já é boa (ping baixo, sem perda de pacotes), Raknetify não tornará as coisas mais rápidas. Você pode até ver uma pequena sobrecarga. Instale apenas se você realmente tiver conexões instáveis para testar.
Em termos de desempenho, a sobrecarga é mínima. Você está trocando um pouco de CPU por melhor priorização de pacotes, o que é quase sempre vale a pena.
Projetos Similares e Alternativas
Alguns outros projetos abordam problemas relacionados, embora nenhum faça exatamente o que Raknetify faz:
- Geyser. Conecta Bedrock e Java Edition. Também usa RakNet para clientes Bedrock, mas está resolvendo um problema diferente (jogo multiplataforma) em vez de confiabilidade de conexão por se.
- Otimizações no lado do proxy. Algumas configurações de proxy como as configurações de compressão do Velocity podem ajudar, mas não reorganizam como os pacotes são priorizados da forma que Raknetify faz.
- Software de servidor customizado. Alguns forks do Spigot afirmam otimizar rede, mas a maioria não é mantida ou está desatualizada. Raknetify é ativamente desenvolvido e tem uma abordagem limpa e modular.
Se você estiver executando um servidor público grande e quiser extrair cada bit de desempenho de conexões instáveis, você poderia empilhar Raknetify com outras otimizações. Mas para a maioria das pessoas, Raknetify sozinho faz o trabalho.
Então você deve instalar? Se você estiver em internet estável, provavelmente não. Se você está preso com uma conexão instável e quer ver se ajuda, leva cinco minutos e custa nada. E se você executar um servidor proxy que atenda jogadores globalmente ou em áreas com infraestrutura ruim, vale a pena ter em seu kit de ferramentas. O código é limpo, é mantido ativamente e a comunidade ao seu redor parece responsiva a problemas.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Perguntas Frequentes
Quem se beneficia mais do Raknetify?
Como o Raknetify funciona?
Preciso alterar muito para instalar o Raknetify?
Comentários
Nenhum comentário ainda. Seja o primeiro a compartilhar sua opinião!


