Skip to content

Commit

Permalink
Updated from pipeline, Version : 26.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
AccelByte-Build committed Sep 19, 2024
1 parent 74d1c04 commit 2fd9b0d
Show file tree
Hide file tree
Showing 42 changed files with 1,436 additions and 77 deletions.
13 changes: 7 additions & 6 deletions .variables
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
export DO_UPDATE=true
export LEVEL=CRITICAL
export REPO_NAME=justice-unreal-sdk-plugin
export WORKDIR=/tmp/pipelines/7627503846/1420842363/
export COMMIT_HASH=a81081e5766309e4756cf501493ec919be8b655f
export GIT_HASH=a81081e5766309e4756cf501493ec919be8b655f
export VERSION=26.1.1
export REVISION_ID=26.1.1
export WORKDIR=/tmp/pipelines/7862924541/1459818522/
export COMMIT_HASH=003473edf005d7cc8263e4cb21cb3ae2bf0dbbaa
export GIT_HASH=003473edf005d7cc8263e4cb21cb3ae2bf0dbbaa
export VERSION=26.2.0
export REVISION_ID=26.2.0
export [email protected]
export COMMIT_MESSAGE_BASE64='Y2hvcmUocmVsZWFzZSk6IDI2LjEuMSAtIGNvbW1pdGVkIGFuZCB0YWdnZWQgYnkgSmVua2lucwo='
export COMMIT_MESSAGE_BASE64='Y2hvcmUocmVsZWFzZSk6IDI2LjIuMCAtIGNvbW1pdGVkIGFuZCB0YWdnZWQgYnkgSmVua2luc2Fnc1ZlcnNpb246IjMuNzcuMCIKCg=='
4 changes: 2 additions & 2 deletions AccelByteUe4Sdk.uplugin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"FileVersion": 3,
"Version": 75,
"VersionName": "26.1.1",
"Version": 76,
"VersionName": "26.2.0",
"FriendlyName": "AccelByte Unreal Engine SDK",
"Description": "Official AccelByte SDK for Unreal Engine 4",
"Category": "Online Platform",
Expand Down
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,34 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [26.2.0](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/branches/compare/26.2.0%0D26.1.1) (2024-09-19)


### Features

* Add TicketID in matchmaking v2 canceled notification model ([ed30b18](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/ed30b1836e23107e8ef84149a5ab8016637e65e4))
* **agreement:** add array of tags inside public policy model ([6e0deba](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/6e0debac6e4ef482f7bf1a28d16aafc420a3b3eb))
* **DSHub:** add X-Ab-Custom header when connecting DSHub ([2e0afad](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/2e0afad1c0a25793749703390399c7cf1541dd35))
* **inventory:** add bulk endpoints and add new fields to inventory item response ([cd6ce5f](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/cd6ce5f07684fe89859ca41d2521f51ceab27863))
* **serviceLabel:** add additional optional parameter to allow serviceLabel for authentication ([43d739d](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/43d739dc474bc931e68e723943b8e14570a15423))
* **session history:** add a new endpoint to get game session history ([89f5bb7](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/89f5bb715d55ea49f140c9200e9ff91545b7b8d3))
* **session:** add API to kick user from a game session ([b8fbe03](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/b8fbe03966443267d6417ca19d8629a88a45cf86))
* **user:** add API for update password, get mfa status, and setup mfa ([dafb0a3](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/dafb0a33f075e370d8a76e211934247b96916983))
* **user:** add support for user account creation with mandatory email verification ([476cbaa](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/476cbaa2e59a17dbfcde1e45f38c90e47dca1543))


### Bug Fixes

* change game telemetry `flightId` case to PascalCase `FlightId` ([745b853](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/745b853f6a1147421d7b6f18a2eca4f17af58a9c))
* **commerce:** change the default value of AutoAck on FAccelByteModelsPlatformSyncMobileGoogle to false ([cd11b20](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/cd11b205193e50955a6a3fa4e2329d9f4d0b954e))
* **lobby:** missing message type field ([605619e](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/605619ea15d8f8ec46dd0967d5494283b384786c))
* **settings:** fix load ams server settings ([f29fc4a](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/f29fc4ae987465734053daa07e88fe68b2a4139d))


