Geyser icon indicating copy to clipboard operation
Geyser copied to clipboard

Add full support for Java ping pong packets

Open SamB440 opened this issue 8 months ago • 5 comments

This rewrites the BedrockNetworkStackLatencyTranslator to add support for pings sent by the server and pongs received from the client.

One thing I'm not sure about is the shouldExecuteInEventLoop. It's important that ping/pongs keep their order. On Java, keep alive's are async and ping/pongs are sync. But on bedrock, NetworkStackLatency seems to be sync and there is no separate packet for keep alives.

Tested with forward-player-ping: true/false and everything seems to work.

SamB440 avatar Apr 04 '25 17:04 SamB440

This PR needs to be rebased / merge in master due to conflicting changes :(

onebeastchris avatar Apr 17 '25 19:04 onebeastchris

Should be fixed

SamB440 avatar Apr 17 '25 21:04 SamB440

https://github.com/RaphiMC/ViaBedrock/commit/374781ab6e11449c101802fb767968dd593ec95f seems to confirm that these are sync (and should be treated as such on Geysers end). Will merge by tomorrow :)

onebeastchris avatar May 16 '25 14:05 onebeastchris

Adding to GeyserBeta.

THEMPGUYAlt avatar Aug 13 '25 20:08 THEMPGUYAlt

There's unfortunately a merge conflict now - otherwise happy to merge

onebeastchris avatar Sep 29 '25 13:09 onebeastchris