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:
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:
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?