### Refactors

* move QoS GetServerLatencies from after user logged in, to SDK Module OnGameInstanceCreated ([3be2e31](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/3be2e31fcd43bbb2fc1c29aef00e337378428cbc))

### [26.1.1](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/branches/compare/26.1.1%0D26.1.0) (2024-08-21)


Expand Down
Binary file modified Content/CompatibilityMap.json
Binary file not shown.
9 changes: 9 additions & 0 deletions Source/AccelByteUe4Sdk/Private/AccelByteUe4SdkModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "Api/AccelByteHeartBeatApi.h"
#include "Api/AccelBytePredefinedEventApi.h"
#include "Api/AccelByteGameStandardEventApi.h"
#include "Api/AccelByteQos.h"
#include "Core/ServerTime/AccelByteTimeManager.h"
#include "GameServerApi/AccelByteServerAMSApi.h"
#include "Engine/GameInstance.h"
Expand Down Expand Up @@ -427,6 +428,14 @@ void FAccelByteUe4SdkModule::OnGameInstanceCreated(UGameInstance* GameInstance)
AccelByte::FRegistry::ServerAMS.Connect();
}
}
else
{
// only do QoS latency check if not disabled in settings
if(!AccelByte::FRegistry::Settings.bDisableAutoGetQosLatencies)
{
AccelByte::FRegistry::Qos.GetServerLatencies(nullptr, nullptr);
}
}

