From 16e4470081170f2565436b88b01e3af330fa946f Mon Sep 17 00:00:00 2001 From: Norman Lansing Date: Sun, 5 Apr 2026 20:20:35 -0400 Subject: [PATCH] Lesson 81 - Player Session Struct --- .../Portal/WBP_JoinGame.uasset | Bin 36240 -> 28930 bytes .../Private/UI/HTTP/HTTPRequestTypes.cpp | 18 ++++++- .../Private/UI/Portal/PortalManager.cpp | 12 +++-- .../Public/UI/HTTP/HTTPRequestTypes.h | 50 +++++++++++++++++- .../Public/UI/Portal/PortalManager.h | 2 +- 5 files changed, 74 insertions(+), 8 deletions(-) diff --git a/Content/DedicatedServers/Portal/WBP_JoinGame.uasset b/Content/DedicatedServers/Portal/WBP_JoinGame.uasset index 1fed06a1e7e2ab5129f6ebe15414b26b7fc73163..466d08f8040a1c396f2cd4e30dafdd763ca80e4c 100644 GIT binary patch delta 7132 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 literal 36240 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"Content-Type", "application/json"); TMap Params = { - {TEXT("playerId"), PlayerId}, - {TEXT("sessionId"), GameSessionId} + {TEXT("playerId"), PlayerId }, + {TEXT("gameSessionId"), GameSessionId } }; - Request->SetContentAsString(SerializeJsonContent(Params)); + const FString Content = SerializeJsonContent(Params); + + Request->SetContentAsString(Content); Request->ProcessRequest(); } void UPortalManager::FindPlayerSession_Response(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful) { - + GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Create Player Session Response Received...")); } diff --git a/Source/DedicatedServers/Public/UI/HTTP/HTTPRequestTypes.h b/Source/DedicatedServers/Public/UI/HTTP/HTTPRequestTypes.h index 53441e3a..7b72d645 100644 --- a/Source/DedicatedServers/Public/UI/HTTP/HTTPRequestTypes.h +++ b/Source/DedicatedServers/Public/UI/HTTP/HTTPRequestTypes.h @@ -107,4 +107,52 @@ struct FDSGameSession FString PlayerGatewayStatus{}; void Dump() const; -}; \ No newline at end of file +}; + +USTRUCT(BlueprintType) +struct FDSPlayerSession +{ + GENERATED_BODY() + + /** Unix timestamp for when the player session was created */ + UPROPERTY() + int64 CreationTime{}; + + UPROPERTY() + FString DnsName{}; + + UPROPERTY() + FString FleetArn{}; + + UPROPERTY() + FString FleetId{}; + + UPROPERTY() + FString GameSessionId{}; + + UPROPERTY() + FString IpAddress{}; + + UPROPERTY() + FString PlayerData{}; + + UPROPERTY() + FString PlayerId{}; + + UPROPERTY() + FString PlayerSessionId{}; + + /** Network port number for connecting to the game session */ + UPROPERTY() + int32 Port{}; + + /** e.g. "RESERVED", "ACTIVE", "COMPLETED", "TIMEDOUT" */ + UPROPERTY() + FString Status{}; + + /** Unix timestamp for when the player session was terminated (0 if still active) */ + UPROPERTY() + int64 TerminationTime{}; + + void Dump() const; +}; diff --git a/Source/DedicatedServers/Public/UI/Portal/PortalManager.h b/Source/DedicatedServers/Public/UI/Portal/PortalManager.h index e6c2b99c..b1694f78 100644 --- a/Source/DedicatedServers/Public/UI/Portal/PortalManager.h +++ b/Source/DedicatedServers/Public/UI/Portal/PortalManager.h @@ -28,7 +28,7 @@ private: void FindOrCreateGameSession_Response(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful); FString GetUniquePlayerId() const; - void HandleGameSessionStatus(const FString& Status, const FString& SessionId); + void HandleGameSessionStatus(const FString& SessionId, const FString& Status); void TryCreatePlayerSession(const FString& PlayerId, const FString& GameSessionId); void FindPlayerSession_Response(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);