-
-
Notifications
You must be signed in to change notification settings - Fork 796
Add full support for Java ping pong packets #5460
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
onebeastchris
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM; however i'll let other people also review this before merging.
|
This PR needs to be rebased / merge in master due to conflicting changes :( |
5672a24 to
9de1073
Compare
|
Should be fixed |
core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaPingTranslator.java
Show resolved
Hide resolved
9de1073 to
768890a
Compare
768890a to
3002f5b
Compare
|
RaphiMC/ViaBedrock@374781a seems to confirm that these are sync (and should be treated as such on Geysers end). Will merge by tomorrow :) |
...va/org/geysermc/geyser/translator/protocol/bedrock/BedrockNetworkStackLatencyTranslator.java
Show resolved
Hide resolved
...in/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockContainerCloseTranslator.java
Outdated
Show resolved
Hide resolved
core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaKeepAliveTranslator.java
Outdated
Show resolved
Hide resolved
This comment has been minimized.
This comment has been minimized.
|
There's unfortunately a merge conflict now - otherwise happy to merge |
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/falseand everything seems to work.