então estou usando o MineOS, um turnkey com node.js webUI pré-instalado para implantar Minecraftservers. Agora eu quero que o servidor seja acessível via IPv6, porque isso é tudo que recebo do meu ISP. Mas minha instância de servidor só escuta em IPv4. Como posso obter o servidor java minecraft para escutar no IPv6?
Alguma saída netstat -ntlp, que é sempre a mesma, independentemente do meu server.properties no minecraft:
root@MinecraftServer /etc/default# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 493/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1194/master
tcp 0 0 0.0.0.0:25565 0.0.0.0:* LISTEN 1446/java
tcp 0 0 127.0.0.1:12319 0.0.0.0:* LISTEN 590/shellinaboxd
tcp 0 0 0.0.0.0:12320 0.0.0.0:* LISTEN 598/stunnel4
tcp 0 0 0.0.0.0:12321 0.0.0.0:* LISTEN 598/stunnel4
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 978/mysqld
tcp6 0 0 :::22 :::* LISTEN 493/sshd
tcp6 0 0 :::8443 :::* LISTEN 1026/node
Eu também tentei usar o -Djava.net.preferIPv6Adresses=true e -Djava.net.preferIPv6Stack=true. Não muda nem um pouco. Alterei o valor de /proc/sys/net/ipv6/bindv6only para 1.
Aqui meu ip6tables -L:
root@MinecraftServer /etc/default# ip6tables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp anywhere anywhere tcp dpt:25565
ACCEPT tcp anywhere anywhere tcp dpt:25566
ACCEPT tcp anywhere anywhere tcp dpt:8443
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Consigo acessar um servidor em uma máquina Windows pela Internet via IPv6! Também consigo acessar a webUI por IPv6 na máquina pronta para uso.
O que mais estou perdendo? Toda ajuda apreciada!
SOLUÇÃO:
A modificação forge para minecraft set java.net.preferIPv4Stack=true até a versão 1.12.2-14.23.1.2555, que arruína todas as tentativas de IPv6. Por esse motivo, estou usando o 6tunnel agora, que cria um encaminhamento de porta do IPv6 para o IPv4. Ainda não estou acessível de fora no minecraftserver, mas o IPv6 está funcionando.
Acho que você errou os nomes das propriedades. De acordo com
Os nomes das propriedades são:
java.net.preferIPv4Stack
- nota:IPv4
nãoIPv6
java.net.preferIPv6Addresses
- nota: doisd
caracteres não um.Você também precisa verificar se não foi afetado por este bug: https://bugs.mojang.com/browse/MC-3776
O culpado foi a modificação do forge que usei no minecraft. Até a versão 1.12.2-14.23.1.2555, ele define java.net.preferIPv4Stack=true. 6tunnel é uma solução alternativa, que encaminha uma porta de IPv6 para IPv4.