Server shows in list, but connections always fail

I am having trouble connecting to my own server. I followed the instructions for Server Hosting and adapted the Linux instructions for Ubuntu 20.04 LTS. I opened up the necessary ports in my firewall (NAT with reflection), as I have done for other game servers I host, but I am unable to make a successful connection to my VU server:

Venice Client sees the server:

I attempt to connect and the server sees my connection attempt:

My Venice Client cannot connect to my server:
image

Before we continue, understand that my VU server and my desktop share the same physical gateway appliance, but they are in different subnets. You may think of my VU server as being inside the DMZ.

I thought that this inability to connect was a networking issue, so I verified that the Ubuntu firewall was disabled:

ufw status
Status: inactive

Then I looked at the open network ports on the VU server before running VU:

netstat -tulpn | grep LISTEN
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 633/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 688/sshd: /usr/sbin
tcp6 0 0 :::22 :::* LISTEN 688/sshd: /usr/sbin

I started the VU server, letting the backend attempt to automatically detect the server’s IP address:

wine ~/vu/client/vu.com -gamepath ~/bf3 -serverInstancePath ~/vu/instance -server -dedicated -headless -listen 0.0.0.0:25200 -mHarmonyPort 7948

Console Log Entries:

[2020-12-22 21:44:33+00:00] [info] Server Instance directory: /home/gdececco/vu/instance
[2020-12-22 21:44:33+00:00] [info] Initializing the VeniceEXT engine v1.0.8…
[2020-12-22 21:44:34+00:00] [info] Initializing Venice Unleashed Server (Build 17384)…
[2020-12-22 21:44:34+00:00] [info] Mounting the VU game data File System.
[2020-12-22 21:44:41+00:00] [info] Remote Administration interface is listening on port 0.0.0.0:47200
[2020-12-22 21:44:41+00:00] [info] Loaded 0 entries from the player banlist file.
[2020-12-22 21:44:41+00:00] [info] Establishing connection to the Zeus Backend…
[2020-12-22 21:44:41+00:00] [info] Venice Unleashed dedicated server initialization finished.
[2020-12-22 21:44:42+00:00] [info] Successfully established connection to the Zeus Backend!
[2020-12-22 21:44:42+00:00] [info] Authenticating server with the Zeus Backend…
[2020-12-22 21:44:43+00:00] [info] Successfully authenticated server with Zeus (Server GUID: ABC).
[2020-12-22 21:44:43+00:00] [info] Checking for updates…
[2020-12-22 21:44:45+00:00] [info] Update check complete. No new updates available.
[2020-12-22 21:45:21+00:00] [info] Registering team 0 with 0 player slots and 4 squad slots.
[2020-12-22 21:45:21+00:00] [info] Registering team 1 with 16 player slots and 4 squad slots.
[2020-12-22 21:45:21+00:00] [info] Registering team 2 with 16 player slots and 4 squad slots.
[2020-12-22 21:45:21+00:00] [info] Registering a new game with Zeus…
[2020-12-22 21:45:21+00:00] [info] Monitored Harmony server listening on 0.0.0.0:7948.
[2020-12-22 21:45:21+00:00] [info] Game successfully registered with Zeus. The server is now accepting connections.

Once the service was up and running and had successfully registered with Zeus, I checked the ports again. Notice how there are no listeners for 7948 or 25200. I am thinking that Wine is hosting ports that aren’t visible here. This netstat command was run as root.

Ports While Running Server:

netstat -tulpn | grep LISTEN
tcp 0 0 0.0.0.0:47200 0.0.0.0:* LISTEN 1370/vu.com
tcp 0 0 127.0.0.1:7878 0.0.0.0:* LISTEN 1373/wineserver
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 633/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 688/sshd: /usr/sbin
tcp6 0 0 :::22 :::* LISTEN 688/sshd: /usr/sbin

I went back to my Venice Client. It now sees my server in the list:

The server sees my connection attempt:

Venice Client cannot connect to my server:
image

I’m not one to give up, so I started playing with the “Join Address” command, which is documented here.

-joinaddr AAA.BBB.CCC.DDD

When I did not include “-joinaddr” my Venice Client could not connect.
When I used “-joinaddr <My_Public_IP>” my Venice Client could not connect.
When I used “-joinaddr <VU_Server_Private_IP>” my Venice Client connected successfully.

I would consider this a success and always use “-joinaddr <VU_Server_Private_IP>”, but I am unable to test from outside my network, so I am unable to verify that other external players can connect.

Does anyone have any recommendations for me?

2 Likes

When I try to connect to someone else’s server from my desktop, My VU Client dumps this to the console:

But when I try to connect to my own server from my desktop, the VU Client tries to communicate with localhost:

I finally convinced a friend to install BF3 and the VU Client. The install process and linking VU to her Origin account went smooth as silk. She found my server, connected to it, and was presented with the “Deploy” screen. That’s a success. And yet, I still can’t connect to my own server.

If you are running your server inside a VM try changing the MAC address of the network interface to something random. You should then be able to connect locally.

I change the MAC of the VU server and tried again. It did not work. My VMs are hosted on a separate server using Proxmox.

Are your computer and your server on different subnets? If so, this is a known issue which you can track here: https://github.com/EmulatorNexus/VeniceUnleashed/issues/566

I had a similar issue and I can confirm after changing the MAC on my VM it fixed this issue for me. Both the server on the VM and client were on the same subnet, it was the MAC prefix of the VM that was the issue. :slight_smile: