PretendoNetwork / nex-go

Barebones PRUDP/NEX server library written in Go
GNU Affero General Public License v3.0
74 stars 16 forks source link

Prevent ping ACKs from affecting reliable packets #62

Closed wolfendale closed 5 months ago

wolfendale commented 6 months ago

Resolves #61

Changes:

Adds a check to handleAcknowledgement in PRUDPEndpoint to prevent ping packets from acknowledging reliable packets with the same sequence ID

I'm unsure if any clients would ack ping packets as part of an aggregate acknowledgement, if they do, this fix won't work in those cases. I think for aggregate acknowledgements it's actually impossible to solve this with a separate sequnce counter for ping packets. Perhaps this is why nintendoclients sends ping packets as reliable and therefore uses sequence ids from that stream which would not interfere with other reliable packets?

jonbarrow commented 6 months ago

lgtm