What Minecraft Server type and version are you using?
Paper 1.21.8 running on Android via termux
When running the playit plugin on android via termux, the plugin fails to connect to playit servers with UnsupportedAddressTypeException. The error occurs when attempting to send packets to ipv6 addresses, which are not supported in termux's networking environment. Older versions of the plugin (pre-0.2.0) worked without issues
To Reproduce
- Install termux on an android device
- Set up a minecraft server in termux
- Install the playit plugin 0.2.0
- Configure the plugin with a valid secret key
Expected behavior
The plugin should successfully connect to playit servers and establish a tunnel
Logs
[19:20:46 INFO]: [playit-gg] Enabling playit-gg v0.2.0
[19:20:46 INFO]: [gg.playit.minecraft.PlayitKeysSetup] secret key found, checking
[19:20:46 INFO]: [gg.playit.minecraft.PlayitKeysSetup] check secret
[19:20:47 INFO]: [gg.playit.minecraft.PlayitKeysSetup] secret verified, ready to connect
[19:20:47 INFO]: [gg.playit.minecraft.PlayitManager] keys setup complete, ready to connect
[19:20:47 INFO]: [gg.playit.minecraft.PlayitManager] failed to connect, retrying
[19:20:47 WARN]: Exception in thread "Thread-8" java.nio.channels.UnsupportedAddressTypeException
[19:20:47 WARN]: at java.base/sun.nio.ch.Net.checkAddress(Net.java:159)
[19:20:47 WARN]: at java.base/sun.nio.ch.DatagramChannelImpl.send(DatagramChannelImpl.java:850)
[19:20:47 WARN]: at java.base/sun.nio.ch.DatagramChannelImpl.blockingSend(DatagramChannelImpl.java:952)
[19:20:47 WARN]: at java.base/sun.nio.ch.DatagramSocketAdaptor.send(DatagramSocketAdaptor.java:193)
[19:20:47 WARN]: at java.base/java.net.DatagramSocket.send(DatagramSocket.java:662)
[19:20:47 WARN]: at playit-minecraft-plugin.jar//gg.playit.control.ChannelSetup$FindSuitableChannel.findChannel(ChannelSetup.java:107)
[19:20:47 WARN]: at playit-minecraft-plugin.jar//gg.playit.control.PlayitControlChannel.setup(PlayitControlChannel.java:48)
[19:20:47 WARN]: at playit-minecraft-plugin.jar//gg.playit.minecraft.PlayitManager.run(PlayitManager.java:200)
[19:20:47 WARN]: at java.base/java.lang.Thread.run(Thread.java:1583)
[19:20:50 INFO]: [gg.playit.minecraft.PlayitPipelineInjector] injected playit header decoder into server channel: [id: 0xc06ac8f1, L:/0.0.0.0:25565]
[19:20:50 INFO]: [gg.playit.minecraft.PlayitBukkit] playit header decoder injected into server pipeline
Additional context
The plugin attempts ipv6 connections first, followed by ipv4. On termux, ipv6 sockets are not supported due to android's networking limits, causing UnsupportedAddressTypeException before ever reaching ipv4 addresses
I manually patched gg/playit/control/ChannelSetup.java here to use ipv4 addresses if ipv6 isn't available, and after this change the plugin connects successfully using ipv4 and I can join and play the game
What Minecraft Server type and version are you using?
Paper 1.21.8 running on Android via termux
When running the playit plugin on android via termux, the plugin fails to connect to playit servers with UnsupportedAddressTypeException. The error occurs when attempting to send packets to ipv6 addresses, which are not supported in termux's networking environment. Older versions of the plugin (pre-0.2.0) worked without issues
To Reproduce
Expected behavior
The plugin should successfully connect to playit servers and establish a tunnel
Logs
Additional context
The plugin attempts ipv6 connections first, followed by ipv4. On termux, ipv6 sockets are not supported due to android's networking limits, causing UnsupportedAddressTypeException before ever reaching ipv4 addresses
I manually patched
gg/playit/control/ChannelSetup.javahere to use ipv4 addresses if ipv6 isn't available, and after this change the plugin connects successfully using ipv4 and I can join and play the game