Lesson 82 - Parsing Create Player Sessions

This commit is contained in:
Norman Lansing
2026-04-05 20:52:27 -04:00
parent 16e4470081
commit 03867600b8
4 changed files with 27 additions and 10 deletions

View File

@@ -37,8 +37,8 @@ void FDSGameSession::Dump() const
UE_LOGFMT(LogDedicatedServers, Log, "GameSessionId: {GameSessionId}", *GameSessionId);
UE_LOGFMT(LogDedicatedServers, Log, " Name: {Name}", *Name);
UE_LOGFMT(LogDedicatedServers, Log, " FleetArn: {FleetArn}", *FleetArn);
UE_LOGFMT(LogDedicatedServers, Log, " CreationTime: {CreationTime}", CreationTime); // need to write a conversion function
UE_LOGFMT(LogDedicatedServers, Log, " TerminationTime: {TerminationTime}", TerminationTime); // need to write a conversion function
UE_LOGFMT(LogDedicatedServers, Log, " CreationTime: {CreationTime}", *CreationTime); // need to write a conversion function
UE_LOGFMT(LogDedicatedServers, Log, " TerminationTime: {TerminationTime}", *TerminationTime); // need to write a conversion function
UE_LOGFMT(LogDedicatedServers, Log, " CurrentPlayerSessionCount: {CurrentPlayerSessionCount}", CurrentPlayerSessionCount);
UE_LOGFMT(LogDedicatedServers, Log, " MaximumPlayerSessionCount: {MaximumPlayerSessionCount}", MaximumPlayerSessionCount);
UE_LOGFMT(LogDedicatedServers, Log, " Status: {Status}", *Status);
@@ -75,6 +75,6 @@ void FDSPlayerSession::Dump() const
UE_LOGFMT(LogDedicatedServers, Log, " Port: {Port}", Port);
UE_LOGFMT(LogDedicatedServers, Log, " Status: {Status}", *Status);
UE_LOGFMT(LogDedicatedServers, Log, " PlayerData: {PlayerData}", *PlayerData);
UE_LOGFMT(LogDedicatedServers, Log, " CreationTime: {CreationTime}", CreationTime);
UE_LOGFMT(LogDedicatedServers, Log, " TerminationTime: {TerminationTime}", TerminationTime);
UE_LOGFMT(LogDedicatedServers, Log, " CreationTime: {CreationTime}", *CreationTime);
UE_LOGFMT(LogDedicatedServers, Log, " TerminationTime: {TerminationTime}", *TerminationTime);
}

View File

@@ -145,5 +145,23 @@ void UPortalManager::TryCreatePlayerSession(const FString& PlayerId, const FStri
void UPortalManager::FindPlayerSession_Response(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
{
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Create Player Session Response Received..."));
if (!bWasSuccessful)
{
BroadcastJoinGameSessionMessage.Broadcast(HTTPStatusMessages::SomethingWentWrong, true);
}
TSharedPtr<FJsonObject> JsonObject;
TSharedRef<TJsonReader<>> JsonReader = TJsonReaderFactory<>::Create(Response->GetContentAsString());
if (FJsonSerializer::Deserialize(JsonReader, JsonObject))
{
if (ContainsErrors(JsonObject))
{
BroadcastJoinGameSessionMessage.Broadcast(HTTPStatusMessages::SomethingWentWrong, true);
}
FDSPlayerSession PlayerSession;
FJsonObjectConverter::JsonObjectToUStruct(JsonObject.ToSharedRef(), &PlayerSession);
PlayerSession.Dump();
}
}