When possible, the launcher should attempt to automatically forward a server's ports when it is launched. Use UPNP.
- UPNP support should be generally verifiable without needing to launch a server
- (low priority) we may want to be able to detect a double-NAT architecture
- use a tracert to look for two hops on different private subnets?
- (extremely low priority) use tracert or nmap info to nest UPNP mappings so they work across a double-NAT.
- This might not be possible and would deserve to be an independent library if it was.
- UPNP packets should not be sent without a user interaction that would reasonably be expected to trigger it.
- Starting a server meets this requirement
- Whether ports were successfully forwarded automatically should be visible in the GUI of that server
- We could have a validation endpoint that probes a server's ports to detect if they are forwarded correctly and reports back their status.
- This endpoint should require the server's key before probing it. We don't want this to be used as an amplifier for DDOS.
Resources:
When possible, the launcher should attempt to automatically forward a server's ports when it is launched. Use UPNP.
Resources: