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

@@ -33,7 +33,6 @@ void ADS_GameMode::BeginPlay()
void ADS_GameMode::InitGame(const FString& MapName, const FString& Options, FString& ErrorMessage) void ADS_GameMode::InitGame(const FString& MapName, const FString& Options, FString& ErrorMessage)
{ {
Super::InitGame(MapName, Options, ErrorMessage); Super::InitGame(MapName, Options, ErrorMessage);
UE_LOGFMT(LogTemp, Error, "We got into InitGame of ADS_GameMode");
#if WITH_GAMELIFT #if WITH_GAMELIFT
CachedCommandLine = FCommandLine::Get(); CachedCommandLine = FCommandLine::Get();

View File

@@ -37,8 +37,8 @@ void FDSGameSession::Dump() const
UE_LOGFMT(LogDedicatedServers, Log, "GameSessionId: {GameSessionId}", *GameSessionId); UE_LOGFMT(LogDedicatedServers, Log, "GameSessionId: {GameSessionId}", *GameSessionId);
UE_LOGFMT(LogDedicatedServers, Log, " Name: {Name}", *Name); UE_LOGFMT(LogDedicatedServers, Log, " Name: {Name}", *Name);
UE_LOGFMT(LogDedicatedServers, Log, " FleetArn: {FleetArn}", *FleetArn); UE_LOGFMT(LogDedicatedServers, Log, " FleetArn: {FleetArn}", *FleetArn);
UE_LOGFMT(LogDedicatedServers, Log, " CreationTime: {CreationTime}", CreationTime); // 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, " TerminationTime: {TerminationTime}", *TerminationTime); // need to write a conversion function
UE_LOGFMT(LogDedicatedServers, Log, " CurrentPlayerSessionCount: {CurrentPlayerSessionCount}", CurrentPlayerSessionCount); UE_LOGFMT(LogDedicatedServers, Log, " CurrentPlayerSessionCount: {CurrentPlayerSessionCount}", CurrentPlayerSessionCount);
UE_LOGFMT(LogDedicatedServers, Log, " MaximumPlayerSessionCount: {MaximumPlayerSessionCount}", MaximumPlayerSessionCount); UE_LOGFMT(LogDedicatedServers, Log, " MaximumPlayerSessionCount: {MaximumPlayerSessionCount}", MaximumPlayerSessionCount);
UE_LOGFMT(LogDedicatedServers, Log, " Status: {Status}", *Status); 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, " Port: {Port}", Port);
UE_LOGFMT(LogDedicatedServers, Log, " Status: {Status}", *Status); UE_LOGFMT(LogDedicatedServers, Log, " Status: {Status}", *Status);
UE_LOGFMT(LogDedicatedServers, Log, " PlayerData: {PlayerData}", *PlayerData); UE_LOGFMT(LogDedicatedServers, Log, " PlayerData: {PlayerData}", *PlayerData);
UE_LOGFMT(LogDedicatedServers, Log, " CreationTime: {CreationTime}", CreationTime); UE_LOGFMT(LogDedicatedServers, Log, " CreationTime: {CreationTime}", *CreationTime);
UE_LOGFMT(LogDedicatedServers, Log, " TerminationTime: {TerminationTime}", TerminationTime); 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) 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();
}
} }

View File

@@ -56,10 +56,10 @@ struct FDSGameSession
FString FleetArn{}; FString FleetArn{};
UPROPERTY() UPROPERTY()
double CreationTime{}; FString CreationTime{};
UPROPERTY() UPROPERTY()
double TerminationTime{}; FString TerminationTime{};
UPROPERTY() UPROPERTY()
int32 CurrentPlayerSessionCount{}; int32 CurrentPlayerSessionCount{};
@@ -116,7 +116,7 @@ struct FDSPlayerSession
/** Unix timestamp for when the player session was created */ /** Unix timestamp for when the player session was created */
UPROPERTY() UPROPERTY()
int64 CreationTime{}; FString CreationTime{};
UPROPERTY() UPROPERTY()
FString DnsName{}; FString DnsName{};
@@ -152,7 +152,7 @@ struct FDSPlayerSession
/** Unix timestamp for when the player session was terminated (0 if still active) */ /** Unix timestamp for when the player session was terminated (0 if still active) */
UPROPERTY() UPROPERTY()
int64 TerminationTime{}; FString TerminationTime{};
void Dump() const; void Dump() const;
}; };