VivecraftMod icon indicating copy to clipboard operation
VivecraftMod copied to clipboard

Conflict Between Vivecraft and Carpet Mod

Open Arimodu opened this issue 10 months ago • 1 comments

Description

When using Vivecraft alongside the Carpet mod, players are unable to join the server. During the login process, the server throws a ClassCastException related to encoding a clientbound/minecraft:custom_payload packet. This results in the player being immediately disconnected with an Internal Exception.

Steps to Reproduce

  1. Install Vivecraft and the Carpet mod on the same server.
  2. Attempt to join the server.
  3. You will be kicked off regardless of if you have vivecraft installed on the client or not.

Expected Behavior

Players should be able to join and play on the server without being disconnected due to a packet encoding error.

Actual Behavior

Players are kicked off during the login process. The server logs show an error related to encoding a clientbound/minecraft:custom_payload packet.

Environment

  • Minecraft Version: 1.21.4
  • Vivecraft Version: 1.21.4-1.2.5
  • Carpet Mod Version: 1.4.161+v241203
  • Fabric Loader Version: 0.16.9
  • Java Version: 21
  • Operating System: Debian Bookworm

Full Stacktrace

Mar 11 10:58:17 Ares java[85705]: [10:58:17] [User Authenticator #3/INFO]: UUID of player *redacted* is *redacted* 
Mar 11 10:58:18 Ares java[85705]: [10:58:18] [Server thread/INFO]: *redacted*[/*redacted*:49480] logged in with entity id 60 at (1385.9012609256174, 68.0, 2785.1144013010967)
Mar 11 10:58:18 Ares java[85705]: [10:58:18] [Server thread/INFO]: Player [*redacted*] joined.
Mar 11 10:58:18 Ares java[85705]: [10:58:18] [Server thread/INFO]: *redacted* joined the game
Mar 11 10:58:18 Ares java[85705]: [10:58:18] [Netty Epoll Server Play IO #2/ERROR]: Error sending packet clientbound/minecraft:custom_payload
Mar 11 10:58:18 Ares java[85705]: io.netty.handler.codec.EncoderException: Failed to encode packet 'clientbound/minecraft:custom_payload' (carpet:hello)
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_9136.handler$bia000$fabric-networking-api-v1$encode(class_9136.java:547) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_9136.method_56426(class_9136.java:55) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_9136.encode(class_9136.java:14) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_2545.method_10838(class_2545.java:26) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_2545.encode(class_2545.java:12) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) ~[netty-codec-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:893) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113) ~[netty-codec-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:893) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.ChannelOutboundHandlerAdapter.write(ChannelOutboundHandlerAdapter.java:113) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_2535$2.write(class_2535.java:530) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:893) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:956) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:1000) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:974) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:305) ~[netty-transport-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_2535.method_36942(class_2535.java:350) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_2535.method_52917(class_2535.java:345) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:405) ~[netty-transport-classes-epoll-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.115.Final.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Mar 11 10:58:18 Ares java[85705]: Caused by: java.lang.ClassCastException: class carpet.network.CarpetClient$CarpetPayload cannot be cast to class net.minecraft.class_8711 (carpet.network.CarpetClient$CarpetPayload and net.minecraft.class_8711 are in unnamed module of loader 'knot' @5cc7c2a6)
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_9139$8.encode(class_9139.java:44) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_8710$1.method_56489(class_8710.java:52) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_8710$1.method_56490(class_8710.java:57) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_8710$1.encode(class_8710.java:39) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_9139$10.encode(class_9139.java:83) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_9139$11.method_56442(class_9139.java:99) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_9139$11.encode(class_9139.java:89) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         at knot/net.minecraft.class_9136.method_56426(class_9136.java:53) ~[server-intermediary.jar:?]
Mar 11 10:58:18 Ares java[85705]:         ... 32 more
Mar 11 10:58:18 Ares java[85705]: [10:58:18] [Netty Epoll Server Play IO #2/INFO]: Player [*redacted*] disconnected.
Mar 11 10:58:18 Ares java[85705]: [10:58:18] [Server thread/INFO]: *redacted* lost connection: Internal Exception: io.netty.handler.codec.EncoderException: Failed to encode packet 'clientbound/minecraft:custom_payload' (carpet:hello)
Mar 11 10:58:18 Ares java[85705]: [10:58:18] [Server thread/INFO]: *redacted* left the game
Mar 11 10:58:18 Ares java[85705]: [10:58:18] [Server thread/INFO]: [voicechat] Disconnecting client *redacted*
Mar 11 10:59:17 Ares java[85705]: [10:59:17] [Server thread/INFO]: Server empty for 60 seconds, pausing

Additional Information

  • The error occurs consistently when Vivecraft and Carpet are used together.
  • Disabling either mod resolves the issue.

Arimodu avatar Mar 11 '25 11:03 Arimodu

that is an issue on carpet mods end, we don't really do anything wrong, we just use the fabric api to register our packets, which somehow breaks carpet mod. see https://github.com/gnembon/fabric-carpet/issues/2021

fayer3 avatar Mar 11 '25 11:03 fayer3