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

Ported back to Mono.Nat and made discovery async #19114

Merged
merged 1 commit into from
Mar 27, 2021

Conversation

Mailaender
Copy link
Member

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.

Copy link
Member

@pchote pchote left a 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.

AUTHORS Outdated Show resolved Hide resolved
OpenRA.Game/Game.cs Outdated Show resolved Hide resolved
@Mailaender
Copy link
Member Author

Updated.

@Mailaender
Copy link
Member Author

I don't have a UPnP compatible setup

That is also a valid test case that should be confirmed to still load fast.

OpenRA.Game/Network/Nat.cs Outdated Show resolved Hide resolved
@Mailaender
Copy link
Member Author

Rebased and made port forwarding and removal not fake async but proper sync.

OpenRA.Game/Network/Nat.cs Outdated Show resolved Hide resolved
AUTHORS Outdated Show resolved Hide resolved
OpenRA.Game/Network/Nat.cs Outdated Show resolved Hide resolved
OpenRA.Game/Network/Nat.cs Show resolved Hide resolved
OpenRA.Game/Server/Server.cs Outdated Show resolved Hide resolved
@Mailaender
Copy link
Member Author

Updated.

OpenRA.Game/Server/Server.cs Outdated Show resolved Hide resolved
OpenRA.Game/Network/Nat.cs Outdated Show resolved Hide resolved
@Mailaender
Copy link
Member Author

Updated.

@Mailaender
Copy link
Member Author

Rebased.

OpenRA.Game/Network/Nat.cs Outdated Show resolved Hide resolved
OpenRA.Game/Network/Nat.cs Show resolved Hide resolved
@teinarss
Copy link
Contributor

Also needs a rebase :(

@Mailaender
Copy link
Member Author

Rebased.

teinarss
teinarss previously approved these changes Mar 23, 2021
OpenRA.Game/Network/Nat.cs Outdated Show resolved Hide resolved
Copy link
Member

@pchote pchote left a 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.

@Mailaender
Copy link
Member Author

For Fritz!Box the https://avm.de/mesh/ WiFi devices are all linked to the router so I can't reproduce that.

@pchote pchote merged commit d15e7f7 into OpenRA:bleed Mar 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants