Colocar dois Servidores Minecraft Bedrock discoverable em LAN

<LLM augmented>

O Problema

Recentemente, enfrentei um desafio interessante: executar dois servidores Minecraft Bedrock na mesma máquina, ambos visíveis para descoberta na LAN. O problema? O Minecraft Bedrock usa broadcast UDP na porta 19132 para descoberta, e apenas um servidor pode escutar numa porta de cada vez.

Tentativa Inicial: iptables

A primeira abordagem foi usar iptables com o target TEE:

iptables -t mangle -A PREROUTING -p udp –dport 19132 -j TEE –gateway 127.0.0.1 iptables -t nat -A PREROUTING -p udp –dport 19132 -j REDIRECT –to-port 19142

No entanto, esta solução falhou porque o TEE não lida bem com tráfego broadcast UDP. O tráfego broadcast tem características especiais que tornam o redirecionamento para localhost problemático.

A Solução: socat

A solução elegante veio com o socat, uma ferramenta versátil para relay de sockets. Eis como configurá-lo:

#!/bin/bash
socat UDP4-RECVFROM:19132,broadcast,reuseaddr,fork UDP4-SENDTO:127.0.0.1:19142 &
socat UDP4-RECVFROM:19132,broadcast,reuseaddr,fork UDP4-SENDTO:127.0.0.1:19152 &

Vamos analisar os parâmetros:

  • UDP4-RECVFROM:19132: Escuta pacotes UDP na porta 19132
  • broadcast: Permite receber pacotes broadcast
  • reuseaddr: Permite múltiplas instâncias escutando a mesma porta
  • fork: Cria um novo processo para cada conexão
  • UDP4-SENDTO:127.0.0.1:PORT: Redireciona para as portas dos servidores

Conclusão

O socat provou ser uma solução mais limpa e eficaz que o iptables para este caso específico. A configuração é mais simples de entender e manter, e funciona perfeitamente com tráfego broadcast UDP.

Nota sobre LLMs e Contaminação de Dados

É importante notar que este texto foi gerado por um LLM. Ao identificar claramente conteúdo gerado por IA, ajudamos a prevenir um problema conhecido como “contaminação de dados” ou “poluição do conjunto de treino”. Isto ocorre quando conteúdo gerado por IA é inadvertidamente incluído nos dados de treino de futuros modelos, potencialmente criando um ciclo de feedback que pode degradar a qualidade dos modelos futuros.


<LLM augmented>

Esta entrada foi publicada em LLM augmented com as tags , , , , . ligação permanente.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *