Skip to content

Commit

Permalink
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210125
Browse files Browse the repository at this point in the history
  • Loading branch information
PlayFabJenkinsBot committed Jan 25, 2021
2 parents 270b8ee + 8f93b58 commit f30a21e
Show file tree
Hide file tree
Showing 15 changed files with 707 additions and 143 deletions.
8 changes: 4 additions & 4 deletions PlayFabSDK/source/PlayFabClientModels.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3016,7 +3016,7 @@ public class GetPlayFabIDsFromNintendoSwitchDeviceIdsResult : PlayFabResultCommo
public class GetPlayFabIDsFromPSNAccountIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// Id of the PSN issuer environment. If null, defaults to 256 (production)
/// Id of the PSN issuer environment. If null, defaults to production environment.
/// </summary>
public int? IssuerId ;

Expand Down Expand Up @@ -4076,7 +4076,7 @@ public class LinkPSNAccountRequest : PlayFabRequestCommon
public bool? ForceLink ;

/// <summary>
/// Id of the PSN issuer environment. If null, defaults to 256 (production)
/// Id of the PSN issuer environment. If null, defaults to production environment.
/// </summary>
public int? IssuerId ;

Expand Down Expand Up @@ -5041,7 +5041,7 @@ public class LoginWithPSNRequest : PlayFabRequestCommon
public GetPlayerCombinedInfoRequestParams InfoRequestParameters ;

/// <summary>
/// Id of the PSN issuer environment. If null, defaults to 256 (production)
/// Id of the PSN issuer environment. If null, defaults to production environment.
/// </summary>
public int? IssuerId ;

Expand Down Expand Up @@ -6049,7 +6049,7 @@ public class RefreshPSNAuthTokenRequest : PlayFabRequestCommon
public string AuthCode ;

/// <summary>
/// Id of the PSN issuer environment. If null, defaults to 256 (production)
/// Id of the PSN issuer environment. If null, defaults to production environment.
/// </summary>
public int? IssuerId ;

