CleverNucleus/playerex

Incompatible with velocity (proxy)

Opened this issue · 3 comments

Hey, seems this mod prevents users to connect directly to server where is behind velocity (user -> velocity -> server)
This seems quite specific of playerex-3.5.4+1.19.2.jar jar, is not related to data-attributes where an user is complaining about it, also i experience issues, the problem disappears when i remove playerex-3.5.4+1.19.2.jar
CleverNucleus/data-attributes#10 (comment)
Logs :
server receive this :
[15:46:56] [Server thread/INFO]: com.mojang.authlib.GameProfile@6d13dc0b[id=6b66f56d-bca4-46a3-8cc4-a2e21f51e973,name=AlpDerps,properties={textures=[com.mojang.authlib.properties.Property@1c733bd5]},legacy=false] (/my.ip:53974) lost connection: Disconnected: network communication issue.
velocity receive this :

io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: /172.18.0.1:25566
Caused by: java.net.ConnectException: finishConnect(..) failed: Connection refused
        at io.netty.channel.unix.Errors.newConnectException0(Errors.java:164) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:129) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at io.netty.channel.unix.Socket.finishConnect(Socket.java:359) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.doFinishConnect(AbstractEpollChannel.java:710) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:687) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:567) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:489) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity.jar:3.2.0-SNAPSHOT (git-bda1430d-b259)]
        at java.lang.Thread.run(Thread.java:833) [?:?]

Client log is absolutely empty, no useful info.
I used Prominence I [FABRIC] for testing purposes, but i narrowed down to this mod for incompatibility between velocity and modpack.
Let me know if you have any questions.

Hi there,
I appreciate the info - to be clear, are you saying that the issue seems to be caused by the playerex-3.5.4+1.19.2.jar jar specifically, or just playerex in general?

I would also note that in the case of either one of these, the problem may still be with Data Attributes; it may just be symptomatic only when PlayerEx is used in conjunction, as Data Attributes carries the implementation that allows PlayerEx to send its data across. This is only speculative, of course.

Regardless, thanks for the report and any other information you may have would be welcome - cheers.

OK, I could be way off base here but I think the problem does lie in Data Attributes and I think it has something to do with the fix in 1.4.5 not fixing the issue, which you acknowledged could've been the case since you weren't actively testing it. I did some digging around the code of both Origins (which also causes problems when the version check handshake is enabled on the server) and Data Attributes, and from my limited understanding of Fabric networking it seems like the two mods are in essence doing the same thing, just Origins is sending an empty packet purely for handshake purposes and Data Attributes is sending actual information. If my understanding is correct that this data needs to get through with this packet or the mod isn't functional then I'm not so optimistic about the possibility of a workaround. As I said in the comment on the Data Attributes issue, I don't receive any descriptive error past network communication issue, but based on what I could find on both the CrossStitch issue tracker and in the code of these mods, it seems like this could be the culprit, and I don't know how fixable it is. If you do find a workaround that would be great, but if I'm right then I don't know how much I can really expect of you here.

Hi there, I appreciate the info - to be clear, are you saying that the issue seems to be caused by the playerex-3.5.4+1.19.2.jar jar specifically, or just playerex in general?

I would also note that in the case of either one of these, the problem may still be with Data Attributes; it may just be symptomatic only when PlayerEx is used in conjunction, as Data Attributes carries the implementation that allows PlayerEx to send its data across. This is only speculative, of course.

Regardless, thanks for the report and any other information you may have would be welcome - cheers.

As you said, that might be the issue since with data attributes i can join.