Game client doesn't connect to a server by public IP

Continuing the discussion from What is the best way to manage game server instances?:
So, just like adviced, I went to Edgegap and set up my game to work with their system successfuly, also stack of tech I now familiar with grew like twice the previous size, and it makes me really happy, BUT;
Even though I have the ability to launch a dedicated server remoutely from my client each time I need new, then having it’s public IP and port, I can’t make client connect to it neither by using “Open level” node with address as level name, nor executing “Open [address]” console command, nor executing client travel in the same way.
As I’m using Edgegap’s networking infrastructure, there is no way there could be something wrong with port forwarding or other similar issue, right?
Hope someone can help me figure out the solution, the amount of subsequent problems I already had to get multiplayer working begins to look unhealthy high…
Might be some ‘fancy’ English here, sorry in case

2 Likes

How are your clients trying to connect to this game server? It seems that it’s either that your client is not trying to connect the right way or, as you mentioned, it’s a case of port restrictions on the network. If you have a problem, you can contact Edgegap’s support really easily through their public discord.

Yeah, I already contacted their team twice with other questions and both times got a wonderful support, but this time it seemed to me like something wrong from engine side/with my code, so I decided to ask here first.
This is part of code in my Game Instance BP where I’m trying to connect, nothing special:
image
I getting IP and port from response to Edgegap’s API call.

The issue could come from different things. Have you tried running the container locally and connecting to it from the client?

So the basic method of joining a server is a console command “Open :”. Server port for UE4 games by default is 7777. You’ll also need to open that port in your Edgegap application, in the “Ports” section, Add port.

Update: it turned out that the container itself isn’t working properly, so that’s the reason why a client can’t connect; container failed due to inability to open a library, specifically - libodbc.so.2;
Now this problem is fixed, but I got a new one, attached a screenshot of build log with message about it.


So, now I’m in search of the fix for this one, next thing I’m gonna do is to find out possible reasons for dlopen() to fail, as it adviced here

What OS are you using to build your container image? It might be an issue with the OS being incompatible with a library that you’re using. I would try using a basic Ubuntu OS to make sure your OS choice is good.

Depending on the UE version that you’re using, you could use the Unreal base image to create your containers with all the necessary dependencies. You can see this documentation to help you build your UE project container.

To me, it looks like you’re running into a dependency issue, so another thing to look for is that you’re including all the necessary dependencies on your Dockerfile.

1 Like