-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Ported back to Mono.Nat and made discovery async #19114
Conversation
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.
Not tested (I don't have a UPnP compatible setup), but it at least doesn't crash. 👍 in principle to this switch, but I haven't looked at the code deeply enough to approve this yet either.
Updated. |
That is also a valid test case that should be confirmed to still load fast. |
Rebased and made port forwarding and removal not fake async but proper sync. |
Updated. |
Updated. |
Rebased. |
Also needs a rebase :( |
Rebased. |
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 aside from the nit above.
I debugged the issues in my network down to having multiple devices that expose UPnP (mesh wifi nodes), of which we take the last that responds due to only tracking a single INatDevice
which usually isn't the gateway.
UPnP is an anti-feature in the first place, so I really don't think it is worth our time (and i'm not sure whether its even valid) to request all found devices to create the mapping. People with similar situations should continue to keep this disabled and use manual forwarding rules.
For Fritz!Box the https://avm.de/mesh/ WiFi devices are all linked to the router so I can't reproduce that. |
Open.Nat ceased development and Mono.Nat which was forked is back with .NET Core support, so I had to take my chances. This time everything should be properly async especially the NAT discovery at game start which should hopefully speed things up.