turikhay/MapModCompanion

Forge VoxelMap (1.13.2 - 1.16.3) doesn't recognize worlds

Closed this issue · 1 comments

Explanation and fix

VoxelMap on Forge 1.13.2 - 1.16.4 sends ambiguous request packet.
By default, we send a standard response, which is supported by later versions of VoxelMap, but in this case the mod expects different response.
If you use older VoxelMap versions, please install ProtocolLib alongside MapModCompanion in your Bukkit/Spigot/Paper server.

Original issue

Fabric versions work fine

Confirmed Minecraft versions:

  • 1.13.2
  • 1.14.4
  • 1.15.2
  • 1.16.1
  • 1.16.2
  • 1.16.3
Client
[19:11:06.835] [Client thread/INFO] [STDERR/]: [com.mamiyaotaru.voxelmap.forgemod.WorldIDPacket:decode:45]: Failed to read message: java.lang.IndexOutOfBoundsException: readerIndex(2) + length(42) exceeds writerIndex(7): PooledUnsafeDirectByteBuf(ridx: 2, widx: 7, cap: 7)
Server
tests_e2e-proxy-1          | [19:11:06 INFO] [MapModCompanion - worldinfo:world_id]: [worldinfo:world_id] Data sent from turikhay to net.md_5.bungee.ServerConnection@3fb9ef3b (channel worldinfo:world_id):
tests_e2e-proxy-1          | [19:11:06 INFO] [MapModCompanion - worldinfo:world_id]: [worldinfo:world_id] Data (0): [0, 42, 0]
tests_e2e-server-1         | [19:11:06 INFO]: [MapModCompanion - worldinfo:world_id] Sending world_id packet to turikhay: [0, 42, 4, 49, 51, 51, 55]
tests_e2e-proxy-1          | [19:11:06 INFO] [MapModCompanion - worldinfo:world_id]: [worldinfo:world_id] Data sent from net.md_5.bungee.ServerConnection@3fb9ef3b to turikhay (channel worldinfo:world_id):
tests_e2e-proxy-1          | [19:11:06 INFO] [MapModCompanion - worldinfo:world_id]: [worldinfo:world_id] Data (0): [0, 42, 4, 49, 51, 51, 55]
tests_e2e-proxy-1          | [19:11:06 INFO] [MapModCompanion - worldinfo:world_id]: [worldinfo:world_id] Intercepting world_id packet sent to turikhay (channel worldinfo:world_id): PrefixedId{prefixLength=1, id=1337} -> PrefixedId{prefixLength=1, id=1337}

Some time ago I've assembled this to better visualize packet structure of different mods. Thick borders mark the case in which we need to know the client's protocol version.

Download .odt