Expand Down
110 changes: 81 additions & 29 deletions PlayFabSDK/source/PlayFabMultiplayerAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,33 @@ public static async Task<PlayFabResult<CreateMatchmakingTicketResult>> CreateSer
return new PlayFabResult<CreateMatchmakingTicketResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Creates a request to change a title's multiplayer server quotas.
/// </summary>
public static async Task<PlayFabResult<CreateTitleMultiplayerServersQuotaChangeResponse>> CreateTitleMultiplayerServersQuotaChangeAsync(CreateTitleMultiplayerServersQuotaChangeRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? PlayFabSettings.staticPlayer;
var requestSettings = PlayFabSettings.staticSettings;
if (requestContext.EntityToken == null) throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call Client Login or GetEntityToken before calling this method");


var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/CreateTitleMultiplayerServersQuotaChange", request, "X-EntityToken", requestContext.EntityToken, extraHeaders);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<CreateTitleMultiplayerServersQuotaChangeResponse> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<CreateTitleMultiplayerServersQuotaChangeResponse>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<CreateTitleMultiplayerServersQuotaChangeResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Deletes a multiplayer server game asset for a title.
/// </summary>
Expand Down Expand Up @@ -955,6 +982,33 @@ public static async Task<PlayFabResult<GetTitleEnabledForMultiplayerServersStatu
return new PlayFabResult<GetTitleEnabledForMultiplayerServersStatusResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Gets a title's server quota change request.
/// </summary>
public static async Task<PlayFabResult<GetTitleMultiplayerServersQuotaChangeResponse>> GetTitleMultiplayerServersQuotaChangeAsync(GetTitleMultiplayerServersQuotaChangeRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? PlayFabSettings.staticPlayer;
var requestSettings = PlayFabSettings.staticSettings;
if (requestContext.EntityToken == null) throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call Client Login or GetEntityToken before calling this method");


var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/GetTitleMultiplayerServersQuotaChange", request, "X-EntityToken", requestContext.EntityToken, extraHeaders);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<GetTitleMultiplayerServersQuotaChangeResponse> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<GetTitleMultiplayerServersQuotaChangeResponse>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<GetTitleMultiplayerServersQuotaChangeResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Gets the quotas for a title in relation to multiplayer servers.
/// </summary>
Expand Down Expand Up @@ -1091,35 +1145,6 @@ public static async Task<PlayFabResult<ListBuildAliasesForTitleResponse>> ListBu
return new PlayFabResult<ListBuildAliasesForTitleResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Lists summarized details of all multiplayer server builds for a title. Accepts tokens for title and if game client
/// access is enabled, allows game client to request list of builds with player entity token.
/// </summary>
[Obsolete("Use 'ListBuildSummariesV2' instead", true)]
public static async Task<PlayFabResult<ListBuildSummariesResponse>> ListBuildSummariesAsync(ListBuildSummariesRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? PlayFabSettings.staticPlayer;
var requestSettings = PlayFabSettings.staticSettings;
if (requestContext.EntityToken == null) throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call Client Login or GetEntityToken before calling this method");


var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/ListBuildSummaries", request, "X-EntityToken", requestContext.EntityToken, extraHeaders);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<ListBuildSummariesResponse> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<ListBuildSummariesResponse>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<ListBuildSummariesResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Lists summarized details of all multiplayer server builds for a title. Accepts tokens for title and if game client
/// access is enabled, allows game client to request list of builds with player entity token.
Expand Down Expand Up @@ -1391,6 +1416,33 @@ public static async Task<PlayFabResult<ListServerBackfillTicketsForPlayerResult>
return new PlayFabResult<ListServerBackfillTicketsForPlayerResult> { Result = result, CustomData = customData };
}

/// <summary>
/// List all server quota change requests for a title.
/// </summary>
public static async Task<PlayFabResult<ListTitleMultiplayerServersQuotaChangesResponse>> ListTitleMultiplayerServersQuotaChangesAsync(ListTitleMultiplayerServersQuotaChangesRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? PlayFabSettings.staticPlayer;
var requestSettings = PlayFabSettings.staticSettings;
if (requestContext.EntityToken == null) throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call Client Login or GetEntityToken before calling this method");


var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/ListTitleMultiplayerServersQuotaChanges", request, "X-EntityToken", requestContext.EntityToken, extraHeaders);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<ListTitleMultiplayerServersQuotaChangesResponse> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<ListTitleMultiplayerServersQuotaChangesResponse>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<ListTitleMultiplayerServersQuotaChangesResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Lists virtual machines for a title.
/// </summary>
Expand Down
106 changes: 78 additions & 28 deletions PlayFabSDK/source/PlayFabMultiplayerInstanceAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,32 @@ public async Task<PlayFabResult<CreateMatchmakingTicketResult>> CreateServerMatc
return new PlayFabResult<CreateMatchmakingTicketResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Creates a request to change a title's multiplayer server quotas.
/// </summary>
public async Task<PlayFabResult<CreateTitleMultiplayerServersQuotaChangeResponse>> CreateTitleMultiplayerServersQuotaChangeAsync(CreateTitleMultiplayerServersQuotaChangeRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? authenticationContext;
var requestSettings = apiSettings ?? PlayFabSettings.staticSettings;
if (requestContext.EntityToken == null) throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call Client Login or GetEntityToken before calling this method");

var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/CreateTitleMultiplayerServersQuotaChange", request, "X-EntityToken", requestContext.EntityToken, extraHeaders, requestSettings);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<CreateTitleMultiplayerServersQuotaChangeResponse> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<CreateTitleMultiplayerServersQuotaChangeResponse>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<CreateTitleMultiplayerServersQuotaChangeResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Deletes a multiplayer server game asset for a title.
/// </summary>
Expand Down Expand Up @@ -939,6 +965,32 @@ public async Task<PlayFabResult<GetTitleEnabledForMultiplayerServersStatusRespon
return new PlayFabResult<GetTitleEnabledForMultiplayerServersStatusResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Gets a title's server quota change request.
/// </summary>
public async Task<PlayFabResult<GetTitleMultiplayerServersQuotaChangeResponse>> GetTitleMultiplayerServersQuotaChangeAsync(GetTitleMultiplayerServersQuotaChangeRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? authenticationContext;
var requestSettings = apiSettings ?? PlayFabSettings.staticSettings;
if (requestContext.EntityToken == null) throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call Client Login or GetEntityToken before calling this method");

var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/GetTitleMultiplayerServersQuotaChange", request, "X-EntityToken", requestContext.EntityToken, extraHeaders, requestSettings);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<GetTitleMultiplayerServersQuotaChangeResponse> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<GetTitleMultiplayerServersQuotaChangeResponse>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<GetTitleMultiplayerServersQuotaChangeResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Gets the quotas for a title in relation to multiplayer servers.
/// </summary>
Expand Down Expand Up @@ -1070,34 +1122,6 @@ public async Task<PlayFabResult<ListBuildAliasesForTitleResponse>> ListBuildAlia
return new PlayFabResult<ListBuildAliasesForTitleResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Lists summarized details of all multiplayer server builds for a title. Accepts tokens for title and if game client
/// access is enabled, allows game client to request list of builds with player entity token.
/// </summary>
[Obsolete("Use 'ListBuildSummariesV2' instead", true)]
public async Task<PlayFabResult<ListBuildSummariesResponse>> ListBuildSummariesAsync(ListBuildSummariesRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? authenticationContext;
var requestSettings = apiSettings ?? PlayFabSettings.staticSettings;
if (requestContext.EntityToken == null) throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call Client Login or GetEntityToken before calling this method");

var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/ListBuildSummaries", request, "X-EntityToken", requestContext.EntityToken, extraHeaders, requestSettings);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<ListBuildSummariesResponse> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<ListBuildSummariesResponse>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<ListBuildSummariesResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Lists summarized details of all multiplayer server builds for a title. Accepts tokens for title and if game client
/// access is enabled, allows game client to request list of builds with player entity token.
Expand Down Expand Up @@ -1359,6 +1383,32 @@ public async Task<PlayFabResult<ListServerBackfillTicketsForPlayerResult>> ListS
return new PlayFabResult<ListServerBackfillTicketsForPlayerResult> { Result = result, CustomData = customData };
}

/// <summary>
/// List all server quota change requests for a title.
/// </summary>
public async Task<PlayFabResult<ListTitleMultiplayerServersQuotaChangesResponse>> ListTitleMultiplayerServersQuotaChangesAsync(ListTitleMultiplayerServersQuotaChangesRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? authenticationContext;
var requestSettings = apiSettings ?? PlayFabSettings.staticSettings;
if (requestContext.EntityToken == null) throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call Client Login or GetEntityToken before calling this method");

var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/ListTitleMultiplayerServersQuotaChanges", request, "X-EntityToken", requestContext.EntityToken, extraHeaders, requestSettings);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<ListTitleMultiplayerServersQuotaChangesResponse> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<ListTitleMultiplayerServersQuotaChangesResponse>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<ListTitleMultiplayerServersQuotaChangesResponse> { Result = result, CustomData = customData };
}

/// <summary>
/// Lists virtual machines for a title.
/// </summary>
Expand Down
Loading

0 comments on commit f30a21e

Please sign in to comment.