Dedicated server keeps deleting our steam_appid

@KevinDuguay
Are you using seamless travel when you call your Client Travel function?
I think if you don’t use it the client has the risk of timing out.

Another fix I saw was adding a “bIsLanMatch” to the listen statements but that doesn’t seem too relevant in your case.

I hope this can help!
-Zen

@ZenLeviathan

It turns out that we absolutely needed to create a session on the dedicated server and have the clients join it.

When testing with my private server, we were able to all join a game. Unfortunately, when testing with the the playfab server, the server created a session, but the client could find any session when searching (the search returned 0 result).

The clients give use this warning:
LogOnlineSession: Warning: STEAM: Failed to respond IP:20.120.11.5

Any idea what this warning could mean?

@KevinDuguay
Do you think it could possibly be an authentication error for the private server? My other guess would be for it to be that you’re missing another DLL, so the server doesn’t know how to fully communicate with Steam. Do you have the crash handler in there as well?
Other than that, I can’t particularly say I know anything further than that, other than maybe a rebuild of your server files. I found a user that had a travel client problem with 4.27:

I’ll try to re-create your issue though, and see if it gives me any more insight.
I hope this can help,
-Zen :vulcan_salute:

@ZenLeviathan

Neither the server or the client crashes. Also, our server initialize steam and create the session without issues.

What I would really like to know is the exact meaning of this message:
STEAM: Failed to respond IP

Does it mean that the client didn’t receive anything from the server or that the server responded, but what he returns tells the client that something went wrong on his side?

@ZenLeviathan

I got some answers from Playfab. It seems that PLayfab doesn’t actually open, for example, the port 27015, but instead the port 30130. Because of this, Unreal can’t actually reach the server when trying to retrieve the session info.

Here is a link to the Playfab forum I made:

Do you know if there is anyway to directly connect threw IP while still using steam on the server?

I have same problem, did you find a solution so far?

@Anoberia @ZenLeviathan

I finally figure out how to have our dedicated unreal server work on playfab:

It turns out that we do not need the steam session.

-First, we changed some settings in DefaultEngine.ini to make sure to use the IpNetDriver instead of the SteamNetDriver:

-Second, unreal uses the port 7777 UDP. With playfab, you can’t have 1 port that is both UDP and TCP, therefore, if you wanted it to be both, you would need to create a 7777 UDP and 7777 TCP port.

In our case, we though that doing this was fine but THIS was the issue! Playfab ended opening, for example, port 30000 for 7777 TCP and 30016 for 7777 UDP. When we were matching the players together, the server was returning the adresse: X.X.X.X:30000 which is actually for 7777 TCP, when we actually needed X.X.X.X:30016!

What we needed to do was to only have a port for 7777 UDP:

Now, we can simply travel with the adresse the server gives our players like this:

void APlayfabManager::OnGetMatch(const PlayFab::MultiplayerModels::FGetMatchResult& Result)
{
	TSharedPtr<PlayFab::MultiplayerModels::FServerDetails> Server = Result.pfServerDetails;
	
	if (Server)
	{
        FString Port = FString::FromInt(Server.Get()->Ports[0].Num);
		FString ServerIpPort = FString(Server.Get()->IPV4Address + ":" + Port);
		GetWorld()->GetFirstPlayerController()->ClientTravel(ServerIpPort, ETravelType::TRAVEL_Absolute);
	}
}

Thanks so much for your help Zen, it really helped! :smiley:

1 Like

Thanks for informations. :slight_smile: I’ll try it now. Did you disable SteamSocketsPlugin right? And you’ve tried with Shipping build? I could connect with editor - standalone game but not with Shipping build.

I can connect with Editor and Standalone game but not with Shipping. It’s very interesting, Steam is not enabled in Editor but Steam is enabled in Standalone game. Someone has an idea why it’s behaving like that?
Shipping logs says everything but I don’t get it again and again lol :slight_smile:

[2023.01.14-12.26.50:779][560]LogNet: CreateNamedNetDriver failed to create driver from definition GameNetDriver
[2023.01.14-12.26.50:779][560]LogNet: CreateNamedNetDriver failed to create driver PendingNetDriver from definition GameNetDriver
[2023.01.14-12.26.50:779][560]LogNet: Warning: Error initializing the pending net driver.  Check the configuration of NetDriverDefinitions and make sure module/plugin dependencies are correct.
[2023.01.14-12.26.50:779][560]LogNet: Warning: Travel Failure: [PendingNetGameCreateFailure]: Error creating network driver.
[2023.01.14-12.26.50:779][560]LogNet: TravelFailure: PendingNetGameCreateFailure, Reason for Failure: 'Error creating network driver.'
[2023.01.14-12.26.50:779][560]LogNet: Warning: Travel Failure: [ClientTravelFailure]: 
[2023.01.14-12.26.50:779][560]LogNet: TravelFailure: ClientTravelFailure, Reason for Failure: ''
[2023.01.14-12.26.50:786][561]LogNet: Browse: /Game/Maps/MainMenu?closed
[2023.01.14-12.26.50:786][561]LogNet: Connection failed; returning to Entry

I would check stuff like:
-Is all my necessary plugin enabled
-Is the NetDriverDefinitions correct (try mine)

I did not disable SteamSocketsPlugin. The logs you send seem to point toward an issue with the creation of you NetDriver. Double check for any easy to miss typo in NetDriverDefinitions of DefaultEngine.ini

1 Like

I’ve fixed “failed to create driver” issue but it’s not connecting. NetDriver sends Handshake request but Server doesn’t respond, so I can’t connect :). I’ll uninstall engine and try it again with fresh 5.1.1 version. I’m stuck on this issue about 2 months and I’m about to give up. Thanks for the answers. @KevinDuguay

When I had a similar issue, it was because I was accidently not using the correct port. You must use port 7777 UDP for unreal. You might need to open other ports for steam.

Hope this helps, it’s all I got.

@Anoberia

Personally, I used wireshark to check the packet sent to the server and it is there that I saw that the destination port had the wrong protocol, in my case.

1 Like