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

Add port mapping for Slippi via UPnP or NAT-PMP #5

Open
wants to merge 5 commits into
base: slippi
Choose a base branch
from

Conversation

jmlee337
Copy link

@jmlee337 jmlee337 commented Sep 7, 2023

screenshot: https://imgur.com/a/KDD0uEr

Note that I intend to have most users set this config via my Slippi Launcher network diagnostic tool (as a follow-up to project-slippi/slippi-launcher#391)

In cases where UPnP or NAT-PMP are available, enabling this option will improve connecting to other players while behind symmetric NAT. Regardless of own NAT type, it may also help connecting with other players who are behind symmetric NAT.

Note that while we don't specifically use PCP, NAT-PMP is literally PCP version 0 and routers which nominally support only PCP may be backward compatible.

While there are some security concerns with UPnP, all 3 major consoles support it and we literally already tell users who have connection problems to enable it on their router if possible (!connect). In How NAT traversal works, the author notes:

Disabling by policy is fairly common because UPnP suffered from a number of high-profile vulnerabilities (since fixed, so newer devices can safely offer UPnP, if implemented properly).

There's also a possibly of using port mapping to improve connections for players who are behind the same CGNAT/double NAT in the future.

@jmlee337 jmlee337 marked this pull request as ready for review September 13, 2023 06:53
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

Successfully merging this pull request may close these issues.

1 participant