WiIIiam278 / HuskHomes

The powerful & intuitive homes, warps, and teleportation suite
https://william278.net/project/huskhomes
Apache License 2.0
127 stars 82 forks source link

Interserver dimension teleportation if not in the same dimension of the last deconnection makes the players stuck in a voidspace between 2 dimensions #666

Open Hysako opened 3 months ago

Hysako commented 3 months ago

Infos about the server where the problem occured:

https://tropimon.fr/ Tropimon is a cobblemon server with pretty much no mods except cobblemon and our features. We use a velocity proxy on fabric 1.20.1 Our infrastructure is designed in a way that players very often switchs from one to an other server seemlessly. (Like moving to the towns servers to the ressources servers)

Details about the issue:

If a player disconnect/move from a server A (in let's say the nether) then try to teleport via a tpa or home from a server B to the server A back again but in the overworld. Since the player left in the nether and is now trying to go to the overworld of this server he ends up being stuck in the two worlds, like a void space where its' very glitchy and he is technically in both. And only a server restart can fix those guys for this server.

We can see the players stuck in this state in the two dimensions, Here are some screenshots of what is experiencing the player stuck: 2024-08-01_19 39 36 2024-08-01_19 39 29 Sometime the player simply is in some sort of void.

This issue is very problematic for us because we suspect it for being the cause of crashes, leading to other desync problems (we had a lot of problems after with pokemon sync when the players is experiencing this issue.) So we simply can't let the players use teleportations and homes, otherwise we have no issue so it's quite certain that nothing else is responsible. Thanks for taking the time to read this and sorry for my english, if you are willing to get more informations or to conduct tests on our server feel free to contact me on discord: Hysako

WiIIiam278 commented 3 months ago

Mm yeah so there's a nonzero chance this is an issue with the protocol structure of proxies/velocity with fabric and the dimensions API as awhole, will require some R&D perhaps.

WiIIiam278 commented 1 month ago

I've looked into this and I'm not sure what exactly I can do to solve it, I think it may require a bit of a lower-level deep dive into how the Fabric Dimensions API and FabricProxyLite interact.