Flight state desync on vanilla server
FakeDomi opened this issue ยท 6 comments
Versions (Be specific, do not write "latest"):
- Caelus: 0.0.16-1.17
- Fabric: Loader 0.11.3 API 0.34.9
Observed Behavior:
When initiating flight on a vanilla or fabric server without the mod, the client thinks the player is in flight state but the server says otherwise. The player will receive fall damage even from soft landings and not return to standing position automatically.
Expected Behavior:
Compatibility with vanilla elytra mechanics
Steps to Reproduce:
- Join a vanilla or fabric server without the mod
- Initiate flight
Crash Log: Please use a paste site like hastebin.
It's expected that Caelus is present on both sides. Because of its changes to the elytra mechanics, it's not compatible with the vanilla implementation as it is. What is your use-case for only using Caelus client-side? It's generally only used as a compatibility library for mods implementing items and effects which I'd imagine would need to be installed on both sides as well.
My use case is playing on multiple servers, some that have Elytra Trinket and its dependencies, some that don't.
I'd like to add the information that currently vanilla clients can join a Caelus server and use elytras just fine, so I expected it to work the other way around too. I'm actually running a server with Curious Elytra on 1.16 and it works okay with vanilla clients, they just can't really make use of the additional slot.
I'm actually running a server with Curious Elytra on 1.16 and it works okay with vanilla clients, they just can't really make use of the additional slot.
Hmm, interesting. I'll have to look closer at this.
Are there any errors in the logs when the player tries to fly? Does the server still allow them to fly (aka they move in the air appropriately) or does the player just drop to the ground? This may be asking a bit much, so I understand if you cannot, but a GIF of video of the behavior when this happens would help quite a bit as well.
https://up.domi.re/0qu8db98/2021-06-09%2002-42-37.mp4
Recorded with Caelus only present client side. You need to sneak to leave the flying animation. This, combined with the fact that you take fall damage and the elytra itself doesn't lose any durability seems to indicate a desync issue where the server never puts the player into flying state.
The log is completely quiet about this.