AccelByte::FRegistry::TimeManager.GetServerTime({}, {});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ void GameTelemetry::SendProtectedEvents(TArray<TSharedPtr<FAccelByteModelsTeleme
JsonObject->SetStringField("EventName", Event->EventName);
JsonObject->SetObjectField("Payload", Event->Payload);
JsonObject->SetStringField("ClientTimestamp", FAccelByteUtilities::GetCurrentServerTime().ToIso8601());
JsonObject->SetStringField("flightId", FAccelByteUtilities::GetFlightId());
JsonObject->SetStringField("FlightId", FAccelByteUtilities::GetFlightId());
JsonObject->SetStringField("DeviceType", FAccelByteUtilities::GetPlatformName());

JsonArray.Add(MakeShared<FJsonValueObject>(JsonObject));
Expand Down
1 change: 1 addition & 0 deletions Source/AccelByteUe4Sdk/Private/Api/AccelByteLobbyApi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2959,6 +2959,7 @@ void Lobby::HandleMessageNotif(FString const& ReceivedMessageType
case(Notif::MessageNotif):
{
FAccelByteModelsNotificationMessage NotificationMessage;
NotificationMessage.Type = ReceivedMessageType;
FString PayloadKey = "payload";
if (ParsedJsonObj->HasTypedField<EJson::Object>(PayloadKey))
{
Expand Down
21 changes: 0 additions & 21 deletions Source/AccelByteUe4Sdk/Private/Api/AccelByteQos.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,7 @@ Qos::Qos(Credentials& InCredentialsRef
#else
, MessagingSystemWPtr{InMessagingSystemRef.AsWeak()}
#endif
, bValidityFlagPtr(MakeShared<bool>(true))
{
// Credentials is possibly destroyed before we are so we can't remove
// from the delegate in our destructor. This weak pointer allows us to
// know whether `this` is valid.
TWeakPtr<bool> ValidityFlag = bValidityFlagPtr;
CredentialsRef->OnLoginSuccess().AddLambda([ValidityFlag, this](const FOauth2Token& Response)
{
if (!ValidityFlag.IsValid())
return;
OnLoginSuccess(Response);
});


OnLobbyConnectedHandle = FOnMessagingSystemReceivedMessage::CreateRaw(this, &Qos::OnLobbyConnected);
auto MessagingSystemPtr = MessagingSystemWPtr.Pin();
if (MessagingSystemPtr.IsValid())
Expand All @@ -63,17 +50,9 @@ Qos::~Qos()
}
OnLobbyConnectedHandle.Unbind();

// Indicate to the OnLoginSuccess lambda that we have been destroyed and `this` is no longer valid.
bValidityFlagPtr.Reset();

FTickerAlias::GetCoreTicker().RemoveTicker(QosUpdateCheckerHandle);
}

void Qos::OnLoginSuccess(const FOauth2Token& Response)
{
GetServerLatencies(nullptr, nullptr);
}

void Qos::GetServerLatencies(const THandler<TArray<TPair<FString, float>>>& OnSuccess
, const FErrorHandler& OnError)
{
Expand Down
29 changes: 29 additions & 0 deletions Source/AccelByteUe4Sdk/Private/Api/AccelByteSessionApi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,35 @@ FAccelByteTaskWPtr Session::CancelGameSessionInvitation(FString const& GameSessi
return HttpClient.ApiRequest(TEXT("DELETE"), Url, {}, FString(), OnSuccess, OnError);
}

FAccelByteTaskWPtr Session::KickUserFromGameSession(FString const& GameSessionID, FString const& UserID
, FVoidHandler const& OnSuccess
, FErrorHandler const& OnError)
{
FReport::Log(FString(__FUNCTION__));

if (GameSessionID.IsEmpty())
{
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("GameSessionID is empty!"));
return nullptr;
}

if (!ValidateAccelByteId(UserID, EAccelByteIdHypensRule::NO_HYPENS
, FAccelByteIdValidator::GetUserIdInvalidMessage(UserID)
, OnError))
{
OnError.ExecuteIfBound(static_cast<int32>(ErrorCodes::InvalidRequest), TEXT("UserID is invalid"));
return nullptr;
}

const FString Url = FString::Printf(TEXT("%s/v1/public/namespaces/%s/gamesessions/%s/members/%s/kick")
, *SettingsRef.SessionServerUrl
, *CredentialsRef->GetNamespace()
, *GameSessionID
, *UserID);

return HttpClient.ApiRequest(TEXT("DELETE"), Url, {}, FString(), OnSuccess, OnError);
}

FAccelByteTaskWPtr Session::CreateParty(FAccelByteModelsV2PartyCreateRequest const& CreateRequest
, THandler<FAccelByteModelsV2PartySession> const& OnSuccess
, FErrorHandler const& OnError)
Expand Down
48 changes: 48 additions & 0 deletions Source/AccelByteUe4Sdk/Private/Api/AccelByteSessionHistoryApi.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Copyright (c) 2023 AccelByte Inc. All Rights Reserved.
// This is licensed software from AccelByte Inc, for limitations
// and restrictions contact your company contract manager.

#include "Api/AccelByteSessionHistoryApi.h"
#include "Core/AccelByteRegistry.h"
#include "Core/AccelByteHttpRetryScheduler.h"
#include "Core/AccelByteReport.h"
#include "Core/AccelByteSettings.h"
#include "Core/AccelByteUtilities.h"
#include "Misc/Base64.h"

namespace AccelByte
{
namespace Api
{

SessionHistory::SessionHistory(Credentials const& InCredentialsRef
, Settings const& InSettingsRef
, FHttpRetryScheduler& InHttpRef)
: FApiBase(InCredentialsRef, InSettingsRef, InHttpRef)
{}

SessionHistory::~SessionHistory(){}

FAccelByteTaskWPtr SessionHistory::QueryGameSessionHistory(THandler<FAccelByteModelsGameSessionHistoriesResult> const& OnSuccess
, FErrorHandler const& OnError
, EAccelByteGeneralSortBy const& SortBy
, int32 Offset
, int32 Limit)
{
FReport::Log(FString(__FUNCTION__));

const FString Url = FString::Printf(TEXT("%s/v1/public/namespaces/%s/users/me/gamesessions")
, *SettingsRef.SessionHistoryServerUrl
, *CredentialsRef->GetNamespace());

const TMultiMap<FString, FString> QueryParams{
{ TEXT("order"), FAccelByteUtilities::ConvertAccelByteGeneralSortByToString(SortBy) },
{ TEXT("limit"), Limit > 0 ? FString::FromInt(Limit) : TEXT("") },
{ TEXT("offset"), Offset >= 0 ? FString::FromInt(Offset) : TEXT("") }
};

return HttpClient.ApiRequest(TEXT("GET"), Url, QueryParams, OnSuccess, OnError);
}

} // Namespace Api
} // Namespace AccelByte
Loading

0 comments on commit 2fd9b0d

Please sign in to comment.