Minecraft appears to be mishandling IPv6 literals in certain cases. I think something is parsing the address and misinterpreting the colons during load of a saved server config on program launch. Steps to reproduce:
- create a new server, name it something, populate an IPv6 literal address in the address field (e.g. 2001:178:8::1) and update the port to 19133.
- click save. Server is saved successfully
- connect to server via the populated IPv6 address, this works fine.
- Exit from minecraft.
- reopen minecraft and attempt to connect to server.
- get told the address is invalid.
- click edit on the saved server, and you will see that the previously entered address has been truncated at the first colon, so that the address is now just 2001, and the next hextet has somehow moved to the port field, so address is now "2001" and port is now "178" which is invalid, and the rest of the address is just missing, as well as the port being incorrect.
I tried putting brackets around the address since this is how we escape/identify IPv6 literals in other programs that care about colon placement, e.g. [2001:178:8::1] but Minecraft does not see this as a valid address and will not allow you to save it, so currently you have to edit the saved server every time you launch minecraft in order to connect to a server with an IPv6 literal address instead of a name.