I have a new project I’m starting up and I wanted to iron out the kinks with steam dedicated server because I know on my last one it was a pain. I’ve copied a lot of what I had done previously, and I’m not having much luck getting the steam dedicated server to show up when I do a find sessions on my client. The find sessions returns a successful status code, but returns 0 zero results.
I’ve gone through a bunch of the setup, including the DefaultEngine.ini stuff, I’ve put in my own app id from steam, added a custom game session class, custom game instance class, I’ve opened up 27015, 7777, etc, etc. I can even join the game if I open up the console and do a open steam.STEAMP2PADDRESS. As far as I’m concerned, the server is working as you would expect, but the session is not making it up to the steam master server list. If I create a session on a client through create session, and then look on another client, it finds it just fine, and I can even join it that way. But the dedicated server is a no go.
I’ve tried it with the null subsystem, using LAN, and it works exactly how I would expect it to. Spin up dedicated server, find session, join it.
At a loss here, anyone ever experience similar issues before? Any help is appreciated, thank you!
My register server function:
UE_LOG(LogOnlineGame, Verbose, TEXT("Start registering server"));
IOnlineSubsystem* OnlineSub = IOnlineSubsystem::Get();
if (OnlineSub)
{
UE_LOG(LogOnlineGame, Verbose, TEXT("Online sub good"));
IOnlineSessionPtr SessionInt = Online::GetSessionInterface();
if (SessionInt.IsValid())
{
UE_LOG(LogOnlineGame, Verbose, TEXT("Sesssion int valid"));
TSharedPtr<class FOnlineSessionSettings> ShooterHostSettings = MakeShareable(new FOnlineSessionSettings());
ShooterHostSettings->Set(SETTING_MAPNAME, GetWorld()->GetMapName(), EOnlineDataAdvertisementType::ViaOnlineService);
ShooterHostSettings->NumPublicConnections = 64;
ShooterHostSettings->NumPrivateConnections = 0;
ShooterHostSettings->bIsLANMatch = false;
ShooterHostSettings->bShouldAdvertise = true;
ShooterHostSettings->bAllowJoinInProgress = true;
ShooterHostSettings->bAllowInvites = true;
ShooterHostSettings->bUsesPresence = false;
ShooterHostSettings->bAllowJoinViaPresence = true;
ShooterHostSettings->bAllowJoinViaPresenceFriendsOnly = false;
ShooterHostSettings->bIsDedicated = true;
ShooterHostSettings->bAntiCheatProtected = true;
//HostSettings = ShooterHostSettings;
OnCreateSessionCompleteDelegateHandle = SessionInt->AddOnCreateSessionCompleteDelegate_Handle(OnCreateSessionCompleteDelegate);
SessionInt->CreateSession(0, GameSessionName, *ShooterHostSettings);
UE_LOG(LogOnlineGame, Verbose, TEXT("Starting session %s on server"), *FName(GameSessionName).ToString());
}
}