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

Resolve Error: Cannot Enable Collaboration | Clients can't see each other via Wireguard #32

Open
DesertCookie opened this issue Sep 20, 2021 · 7 comments

Comments

@DesertCookie
Copy link

DesertCookie commented Sep 20, 2021

My friend and I get this error by DVR (DaVinci Resolve) when connecting to a project:

One person can connect to a project without any issues but the second person will get this error. Has BMD made some changes to DVR and now it's not fooled by the VPN approach anymore?

What we've set up:

  • Resolve Collaboration Server in W10 VM on my home server.
  • Port-forwarded the respective ports and pointed a domain to my router.
  • Created the necessary PostgreSQL databases and users (connected to them on the project server via the default user postgres.
  • Successfully authenticated all clients with the server via the URL.
  • Exported the Wireguard configuration, opened the tunnel on the server, and activated the connection on the clients.
  • Successfully added our databases on the clients in the Resolve Project Manager by using our usernames and the server's Wireguard IP of 9.0.0.1.
  • Enabled sharing for the databases on the server, and enabled collaboration for the projects we want to collaborate on.

Our systems:

  • Windows 10 20H2 (R9 3900, GTX 1660S, 30Mb/s upload to collaborator)
  • Windows 10 20H2 (old 4 Thread-CPU, onboard-GPU)
  • both DVR 17.3.1 (one Studio, one Free)

Media is stored locally on both of our machines and made to have the same path. Everything is live-synced via NextCloud.

server_log.txt

@jonnyhyman
Copy link
Owner

Thanks for your in-depth issue post!

A bit disconcerting indeed... I honestly haven't used Collaboration for a few months but I will give this a test and see if I can replicate it.

I think if BMD was trying to crack down on this, they probably would have decreased the communication timeout threshold that causes the error to show up.

What kind of latencies (pings) are you getting between machines? ie. how many milliseconds delay are you getting on the Server GUI between machines?

@DesertCookie
Copy link
Author

DesertCookie commented Sep 25, 2021

What kind of latencies (pings) are you getting between machines? ie. how many milliseconds delay are you getting on the Server GUI between machines?

Using ping <IP> we got the following results:

  • Me to server: 1-2ms (obviously re-routed by my router)
  • Friend to server: 29-42ms
  • Friend to me: Timeout
  • Me to friend: Timeout

We don't seem to be able to connect to one another. Maybe there's something wrong with our Wireguard config that only allows us to connect to the server but prevents the individual clients from seeing each other?

[Interface]
Address = 9.0.0.2/32
PrivateKey = REDUCTED
DNS = 1.1.1.1, 8.8.8.8, 2001:4860:4860::8888

[Peer]
PublicKey = REDUCTED
Endpoint = MY.DOMAIN:51820
AllowedIPs = 9.0.0.0/24
PersistentKeepalive = 25

@DesertCookie
Copy link
Author

I need to add that I manually edited the wireguard config to add 9.0.0.0/24 to AllowedIPs as, even though the server was configured to supply configs that only route DVR traffic, it tried to route all traffic through the VPN which meant the internet was not working anymore for anyone running the tunnel.

@DesertCookie DesertCookie changed the title Resolve Error: Cannot Enable Collaboration Resolve Error: Cannot Enable Collaboration | Clients can't see each other via Wireguard Sep 30, 2021
@DesertCookie
Copy link
Author

I've done some talking to people from Wireguard. They pointed towards a routing table problem that causes the clients to not be able to see each other and only the server. They recommended using route on Windows to add a route manually like this: route -p add CLIENT_IP mask SUBNET_MASK GATEWAY_IP (where the RMC Wireguard server would be the gateway).

Sadly, I've not gotten this to work. I will report back on the progress and contribute a solution if ever found.

@DesertCookie
Copy link
Author

While not having solved this problem , I found a VPN that reliably works - even behind Proxies, NATs, Firewalls, etc. (according to their own marketing, and considering it does work in my case while all other VPNs don't I believe them).

Tailscale is very easy to set up: Download it on both computers and log in with your account (it's free to use as long as you use one account on all devices). Tailscale will run in the taskbar and you are able to easily copy a client's IP from there or the web interface. It works like a charm for the DaVinci Resolve Project server.

@Whiskersofsteel
Copy link

While not having solved this problem , I found a VPN that reliably works - even behind Proxies, NATs, Firewalls, etc. (according to their own marketing, and considering it does work in my case while all other VPNs don't I believe them).

Tailscale is very easy to set up: Download it on both computers and log in with your account (it's free to use as long as you use one account on all devices). Tailscale will run in the taskbar and you are able to easily copy a client's IP from there or the web interface. It works like a charm for the DaVinci Resolve Project server.

This is the way I've been connecting our PC's, however, I cannot seem to enable multi-user collaboration. I get the following error when opening a project another user is currently inside: "Please ensure that the machines are not connected
using a VPN and that DaVinci Resolve is not being
blocked by the system firewall."

Is there any way around this?

@DesertCookie
Copy link
Author

Is there any way around this?

There used to be a post on the forums about this, but it seems to have been deleted.

I wrote a guide a while back for some friends. Here it is (translated by GPT-4):

Set Windows network to private (required for enabling DVR Collaboration):
 1. Open PowerShell with administrative rights.
 2. Enter the command "Get-NetConnectionProfile".
 3. If not all networks are set to private, set each one to private using the command "Set-NetConnectionProfile -InterfaceIndex 13 -NetworkCategory Private" (change "13" to the ID of your network).
 4. Done.

Caution: Setting a network to private disables certain Windows security features like blocking printer and file sharing. This is not a problem in your home network and trusted networks. However, in public places like airports, you should keep the network public!

You can check the connection as follows:
 1. Open CMD.
 2. Ping the project server with "ping 10.1.1.10" (replace the IP with your actual IP).
 3. Is the ping successful and the time stable (<100ms)? Perfect!

To check if Collaboration is working correctly (Error: "Resolve cannot enable Collaboration." Check if you are using a VPN...):
 1. Open Resolve and join a multi-user project.
 2. Have a second person try the same.
 3. Open PowerShell with administrative rights.
 4. Test the proper opening of all ports and the connection with "Test-NetConnection -ComputerName 192.168.1.151 -Port 50059" (replace "192.168.1.151" with the Wireguard IP of the other tester - the second person can read this in Wireguard).
 5. The test should report success with "TcpTestSucceeded: True". If not, the second user either has not loaded a multi-user project, their network (or yours) is not set to private, or you are not connected via Wireguard.

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

No branches or pull requests

3 participants