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

MDNS advertisements may contain incorrect IP address #165

Open
nil-vr opened this issue Jul 7, 2024 · 0 comments
Open

MDNS advertisements may contain incorrect IP address #165

nil-vr opened this issue Jul 7, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@nil-vr
Copy link

nil-vr commented Jul 7, 2024

Describe the bug
If your computer has multiple IP addresses, VRChat picks only one of them, and the one it picks may not be appropriate.

In my case, in response to an MDNS request received on interface 17 "Ethernet", it sends a response containing only the IP address of interface 71 "vEthernet (WSL (Hyper-V firewall))". Is it because vEthernet has the highest interface index on my system? The same problem may occur with some VPN software configurations (for example OpenVPN in tap mode), or if the computer running VRChat is otherwise connected to an isolated network.

Sending OSC messages to VRChat does not work because devices connected via Ethernet cannot connect to the IP of the vEthernet adapter.

The MDNS implementation should be able to select an appropriate IP address by matching the interface index of the request to the interface index of the IP address. If the client IP address is available but not the interface index, it should be possible to determine an appropriate response IP address by using GetBestRoute2. If it's a proper MDNS library, it may do the correct thing if no address is provided by VRChat.

As a last resort, if you determine the client IP that would be used (or is being used) for connecting to VRChat's servers on the internet, that IP address should be reachable by MDNS clients for most users.

To Reproduce
Steps to reproduce the behavior:

  1. Install a virtual machine or VPN network adapter, or otherwise connect the computer to a second network that is not reachable from the network where the OSC sender is.
  2. Launch VRChat.
  3. Try to connect to VRChat's OSC over the network using the advertised MDNS service.
  4. The packets do not reach VRChat because the client either cannot route the IP address provided by VRChat or does not have the correct route.

Expected behavior
VRChat should return an appropriate IP address.

Info (please complete the following information):

  • Type: Desktop
  • VRChat version and build: 2024.2.3-1470-37f6872177-Release
@nil-vr nil-vr added the bug Something isn't working label Jul 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant