Skip to content
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

Abusing NACK caused large number of packet wrong retransmissions #27

Open
b23r0 opened this issue Jun 10, 2022 · 9 comments
Open

Abusing NACK caused large number of packet wrong retransmissions #27

b23r0 opened this issue Jun 10, 2022 · 9 comments

Comments

@b23r0
Copy link

b23r0 commented Jun 10, 2022

The Raknet protocol was not processed correctly, so that although the Geyser server received many packets correctly, it still sent a NACK to tell the client that it did not receive it, causing the client to retransmit for no reason, wasting a lot of bandwidth.

161919282-87d004ac-815b-4761-8806-4abbf44c37ae

@irrld
Copy link
Contributor

irrld commented Jun 10, 2022

Can you re try with my branch https://github.com/CraftersMC/Network/tree/datagram-fixes it should be fixed with my changes, if that is the case I might create a PR.

@SupremeMortal SupremeMortal transferred this issue from CloudburstMC/Protocol Jun 10, 2022
@Camotoy
Copy link
Member

Camotoy commented Jun 10, 2022

Do note that Geyser isn't on the very latest Network version.

@b23r0
Copy link
Author

b23r0 commented Jun 23, 2022

I'm using the latest version (https://github.com/CraftersMC/Network/tree/datagram-fixes), but still found that there is a bug in using NAK. Hope to double check and fix the issue.

1655996045(1)

As shown in the figure above, although the packet with the correct sequence number has been received, it is still reply NAK. This is not correct.

This will cause a large number of packets to be erroneously retransmitted, significantly reducing transmission performance.

You can refer to my version of raknet implementation using rust.
https://github.com/b23r0/rust-raknet

@irrld
Copy link
Contributor

irrld commented Jun 23, 2022

You are getting NAKS with my branch on your local network right?

Its really weird I've never had this issue on local network. Are you sure everything is updated?

@irrld
Copy link
Contributor

irrld commented Jun 23, 2022

And also are those NAKS from client or GeyserMC?

@b23r0
Copy link
Author

b23r0 commented Jun 23, 2022

from GeyserMC

@b23r0
Copy link
Author

b23r0 commented Jun 23, 2022

You are getting NAKS with my branch on your local network right?

Its really weird I've never had this issue on local network. Are you sure everything is updated?

sure,this is my local network,everything is updated

@b23r0
Copy link
Author

b23r0 commented Jun 23, 2022

I think you should try to reproduce the problem with geysermc first.

@b23r0 b23r0 changed the title Abusing NACK results in a large number of wrong packet retransmissions Abusing NACK caused large number of packet wrong retransmissions Jun 24, 2022
@Camotoy
Copy link
Member

Camotoy commented Jul 13, 2022

Geyser is now using the latest Network version from Cloudburst.

@b23r0 b23r0 closed this as completed Aug 9, 2022
@b23r0 b23r0 reopened this Aug 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants