feat(net): show all network interfaces when hosting a match#10445
Merged
tool4ever merged 2 commits intoCard-Forge:masterfrom Apr 19, 2026
Merged
feat(net): show all network interfaces when hosting a match#10445tool4ever merged 2 commits intoCard-Forge:masterfrom
tool4ever merged 2 commits intoCard-Forge:masterfrom
Conversation
b59f23b to
043d23d
Compare
Contributor
|
nice idea, though it looks like your AI got confused with what's available outside of your fork ;) |
Restore the per-NIC address dialog so hosts can see every active interface (LAN, Tailscale, Hamachi, ZeroTier, VPN...) with its own Copy button, instead of just the single routable IP. FServerManager.getAllLocalAddresses() already enumerates interfaces with friendly names — this wires it into the desktop host flow. copyHostedServerUrl() is kept intact for the mobile path.
043d23d to
6be0dae
Compare
Contributor
Author
|
Thanks for the heads-up! You're right — |
tool4ever
approved these changes
Apr 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
When hosting a multiplayer match, the current dialog only shows one local IP (whatever
getLocalAddress()picks as routable) plus the external WAN IP. This is a problem when the host wants to play with friends over a VPN or overlay network — Tailscale, Hamachi, ZeroTier, etc. — because the IP the friends actually need is almost never the "routable" one chosen automatically.This PR replaces that single-line prompt with a per-interface list: every active non-loopback IPv4 address is shown with a friendly interface name and its own Copy button. The primary routable interface is marked with ★.
Why
ipconfig/ifconfig/ the VPN app's own UI just to share the right address with friends.FServerManager.getAllLocalAddresses()) already enumerates every interface with friendly names recognizing Hamachi (ham*), ZeroTier (zt*), Tailscale (CGNAT100.64.x.xrange), and common VPN patterns — this PR just wires that data into the desktop host flow.Changes
forge-gui-desktop/.../CSubmenuOnlineLobby.java— addsshowServerAddressesDialog()called afterhost()succeeds; replaces the single-URLNetConnectUtil.copyHostedServerUrl()call in the desktop path.copyHostedServerUrl()is kept intact (still used by mobile and the in-lobby Copy URL button).forge-gui/res/languages/en-US.properties— three new i18n keys:lblInterface,lblAddress,lblChooseAddressToCopy.