You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5358 lines
199 KiB
C#
5358 lines
199 KiB
C#
#if !DISABLE_PLAYFABENTITY_API
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using PlayFab.SharedModels;
|
|
|
|
namespace PlayFab.MultiplayerModels
|
|
{
|
|
public enum AccessPolicy
|
|
{
|
|
Public,
|
|
Friends,
|
|
Private
|
|
}
|
|
|
|
[Serializable]
|
|
public class AssetReference : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The asset's file name. This is a filename with the .zip, .tar, or .tar.gz extension.
|
|
/// </summary>
|
|
public string FileName;
|
|
/// <summary>
|
|
/// The asset's mount path.
|
|
/// </summary>
|
|
public string MountPath;
|
|
}
|
|
|
|
[Serializable]
|
|
public class AssetReferenceParams : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The asset's file name.
|
|
/// </summary>
|
|
public string FileName;
|
|
/// <summary>
|
|
/// The asset's mount path.
|
|
/// </summary>
|
|
public string MountPath;
|
|
}
|
|
|
|
[Serializable]
|
|
public class AssetSummary : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The asset's file name. This is a filename with the .zip, .tar, or .tar.gz extension.
|
|
/// </summary>
|
|
public string FileName;
|
|
/// <summary>
|
|
/// The metadata associated with the asset.
|
|
/// </summary>
|
|
public Dictionary<string,string> Metadata;
|
|
}
|
|
|
|
public enum AttributeMergeFunction
|
|
{
|
|
Min,
|
|
Max,
|
|
Average
|
|
}
|
|
|
|
public enum AttributeNotSpecifiedBehavior
|
|
{
|
|
UseDefault,
|
|
MatchAny
|
|
}
|
|
|
|
public enum AttributeSource
|
|
{
|
|
User,
|
|
PlayerEntity
|
|
}
|
|
|
|
public enum AzureRegion
|
|
{
|
|
AustraliaEast,
|
|
AustraliaSoutheast,
|
|
BrazilSouth,
|
|
CentralUs,
|
|
EastAsia,
|
|
EastUs,
|
|
EastUs2,
|
|
JapanEast,
|
|
JapanWest,
|
|
NorthCentralUs,
|
|
NorthEurope,
|
|
SouthCentralUs,
|
|
SoutheastAsia,
|
|
WestEurope,
|
|
WestUs,
|
|
SouthAfricaNorth,
|
|
WestCentralUs,
|
|
KoreaCentral,
|
|
FranceCentral,
|
|
WestUs2,
|
|
CentralIndia,
|
|
UaeNorth,
|
|
UkSouth,
|
|
SwedenCentral
|
|
}
|
|
|
|
public enum AzureVmFamily
|
|
{
|
|
A,
|
|
Av2,
|
|
Dv2,
|
|
Dv3,
|
|
F,
|
|
Fsv2,
|
|
Dasv4,
|
|
Dav4,
|
|
Dadsv5,
|
|
Eav4,
|
|
Easv4,
|
|
Ev4,
|
|
Esv4,
|
|
Dsv3,
|
|
Dsv2,
|
|
NCasT4_v3,
|
|
Ddv4,
|
|
Ddsv4,
|
|
HBv3,
|
|
Ddv5,
|
|
Ddsv5
|
|
}
|
|
|
|
public enum AzureVmSize
|
|
{
|
|
Standard_A1,
|
|
Standard_A2,
|
|
Standard_A3,
|
|
Standard_A4,
|
|
Standard_A1_v2,
|
|
Standard_A2_v2,
|
|
Standard_A4_v2,
|
|
Standard_A8_v2,
|
|
Standard_D1_v2,
|
|
Standard_D2_v2,
|
|
Standard_D3_v2,
|
|
Standard_D4_v2,
|
|
Standard_D5_v2,
|
|
Standard_D2_v3,
|
|
Standard_D4_v3,
|
|
Standard_D8_v3,
|
|
Standard_D16_v3,
|
|
Standard_F1,
|
|
Standard_F2,
|
|
Standard_F4,
|
|
Standard_F8,
|
|
Standard_F16,
|
|
Standard_F2s_v2,
|
|
Standard_F4s_v2,
|
|
Standard_F8s_v2,
|
|
Standard_F16s_v2,
|
|
Standard_D2as_v4,
|
|
Standard_D4as_v4,
|
|
Standard_D8as_v4,
|
|
Standard_D16as_v4,
|
|
Standard_D2a_v4,
|
|
Standard_D4a_v4,
|
|
Standard_D8a_v4,
|
|
Standard_D16a_v4,
|
|
Standard_D2ads_v5,
|
|
Standard_D4ads_v5,
|
|
Standard_D8ads_v5,
|
|
Standard_D16ads_v5,
|
|
Standard_E2a_v4,
|
|
Standard_E4a_v4,
|
|
Standard_E8a_v4,
|
|
Standard_E16a_v4,
|
|
Standard_E2as_v4,
|
|
Standard_E4as_v4,
|
|
Standard_E8as_v4,
|
|
Standard_E16as_v4,
|
|
Standard_D2s_v3,
|
|
Standard_D4s_v3,
|
|
Standard_D8s_v3,
|
|
Standard_D16s_v3,
|
|
Standard_DS1_v2,
|
|
Standard_DS2_v2,
|
|
Standard_DS3_v2,
|
|
Standard_DS4_v2,
|
|
Standard_DS5_v2,
|
|
Standard_NC4as_T4_v3,
|
|
Standard_D2d_v4,
|
|
Standard_D4d_v4,
|
|
Standard_D8d_v4,
|
|
Standard_D16d_v4,
|
|
Standard_D2ds_v4,
|
|
Standard_D4ds_v4,
|
|
Standard_D8ds_v4,
|
|
Standard_D16ds_v4,
|
|
Standard_HB120_16rs_v3,
|
|
Standard_HB120_32rs_v3,
|
|
Standard_HB120_64rs_v3,
|
|
Standard_HB120_96rs_v3,
|
|
Standard_HB120rs_v3,
|
|
Standard_D2d_v5,
|
|
Standard_D4d_v5,
|
|
Standard_D8d_v5,
|
|
Standard_D16d_v5,
|
|
Standard_D32d_v5,
|
|
Standard_D2ds_v5,
|
|
Standard_D4ds_v5,
|
|
Standard_D8ds_v5,
|
|
Standard_D16ds_v5,
|
|
Standard_D32ds_v5
|
|
}
|
|
|
|
[Serializable]
|
|
public class BuildAliasDetailsResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string alias Id of the alias to be created or updated.
|
|
/// </summary>
|
|
public string AliasId;
|
|
/// <summary>
|
|
/// The alias name.
|
|
/// </summary>
|
|
public string AliasName;
|
|
/// <summary>
|
|
/// Array of build selection criteria.
|
|
/// </summary>
|
|
public List<BuildSelectionCriterion> BuildSelectionCriteria;
|
|
}
|
|
|
|
[Serializable]
|
|
public class BuildAliasParams : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The guid string alias ID to use for the request.
|
|
/// </summary>
|
|
public string AliasId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class BuildRegion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The current multiplayer server stats for the region.
|
|
/// </summary>
|
|
public CurrentServerStats CurrentServerStats;
|
|
/// <summary>
|
|
/// Optional settings to control dynamic adjustment of standby target
|
|
/// </summary>
|
|
public DynamicStandbySettings DynamicStandbySettings;
|
|
/// <summary>
|
|
/// Whether the game assets provided for the build have been replicated to this region.
|
|
/// </summary>
|
|
public bool IsAssetReplicationComplete;
|
|
/// <summary>
|
|
/// The maximum number of multiplayer servers for the region.
|
|
/// </summary>
|
|
public int MaxServers;
|
|
/// <summary>
|
|
/// Regional override for the number of multiplayer servers to host on a single VM of the build.
|
|
/// </summary>
|
|
public int? MultiplayerServerCountPerVm;
|
|
/// <summary>
|
|
/// The build region.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// Optional settings to set the standby target to specified values during the supplied schedules
|
|
/// </summary>
|
|
public ScheduledStandbySettings ScheduledStandbySettings;
|
|
/// <summary>
|
|
/// The target number of standby multiplayer servers for the region.
|
|
/// </summary>
|
|
public int StandbyServers;
|
|
/// <summary>
|
|
/// The status of multiplayer servers in the build region. Valid values are - Unknown, Initialized, Deploying, Deployed,
|
|
/// Unhealthy, Deleting, Deleted.
|
|
/// </summary>
|
|
public string Status;
|
|
/// <summary>
|
|
/// Regional override for the VM size the build was created on.
|
|
/// </summary>
|
|
public AzureVmSize? VmSize;
|
|
}
|
|
|
|
[Serializable]
|
|
public class BuildRegionParams : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Optional settings to control dynamic adjustment of standby target. If not specified, dynamic standby is disabled
|
|
/// </summary>
|
|
public DynamicStandbySettings DynamicStandbySettings;
|
|
/// <summary>
|
|
/// The maximum number of multiplayer servers for the region.
|
|
/// </summary>
|
|
public int MaxServers;
|
|
/// <summary>
|
|
/// Regional override for the number of multiplayer servers to host on a single VM of the build.
|
|
/// </summary>
|
|
public int? MultiplayerServerCountPerVm;
|
|
/// <summary>
|
|
/// The build region.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// Optional settings to set the standby target to specified values during the supplied schedules
|
|
/// </summary>
|
|
public ScheduledStandbySettings ScheduledStandbySettings;
|
|
/// <summary>
|
|
/// The number of standby multiplayer servers for the region.
|
|
/// </summary>
|
|
public int StandbyServers;
|
|
/// <summary>
|
|
/// Regional override for the VM size the build was created on.
|
|
/// </summary>
|
|
public AzureVmSize? VmSize;
|
|
}
|
|
|
|
[Serializable]
|
|
public class BuildSelectionCriterion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Dictionary of build ids and their respective weights for distribution of allocation requests.
|
|
/// </summary>
|
|
public Dictionary<string,uint> BuildWeightDistribution;
|
|
}
|
|
|
|
[Serializable]
|
|
public class BuildSummary : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The guid string build ID of the build.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The build name.
|
|
/// </summary>
|
|
public string BuildName;
|
|
/// <summary>
|
|
/// The time the build was created in UTC.
|
|
/// </summary>
|
|
public DateTime? CreationTime;
|
|
/// <summary>
|
|
/// The metadata of the build.
|
|
/// </summary>
|
|
public Dictionary<string,string> Metadata;
|
|
/// <summary>
|
|
/// The configuration and status for each region in the build.
|
|
/// </summary>
|
|
public List<BuildRegion> RegionConfigurations;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Cancels all tickets of which the player is a member in a given queue that are not cancelled or matched. This API is
|
|
/// useful if you lose track of what tickets the player is a member of (if the title crashes for instance) and want to
|
|
/// "reset". The Entity field is optional if the caller is a player and defaults to that player. Players may not cancel
|
|
/// tickets for other people. The Entity field is required if the caller is a server (authenticated as the title).
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CancelAllMatchmakingTicketsForPlayerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The entity key of the player whose tickets should be canceled.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
/// <summary>
|
|
/// The name of the queue from which a player's tickets should be canceled.
|
|
/// </summary>
|
|
public string QueueName;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CancelAllMatchmakingTicketsForPlayerResult : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Cancels all backfill tickets of which the player is a member in a given queue that are not cancelled or matched. This
|
|
/// API is useful if you lose track of what tickets the player is a member of (if the server crashes for instance) and want
|
|
/// to "reset".
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CancelAllServerBackfillTicketsForPlayerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The entity key of the player whose backfill tickets should be canceled.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
/// <summary>
|
|
/// The name of the queue from which a player's backfill tickets should be canceled.
|
|
/// </summary>
|
|
public string QueueName;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CancelAllServerBackfillTicketsForPlayerResult : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
public enum CancellationReason
|
|
{
|
|
Requested,
|
|
Internal,
|
|
Timeout
|
|
}
|
|
|
|
/// <summary>
|
|
/// Only servers and ticket members can cancel a ticket. The ticket can be in five different states when it is cancelled. 1:
|
|
/// the ticket is waiting for members to join it, and it has not started matching. If the ticket is cancelled at this stage,
|
|
/// it will never match. 2: the ticket is matching. If the ticket is cancelled, it will stop matching. 3: the ticket is
|
|
/// matched. A matched ticket cannot be cancelled. 4: the ticket is already cancelled and nothing happens. 5: the ticket is
|
|
/// waiting for a server. If the ticket is cancelled, server allocation will be stopped. A server may still be allocated due
|
|
/// to a race condition, but that will not be reflected in the ticket. There may be race conditions between the ticket
|
|
/// getting matched and the client making a cancellation request. The client must handle the possibility that the cancel
|
|
/// request fails if a match is found before the cancellation request is processed. We do not allow resubmitting a cancelled
|
|
/// ticket because players must consent to enter matchmaking again. Create a new ticket instead.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CancelMatchmakingTicketRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The name of the queue the ticket is in.
|
|
/// </summary>
|
|
public string QueueName;
|
|
/// <summary>
|
|
/// The Id of the ticket to find a match for.
|
|
/// </summary>
|
|
public string TicketId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CancelMatchmakingTicketResult : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Only servers can cancel a backfill ticket. The ticket can be in three different states when it is cancelled. 1: the
|
|
/// ticket is matching. If the ticket is cancelled, it will stop matching. 2: the ticket is matched. A matched ticket cannot
|
|
/// be cancelled. 3: the ticket is already cancelled and nothing happens. There may be race conditions between the ticket
|
|
/// getting matched and the server making a cancellation request. The server must handle the possibility that the cancel
|
|
/// request fails if a match is found before the cancellation request is processed. We do not allow resubmitting a cancelled
|
|
/// ticket. Create a new ticket instead.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CancelServerBackfillTicketRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The name of the queue the ticket is in.
|
|
/// </summary>
|
|
public string QueueName;
|
|
/// <summary>
|
|
/// The Id of the ticket to find a match for.
|
|
/// </summary>
|
|
public string TicketId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CancelServerBackfillTicketResult : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
[Serializable]
|
|
public class Certificate : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Base64 encoded string contents of the certificate.
|
|
/// </summary>
|
|
public string Base64EncodedValue;
|
|
/// <summary>
|
|
/// A name for the certificate. This is used to reference certificates in build configurations.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// If required for your PFX certificate, use this field to provide a password that will be used to install the certificate
|
|
/// on the container.
|
|
/// </summary>
|
|
public string Password;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CertificateSummary : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The name of the certificate.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// The thumbprint for the certificate.
|
|
/// </summary>
|
|
public string Thumbprint;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ConnectedPlayer : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The player ID of the player connected to the multiplayer server.
|
|
/// </summary>
|
|
public string PlayerId;
|
|
}
|
|
|
|
public enum ContainerFlavor
|
|
{
|
|
ManagedWindowsServerCore,
|
|
CustomLinux,
|
|
ManagedWindowsServerCorePreview,
|
|
Invalid
|
|
}
|
|
|
|
[Serializable]
|
|
public class ContainerImageReference : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The container image name.
|
|
/// </summary>
|
|
public string ImageName;
|
|
/// <summary>
|
|
/// The container tag.
|
|
/// </summary>
|
|
public string Tag;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CoreCapacity : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The available core capacity for the (Region, VmFamily)
|
|
/// </summary>
|
|
public int Available;
|
|
/// <summary>
|
|
/// The AzureRegion
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The total core capacity for the (Region, VmFamily)
|
|
/// </summary>
|
|
public int Total;
|
|
/// <summary>
|
|
/// The AzureVmFamily
|
|
/// </summary>
|
|
public AzureVmFamily? VmFamily;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CoreCapacityChange : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// New quota core limit for the given vm family/region.
|
|
/// </summary>
|
|
public int NewCoreLimit;
|
|
/// <summary>
|
|
/// Region to change.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// Virtual machine family to change.
|
|
/// </summary>
|
|
public AzureVmFamily VmFamily;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates a multiplayer server build alias and returns the created alias.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CreateBuildAliasRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The alias name.
|
|
/// </summary>
|
|
public string AliasName;
|
|
/// <summary>
|
|
/// Array of build selection criteria.
|
|
/// </summary>
|
|
public List<BuildSelectionCriterion> BuildSelectionCriteria;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates a multiplayer server build with a custom container and returns information about the build creation request.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CreateBuildWithCustomContainerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// When true, assets will not be copied for each server inside the VM. All serverswill run from the same set of assets, or
|
|
/// will have the same assets mounted in the container.
|
|
/// </summary>
|
|
public bool? AreAssetsReadonly;
|
|
/// <summary>
|
|
/// The build name.
|
|
/// </summary>
|
|
public string BuildName;
|
|
/// <summary>
|
|
/// The flavor of container to create a build from.
|
|
/// </summary>
|
|
public ContainerFlavor? ContainerFlavor;
|
|
/// <summary>
|
|
/// The container reference, consisting of the image name and tag.
|
|
/// </summary>
|
|
public ContainerImageReference ContainerImageReference;
|
|
/// <summary>
|
|
/// The container command to run when the multiplayer server has been allocated, including any arguments.
|
|
/// </summary>
|
|
public string ContainerRunCommand;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The list of game assets related to the build.
|
|
/// </summary>
|
|
public List<AssetReferenceParams> GameAssetReferences;
|
|
/// <summary>
|
|
/// The game certificates for the build.
|
|
/// </summary>
|
|
public List<GameCertificateReferenceParams> GameCertificateReferences;
|
|
/// <summary>
|
|
/// The game secrets for the build.
|
|
/// </summary>
|
|
public List<GameSecretReferenceParams> GameSecretReferences;
|
|
/// <summary>
|
|
/// The Linux instrumentation configuration for the build.
|
|
/// </summary>
|
|
public LinuxInstrumentationConfiguration LinuxInstrumentationConfiguration;
|
|
/// <summary>
|
|
/// Metadata to tag the build. The keys are case insensitive. The build metadata is made available to the server through
|
|
/// Game Server SDK (GSDK).Constraints: Maximum number of keys: 30, Maximum key length: 50, Maximum value length: 100
|
|
/// </summary>
|
|
public Dictionary<string,string> Metadata;
|
|
/// <summary>
|
|
/// The configuration for the monitoring application on the build
|
|
/// </summary>
|
|
public MonitoringApplicationConfigurationParams MonitoringApplicationConfiguration;
|
|
/// <summary>
|
|
/// The number of multiplayer servers to host on a single VM.
|
|
/// </summary>
|
|
public int MultiplayerServerCountPerVm;
|
|
/// <summary>
|
|
/// The ports to map the build on.
|
|
/// </summary>
|
|
public List<Port> Ports;
|
|
/// <summary>
|
|
/// The region configurations for the build.
|
|
/// </summary>
|
|
public List<BuildRegionParams> RegionConfigurations;
|
|
/// <summary>
|
|
/// The resource constraints to apply to each server on the VM (EXPERIMENTAL API)
|
|
/// </summary>
|
|
public ServerResourceConstraintParams ServerResourceConstraints;
|
|
/// <summary>
|
|
/// The VM size to create the build on.
|
|
/// </summary>
|
|
public AzureVmSize? VmSize;
|
|
/// <summary>
|
|
/// The configuration for the VmStartupScript for the build
|
|
/// </summary>
|
|
public VmStartupScriptParams VmStartupScriptConfiguration;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CreateBuildWithCustomContainerResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// When true, assets will not be copied for each server inside the VM. All serverswill run from the same set of assets, or
|
|
/// will have the same assets mounted in the container.
|
|
/// </summary>
|
|
public bool? AreAssetsReadonly;
|
|
/// <summary>
|
|
/// The guid string build ID. Must be unique for every build.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The build name.
|
|
/// </summary>
|
|
public string BuildName;
|
|
/// <summary>
|
|
/// The flavor of container of the build.
|
|
/// </summary>
|
|
public ContainerFlavor? ContainerFlavor;
|
|
/// <summary>
|
|
/// The container command to run when the multiplayer server has been allocated, including any arguments.
|
|
/// </summary>
|
|
public string ContainerRunCommand;
|
|
/// <summary>
|
|
/// The time the build was created in UTC.
|
|
/// </summary>
|
|
public DateTime? CreationTime;
|
|
/// <summary>
|
|
/// The custom game container image reference information.
|
|
/// </summary>
|
|
public ContainerImageReference CustomGameContainerImage;
|
|
/// <summary>
|
|
/// The game assets for the build.
|
|
/// </summary>
|
|
public List<AssetReference> GameAssetReferences;
|
|
/// <summary>
|
|
/// The game certificates for the build.
|
|
/// </summary>
|
|
public List<GameCertificateReference> GameCertificateReferences;
|
|
/// <summary>
|
|
/// The game secrets for the build.
|
|
/// </summary>
|
|
public List<GameSecretReference> GameSecretReferences;
|
|
/// <summary>
|
|
/// The Linux instrumentation configuration for this build.
|
|
/// </summary>
|
|
public LinuxInstrumentationConfiguration LinuxInstrumentationConfiguration;
|
|
/// <summary>
|
|
/// The metadata of the build.
|
|
/// </summary>
|
|
public Dictionary<string,string> Metadata;
|
|
/// <summary>
|
|
/// The configuration for the monitoring application for the build
|
|
/// </summary>
|
|
public MonitoringApplicationConfiguration MonitoringApplicationConfiguration;
|
|
/// <summary>
|
|
/// The number of multiplayer servers to host on a single VM of the build.
|
|
/// </summary>
|
|
public int MultiplayerServerCountPerVm;
|
|
/// <summary>
|
|
/// The OS platform used for running the game process.
|
|
/// </summary>
|
|
public string OsPlatform;
|
|
/// <summary>
|
|
/// The ports the build is mapped on.
|
|
/// </summary>
|
|
public List<Port> Ports;
|
|
/// <summary>
|
|
/// The region configuration for the build.
|
|
/// </summary>
|
|
public List<BuildRegion> RegionConfigurations;
|
|
/// <summary>
|
|
/// The resource constraints to apply to each server on the VM (EXPERIMENTAL API)
|
|
/// </summary>
|
|
public ServerResourceConstraintParams ServerResourceConstraints;
|
|
/// <summary>
|
|
/// The type of game server being hosted.
|
|
/// </summary>
|
|
public string ServerType;
|
|
/// <summary>
|
|
/// When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to
|
|
/// disc.
|
|
/// </summary>
|
|
public bool? UseStreamingForAssetDownloads;
|
|
/// <summary>
|
|
/// The VM size the build was created on.
|
|
/// </summary>
|
|
public AzureVmSize? VmSize;
|
|
/// <summary>
|
|
/// The configuration for the VmStartupScript feature for the build
|
|
/// </summary>
|
|
public VmStartupScriptConfiguration VmStartupScriptConfiguration;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates a multiplayer server build with a managed container and returns information about the build creation request.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CreateBuildWithManagedContainerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// When true, assets will not be copied for each server inside the VM. All serverswill run from the same set of assets, or
|
|
/// will have the same assets mounted in the container.
|
|
/// </summary>
|
|
public bool? AreAssetsReadonly;
|
|
/// <summary>
|
|
/// The build name.
|
|
/// </summary>
|
|
public string BuildName;
|
|
/// <summary>
|
|
/// The flavor of container to create a build from.
|
|
/// </summary>
|
|
public ContainerFlavor? ContainerFlavor;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The list of game assets related to the build.
|
|
/// </summary>
|
|
public List<AssetReferenceParams> GameAssetReferences;
|
|
/// <summary>
|
|
/// The game certificates for the build.
|
|
/// </summary>
|
|
public List<GameCertificateReferenceParams> GameCertificateReferences;
|
|
/// <summary>
|
|
/// The game secrets for the build.
|
|
/// </summary>
|
|
public List<GameSecretReferenceParams> GameSecretReferences;
|
|
/// <summary>
|
|
/// The directory containing the game executable. This would be the start path of the game assets that contain the main game
|
|
/// server executable. If not provided, a best effort will be made to extract it from the start game command.
|
|
/// </summary>
|
|
public string GameWorkingDirectory;
|
|
/// <summary>
|
|
/// The instrumentation configuration for the build.
|
|
/// </summary>
|
|
public InstrumentationConfiguration InstrumentationConfiguration;
|
|
/// <summary>
|
|
/// Metadata to tag the build. The keys are case insensitive. The build metadata is made available to the server through
|
|
/// Game Server SDK (GSDK).Constraints: Maximum number of keys: 30, Maximum key length: 50, Maximum value length: 100
|
|
/// </summary>
|
|
public Dictionary<string,string> Metadata;
|
|
/// <summary>
|
|
/// The configuration for the monitoring application on the build
|
|
/// </summary>
|
|
public MonitoringApplicationConfigurationParams MonitoringApplicationConfiguration;
|
|
/// <summary>
|
|
/// The number of multiplayer servers to host on a single VM.
|
|
/// </summary>
|
|
public int MultiplayerServerCountPerVm;
|
|
/// <summary>
|
|
/// The ports to map the build on.
|
|
/// </summary>
|
|
public List<Port> Ports;
|
|
/// <summary>
|
|
/// The region configurations for the build.
|
|
/// </summary>
|
|
public List<BuildRegionParams> RegionConfigurations;
|
|
/// <summary>
|
|
/// The resource constraints to apply to each server on the VM (EXPERIMENTAL API)
|
|
/// </summary>
|
|
public ServerResourceConstraintParams ServerResourceConstraints;
|
|
/// <summary>
|
|
/// The command to run when the multiplayer server is started, including any arguments.
|
|
/// </summary>
|
|
public string StartMultiplayerServerCommand;
|
|
/// <summary>
|
|
/// The VM size to create the build on.
|
|
/// </summary>
|
|
public AzureVmSize? VmSize;
|
|
/// <summary>
|
|
/// The configuration for the VmStartupScript for the build
|
|
/// </summary>
|
|
public VmStartupScriptParams VmStartupScriptConfiguration;
|
|
/// <summary>
|
|
/// The crash dump configuration for the build.
|
|
/// </summary>
|
|
public WindowsCrashDumpConfiguration WindowsCrashDumpConfiguration;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CreateBuildWithManagedContainerResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// When true, assets will not be copied for each server inside the VM. All serverswill run from the same set of assets, or
|
|
/// will have the same assets mounted in the container.
|
|
/// </summary>
|
|
public bool? AreAssetsReadonly;
|
|
/// <summary>
|
|
/// The guid string build ID. Must be unique for every build.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The build name.
|
|
/// </summary>
|
|
public string BuildName;
|
|
/// <summary>
|
|
/// The flavor of container of the build.
|
|
/// </summary>
|
|
public ContainerFlavor? ContainerFlavor;
|
|
/// <summary>
|
|
/// The time the build was created in UTC.
|
|
/// </summary>
|
|
public DateTime? CreationTime;
|
|
/// <summary>
|
|
/// The game assets for the build.
|
|
/// </summary>
|
|
public List<AssetReference> GameAssetReferences;
|
|
/// <summary>
|
|
/// The game certificates for the build.
|
|
/// </summary>
|
|
public List<GameCertificateReference> GameCertificateReferences;
|
|
/// <summary>
|
|
/// The game secrets for the build.
|
|
/// </summary>
|
|
public List<GameSecretReference> GameSecretReferences;
|
|
/// <summary>
|
|
/// The directory containing the game executable. This would be the start path of the game assets that contain the main game
|
|
/// server executable. If not provided, a best effort will be made to extract it from the start game command.
|
|
/// </summary>
|
|
public string GameWorkingDirectory;
|
|
/// <summary>
|
|
/// The instrumentation configuration for this build.
|
|
/// </summary>
|
|
public InstrumentationConfiguration InstrumentationConfiguration;
|
|
/// <summary>
|
|
/// The metadata of the build.
|
|
/// </summary>
|
|
public Dictionary<string,string> Metadata;
|
|
/// <summary>
|
|
/// The configuration for the monitoring application for the build
|
|
/// </summary>
|
|
public MonitoringApplicationConfiguration MonitoringApplicationConfiguration;
|
|
/// <summary>
|
|
/// The number of multiplayer servers to host on a single VM of the build.
|
|
/// </summary>
|
|
public int MultiplayerServerCountPerVm;
|
|
/// <summary>
|
|
/// The OS platform used for running the game process.
|
|
/// </summary>
|
|
public string OsPlatform;
|
|
/// <summary>
|
|
/// The ports the build is mapped on.
|
|
/// </summary>
|
|
public List<Port> Ports;
|
|
/// <summary>
|
|
/// The region configuration for the build.
|
|
/// </summary>
|
|
public List<BuildRegion> RegionConfigurations;
|
|
/// <summary>
|
|
/// The resource constraints to apply to each server on the VM (EXPERIMENTAL API)
|
|
/// </summary>
|
|
public ServerResourceConstraintParams ServerResourceConstraints;
|
|
/// <summary>
|
|
/// The type of game server being hosted.
|
|
/// </summary>
|
|
public string ServerType;
|
|
/// <summary>
|
|
/// The command to run when the multiplayer server has been allocated, including any arguments.
|
|
/// </summary>
|
|
public string StartMultiplayerServerCommand;
|
|
/// <summary>
|
|
/// When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to
|
|
/// disc.
|
|
/// </summary>
|
|
public bool? UseStreamingForAssetDownloads;
|
|
/// <summary>
|
|
/// The VM size the build was created on.
|
|
/// </summary>
|
|
public AzureVmSize? VmSize;
|
|
/// <summary>
|
|
/// The configuration for the VmStartupScript feature for the build
|
|
/// </summary>
|
|
public VmStartupScriptConfiguration VmStartupScriptConfiguration;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates a multiplayer server build with the game server running as a process and returns information about the build
|
|
/// creation request.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CreateBuildWithProcessBasedServerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// When true, assets will not be copied for each server inside the VM. All serverswill run from the same set of assets, or
|
|
/// will have the same assets mounted in the container.
|
|
/// </summary>
|
|
public bool? AreAssetsReadonly;
|
|
/// <summary>
|
|
/// The build name.
|
|
/// </summary>
|
|
public string BuildName;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The list of game assets related to the build.
|
|
/// </summary>
|
|
public List<AssetReferenceParams> GameAssetReferences;
|
|
/// <summary>
|
|
/// The game certificates for the build.
|
|
/// </summary>
|
|
public List<GameCertificateReferenceParams> GameCertificateReferences;
|
|
/// <summary>
|
|
/// The game secrets for the build.
|
|
/// </summary>
|
|
public List<GameSecretReferenceParams> GameSecretReferences;
|
|
/// <summary>
|
|
/// The working directory for the game process. If this is not provided, the working directory will be set based on the
|
|
/// mount path of the game server executable.
|
|
/// </summary>
|
|
public string GameWorkingDirectory;
|
|
/// <summary>
|
|
/// The instrumentation configuration for the Build. Used only if it is a Windows Build.
|
|
/// </summary>
|
|
public InstrumentationConfiguration InstrumentationConfiguration;
|
|
/// <summary>
|
|
/// Indicates whether this build will be created using the OS Preview versionPreview OS is recommended for dev builds to
|
|
/// detect any breaking changes before they are released to retail. Retail builds should set this value to false.
|
|
/// </summary>
|
|
public bool? IsOSPreview;
|
|
/// <summary>
|
|
/// The Linux instrumentation configuration for the Build. Used only if it is a Linux Build.
|
|
/// </summary>
|
|
public LinuxInstrumentationConfiguration LinuxInstrumentationConfiguration;
|
|
/// <summary>
|
|
/// Metadata to tag the build. The keys are case insensitive. The build metadata is made available to the server through
|
|
/// Game Server SDK (GSDK).Constraints: Maximum number of keys: 30, Maximum key length: 50, Maximum value length: 100
|
|
/// </summary>
|
|
public Dictionary<string,string> Metadata;
|
|
/// <summary>
|
|
/// The configuration for the monitoring application on the build
|
|
/// </summary>
|
|
public MonitoringApplicationConfigurationParams MonitoringApplicationConfiguration;
|
|
/// <summary>
|
|
/// The number of multiplayer servers to host on a single VM.
|
|
/// </summary>
|
|
public int MultiplayerServerCountPerVm;
|
|
/// <summary>
|
|
/// The OS platform used for running the game process.
|
|
/// </summary>
|
|
public string OsPlatform;
|
|
/// <summary>
|
|
/// The ports to map the build on.
|
|
/// </summary>
|
|
public List<Port> Ports;
|
|
/// <summary>
|
|
/// The region configurations for the build.
|
|
/// </summary>
|
|
public List<BuildRegionParams> RegionConfigurations;
|
|
/// <summary>
|
|
/// The command to run when the multiplayer server is started, including any arguments. The path to any executable should be
|
|
/// relative to the root asset folder when unzipped.
|
|
/// </summary>
|
|
public string StartMultiplayerServerCommand;
|
|
/// <summary>
|
|
/// The VM size to create the build on.
|
|
/// </summary>
|
|
public AzureVmSize? VmSize;
|
|
/// <summary>
|
|
/// The configuration for the VmStartupScript for the build
|
|
/// </summary>
|
|
public VmStartupScriptParams VmStartupScriptConfiguration;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CreateBuildWithProcessBasedServerResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// When true, assets will not be copied for each server inside the VM. All serverswill run from the same set of assets, or
|
|
/// will have the same assets mounted in the container.
|
|
/// </summary>
|
|
public bool? AreAssetsReadonly;
|
|
/// <summary>
|
|
/// The guid string build ID. Must be unique for every build.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The build name.
|
|
/// </summary>
|
|
public string BuildName;
|
|
/// <summary>
|
|
/// The flavor of container of the build.
|
|
/// </summary>
|
|
public ContainerFlavor? ContainerFlavor;
|
|
/// <summary>
|
|
/// The time the build was created in UTC.
|
|
/// </summary>
|
|
public DateTime? CreationTime;
|
|
/// <summary>
|
|
/// The game assets for the build.
|
|
/// </summary>
|
|
public List<AssetReference> GameAssetReferences;
|
|
/// <summary>
|
|
/// The game certificates for the build.
|
|
/// </summary>
|
|
public List<GameCertificateReference> GameCertificateReferences;
|
|
/// <summary>
|
|
/// The game secrets for the build.
|
|
/// </summary>
|
|
public List<GameSecretReference> GameSecretReferences;
|
|
/// <summary>
|
|
/// The working directory for the game process. If this is not provided, the working directory will be set based on the
|
|
/// mount path of the game server executable.
|
|
/// </summary>
|
|
public string GameWorkingDirectory;
|
|
/// <summary>
|
|
/// The instrumentation configuration for this build.
|
|
/// </summary>
|
|
public InstrumentationConfiguration InstrumentationConfiguration;
|
|
/// <summary>
|
|
/// Indicates whether this build will be created using the OS Preview versionPreview OS is recommended for dev builds to
|
|
/// detect any breaking changes before they are released to retail. Retail builds should set this value to false.
|
|
/// </summary>
|
|
public bool? IsOSPreview;
|
|
/// <summary>
|
|
/// The Linux instrumentation configuration for this build.
|
|
/// </summary>
|
|
public LinuxInstrumentationConfiguration LinuxInstrumentationConfiguration;
|
|
/// <summary>
|
|
/// The metadata of the build.
|
|
/// </summary>
|
|
public Dictionary<string,string> Metadata;
|
|
/// <summary>
|
|
/// The configuration for the monitoring application for the build
|
|
/// </summary>
|
|
public MonitoringApplicationConfiguration MonitoringApplicationConfiguration;
|
|
/// <summary>
|
|
/// The number of multiplayer servers to host on a single VM of the build.
|
|
/// </summary>
|
|
public int MultiplayerServerCountPerVm;
|
|
/// <summary>
|
|
/// The OS platform used for running the game process.
|
|
/// </summary>
|
|
public string OsPlatform;
|
|
/// <summary>
|
|
/// The ports the build is mapped on.
|
|
/// </summary>
|
|
public List<Port> Ports;
|
|
/// <summary>
|
|
/// The region configuration for the build.
|
|
/// </summary>
|
|
public List<BuildRegion> RegionConfigurations;
|
|
/// <summary>
|
|
/// The type of game server being hosted.
|
|
/// </summary>
|
|
public string ServerType;
|
|
/// <summary>
|
|
/// The command to run when the multiplayer server is started, including any arguments. The path to any executable is
|
|
/// relative to the root asset folder when unzipped.
|
|
/// </summary>
|
|
public string StartMultiplayerServerCommand;
|
|
/// <summary>
|
|
/// When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to
|
|
/// disc.
|
|
/// </summary>
|
|
public bool? UseStreamingForAssetDownloads;
|
|
/// <summary>
|
|
/// The VM size the build was created on.
|
|
/// </summary>
|
|
public AzureVmSize? VmSize;
|
|
/// <summary>
|
|
/// The configuration for the VmStartupScript feature for the build
|
|
/// </summary>
|
|
public VmStartupScriptConfiguration VmStartupScriptConfiguration;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to create a lobby. A Server or client can create a lobby.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CreateLobbyRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The policy indicating who is allowed to join the lobby, and the visibility to queries. May be 'Public', 'Friends' or
|
|
/// 'Private'. Public means the lobby is both visible in queries and any player may join, including invited players. Friends
|
|
/// means that users who are bidirectional friends of members in the lobby may search to find friend lobbies, to retrieve
|
|
/// its connection string. Private means the lobby is not visible in queries, and a player must receive an invitation to
|
|
/// join. Defaults to 'Public' on creation. Can only be changed by the lobby owner.
|
|
/// </summary>
|
|
public AccessPolicy? AccessPolicy;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The private key-value pairs which are visible to all entities in the lobby. At most 30 key-value pairs may be stored
|
|
/// here, keys are limited to 30 characters and values to 1000. The total size of all lobbyData values may not exceed 4096
|
|
/// bytes. Keys are case sensitive.
|
|
/// </summary>
|
|
public Dictionary<string,string> LobbyData;
|
|
/// <summary>
|
|
/// The maximum number of players allowed in the lobby. The value must be between 2 and 128.
|
|
/// </summary>
|
|
public uint MaxPlayers;
|
|
/// <summary>
|
|
/// The member initially added to the lobby. Client must specify exactly one member, which is the creator's entity and
|
|
/// member data. Member PubSubConnectionHandle must be null or empty. Game servers must not specify any members.
|
|
/// </summary>
|
|
public List<Member> Members;
|
|
/// <summary>
|
|
/// The lobby owner. Must be the calling entity.
|
|
/// </summary>
|
|
public EntityKey Owner;
|
|
/// <summary>
|
|
/// The policy for how a new owner is chosen. May be 'Automatic', 'Manual' or 'None'. Can only be specified by clients. If
|
|
/// client-owned and 'Automatic' - The Lobby service will automatically assign another connected owner when the current
|
|
/// owner leaves or disconnects. The useConnections property must be true. If client - owned and 'Manual' - Ownership is
|
|
/// protected as long as the current owner is connected. If the current owner leaves or disconnects any member may set
|
|
/// themselves as the current owner. The useConnections property must be true. If client-owned and 'None' - Any member can
|
|
/// set ownership. The useConnections property can be either true or false.
|
|
/// </summary>
|
|
public OwnerMigrationPolicy? OwnerMigrationPolicy;
|
|
/// <summary>
|
|
/// The public key-value pairs which allow queries to differentiate between lobbies. Queries will refer to these key-value
|
|
/// pairs in their filter and order by clauses to retrieve lobbies fitting the specified criteria. At most 30 key-value
|
|
/// pairs may be stored here. Keys are of the format string_key1, string_key2 ... string_key30 for string values, or
|
|
/// number_key1, number_key2, ... number_key30 for numeric values.Numeric values are floats. Values can be at most 256
|
|
/// characters long. The total size of all searchData values may not exceed 1024 bytes.
|
|
/// </summary>
|
|
public Dictionary<string,string> SearchData;
|
|
/// <summary>
|
|
/// A setting to control whether connections are used. Defaults to true. When true, notifications are sent to subscribed
|
|
/// players, disconnect detection removes connectionHandles, only owner migration policies using connections are allowed,
|
|
/// and lobbies must have at least one connected member to be searchable or be a server hosted lobby with a connected
|
|
/// server. If false, then notifications are not sent, connections are not allowed, and lobbies do not need connections to
|
|
/// be searchable.
|
|
/// </summary>
|
|
public bool UseConnections;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CreateLobbyResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// A field which indicates which lobby the user will be joining.
|
|
/// </summary>
|
|
public string ConnectionString;
|
|
/// <summary>
|
|
/// Id to uniquely identify a lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// The client specifies the creator's attributes and optionally a list of other users to match with.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CreateMatchmakingTicketRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The User who created this ticket.
|
|
/// </summary>
|
|
public MatchmakingPlayer Creator;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// How long to attempt matching this ticket in seconds.
|
|
/// </summary>
|
|
public int GiveUpAfterSeconds;
|
|
/// <summary>
|
|
/// A list of Entity Keys of other users to match with.
|
|
/// </summary>
|
|
public List<EntityKey> MembersToMatchWith;
|
|
/// <summary>
|
|
/// The Id of a match queue.
|
|
/// </summary>
|
|
public string QueueName;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CreateMatchmakingTicketResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The Id of the ticket to find a match for.
|
|
/// </summary>
|
|
public string TicketId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates a remote user to log on to a VM for a multiplayer server build in a specific region. Returns user credential
|
|
/// information necessary to log on.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CreateRemoteUserRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string build ID of to create the remote user for.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The expiration time for the remote user created. Defaults to expiring in one day if not specified.
|
|
/// </summary>
|
|
public DateTime? ExpirationTime;
|
|
/// <summary>
|
|
/// The region of virtual machine to create the remote user for.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The username to create the remote user with.
|
|
/// </summary>
|
|
public string Username;
|
|
/// <summary>
|
|
/// The virtual machine ID the multiplayer server is located on.
|
|
/// </summary>
|
|
public string VmId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CreateRemoteUserResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The expiration time for the remote user created.
|
|
/// </summary>
|
|
public DateTime? ExpirationTime;
|
|
/// <summary>
|
|
/// The generated password for the remote user that was created.
|
|
/// </summary>
|
|
public string Password;
|
|
/// <summary>
|
|
/// The username for the remote user that was created.
|
|
/// </summary>
|
|
public string Username;
|
|
}
|
|
|
|
/// <summary>
|
|
/// The server specifies all the members, their teams and their attributes, and the server details if applicable.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CreateServerBackfillTicketRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// How long to attempt matching this ticket in seconds.
|
|
/// </summary>
|
|
public int GiveUpAfterSeconds;
|
|
/// <summary>
|
|
/// The users who will be part of this ticket, along with their team assignments.
|
|
/// </summary>
|
|
public List<MatchmakingPlayerWithTeamAssignment> Members;
|
|
/// <summary>
|
|
/// The Id of a match queue.
|
|
/// </summary>
|
|
public string QueueName;
|
|
/// <summary>
|
|
/// The details of the server the members are connected to.
|
|
/// </summary>
|
|
public ServerDetails ServerDetails;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CreateServerBackfillTicketResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The Id of the ticket to find a match for.
|
|
/// </summary>
|
|
public string TicketId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// The server specifies all the members and their attributes.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CreateServerMatchmakingTicketRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// How long to attempt matching this ticket in seconds.
|
|
/// </summary>
|
|
public int GiveUpAfterSeconds;
|
|
/// <summary>
|
|
/// The users who will be part of this ticket.
|
|
/// </summary>
|
|
public List<MatchmakingPlayer> Members;
|
|
/// <summary>
|
|
/// The Id of a match queue.
|
|
/// </summary>
|
|
public string QueueName;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates a request to change a title's multiplayer server quotas.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class CreateTitleMultiplayerServersQuotaChangeRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// A brief description of the requested changes.
|
|
/// </summary>
|
|
public string ChangeDescription;
|
|
/// <summary>
|
|
/// Changes to make to the titles cores quota.
|
|
/// </summary>
|
|
public List<CoreCapacityChange> Changes;
|
|
/// <summary>
|
|
/// Email to be contacted by our team about this request. Only required when a request is not approved.
|
|
/// </summary>
|
|
public string ContactEmail;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Additional information about this request that our team can use to better understand the requirements.
|
|
/// </summary>
|
|
public string Notes;
|
|
/// <summary>
|
|
/// When these changes would need to be in effect. Only required when a request is not approved.
|
|
/// </summary>
|
|
public DateTime? StartDate;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CreateTitleMultiplayerServersQuotaChangeResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// Id of the change request that was created.
|
|
/// </summary>
|
|
public string RequestId;
|
|
/// <summary>
|
|
/// Determines if the request was approved or not. When false, our team is reviewing and may respond within 2 business days.
|
|
/// </summary>
|
|
public bool WasApproved;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CurrentServerStats : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The number of active multiplayer servers.
|
|
/// </summary>
|
|
public int Active;
|
|
/// <summary>
|
|
/// The number of multiplayer servers still downloading game resources (such as assets).
|
|
/// </summary>
|
|
public int Propping;
|
|
/// <summary>
|
|
/// The number of standingby multiplayer servers.
|
|
/// </summary>
|
|
public int StandingBy;
|
|
/// <summary>
|
|
/// The total number of multiplayer servers.
|
|
/// </summary>
|
|
public int Total;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CustomDifferenceRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Manually specify the values to use for each expansion interval (this overrides Difference, Delta, and MaxDifference).
|
|
/// </summary>
|
|
public List<OverrideDouble> DifferenceOverrides;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CustomRegionSelectionRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Manually specify the maximum latency to use for each expansion interval.
|
|
/// </summary>
|
|
public List<OverrideUnsignedInt> MaxLatencyOverrides;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CustomSetIntersectionRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Manually specify the values to use for each expansion interval.
|
|
/// </summary>
|
|
public List<OverrideUnsignedInt> MinIntersectionSizeOverrides;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CustomTeamDifferenceRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Manually specify the team difference value to use for each expansion interval.
|
|
/// </summary>
|
|
public List<OverrideDouble> DifferenceOverrides;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class CustomTeamSizeBalanceRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Manually specify the team size difference to use for each expansion interval.
|
|
/// </summary>
|
|
public List<OverrideUnsignedInt> DifferenceOverrides;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Deletes a multiplayer server game asset for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DeleteAssetRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The filename of the asset to delete.
|
|
/// </summary>
|
|
public string FileName;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Deletes a multiplayer server build alias.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DeleteBuildAliasRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string alias ID of the alias to perform the action on.
|
|
/// </summary>
|
|
public string AliasId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Removes a multiplayer server build's region.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DeleteBuildRegionRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string ID of the build we want to update regions for.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The build region to delete.
|
|
/// </summary>
|
|
public string Region;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Deletes a multiplayer server build.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DeleteBuildRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string build ID of the build to delete.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Deletes a multiplayer server game certificate.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DeleteCertificateRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The name of the certificate.
|
|
/// </summary>
|
|
public string Name;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Removes the specified container image repository. After this operation, a 'docker pull' will fail for all the tags of
|
|
/// the specified image. Morever, ListContainerImages will not return the specified image.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DeleteContainerImageRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The container image repository we want to delete.
|
|
/// </summary>
|
|
public string ImageName;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to delete a lobby. Only servers can delete lobbies.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DeleteLobbyRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The id of the lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Deletes a remote user to log on to a VM for a multiplayer server build in a specific region. Returns user credential
|
|
/// information necessary to log on.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DeleteRemoteUserRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string build ID of the multiplayer server where the remote user is to delete.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The region of the multiplayer server where the remote user is to delete.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The username of the remote user to delete.
|
|
/// </summary>
|
|
public string Username;
|
|
/// <summary>
|
|
/// The virtual machine ID the multiplayer server is located on.
|
|
/// </summary>
|
|
public string VmId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Deletes a multiplayer server game secret.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DeleteSecretRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The name of the secret.
|
|
/// </summary>
|
|
public string Name;
|
|
}
|
|
|
|
[Serializable]
|
|
public class DifferenceRule : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Description of the attribute used by this rule to match tickets.
|
|
/// </summary>
|
|
public QueueRuleAttribute Attribute;
|
|
/// <summary>
|
|
/// Describes the behavior when an attribute is not specified in the ticket creation request or in the user's entity
|
|
/// profile.
|
|
/// </summary>
|
|
public AttributeNotSpecifiedBehavior AttributeNotSpecifiedBehavior;
|
|
/// <summary>
|
|
/// Collection of fields relating to expanding this rule at set intervals. Only one expansion can be set per rule. When this
|
|
/// is set, Difference is ignored.
|
|
/// </summary>
|
|
public CustomDifferenceRuleExpansion CustomExpansion;
|
|
/// <summary>
|
|
/// The default value assigned to tickets that are missing the attribute specified by AttributePath (assuming that
|
|
/// AttributeNotSpecifiedBehavior is false). Optional.
|
|
/// </summary>
|
|
public double? DefaultAttributeValue;
|
|
/// <summary>
|
|
/// The allowed difference between any two tickets at the start of matchmaking.
|
|
/// </summary>
|
|
public double Difference;
|
|
/// <summary>
|
|
/// Collection of fields relating to expanding this rule at set intervals. Only one expansion can be set per rule.
|
|
/// </summary>
|
|
public LinearDifferenceRuleExpansion LinearExpansion;
|
|
/// <summary>
|
|
/// How values are treated when there are multiple players in a single ticket.
|
|
/// </summary>
|
|
public AttributeMergeFunction MergeFunction;
|
|
/// <summary>
|
|
/// Friendly name chosen by developer.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// How many seconds before this rule is no longer enforced (but tickets that comply with this rule will still be
|
|
/// prioritized over those that don't). Leave blank if this rule is always enforced.
|
|
/// </summary>
|
|
public uint? SecondsUntilOptional;
|
|
/// <summary>
|
|
/// The relative weight of this rule compared to others.
|
|
/// </summary>
|
|
public double Weight;
|
|
}
|
|
|
|
public enum DirectPeerConnectivityOptions
|
|
{
|
|
None,
|
|
SamePlatformType,
|
|
DifferentPlatformType,
|
|
AnyPlatformType,
|
|
SameEntityLoginProvider,
|
|
DifferentEntityLoginProvider,
|
|
AnyEntityLoginProvider,
|
|
AnyPlatformTypeAndEntityLoginProvider,
|
|
OnlyServers
|
|
}
|
|
|
|
[Serializable]
|
|
public class DynamicStandbySettings : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// List of auto standing by trigger values and corresponding standing by multiplier. Defaults to 1.5X at 50%, 3X at 25%,
|
|
/// and 4X at 5%
|
|
/// </summary>
|
|
public List<DynamicStandbyThreshold> DynamicFloorMultiplierThresholds;
|
|
/// <summary>
|
|
/// When true, dynamic standby will be enabled
|
|
/// </summary>
|
|
public bool IsEnabled;
|
|
/// <summary>
|
|
/// The time it takes to reduce target standing by to configured floor value after an increase. Defaults to 30 minutes
|
|
/// </summary>
|
|
public int? RampDownSeconds;
|
|
}
|
|
|
|
[Serializable]
|
|
public class DynamicStandbyThreshold : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// When the trigger threshold is reached, multiply by this value
|
|
/// </summary>
|
|
public double Multiplier;
|
|
/// <summary>
|
|
/// The multiplier will be applied when the actual standby divided by target standby floor is less than this value
|
|
/// </summary>
|
|
public double TriggerThresholdPercentage;
|
|
}
|
|
|
|
[Serializable]
|
|
public class EmptyResponse : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Enables the multiplayer server feature for a title and returns the enabled status. The enabled status can be
|
|
/// Initializing, Enabled, and Disabled. It can up to 20 minutes or more for the title to be enabled for the feature. On
|
|
/// average, it can take up to 20 minutes for the title to be enabled for the feature.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class EnableMultiplayerServersForTitleRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
[Serializable]
|
|
public class EnableMultiplayerServersForTitleResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The enabled status for the multiplayer server features for the title.
|
|
/// </summary>
|
|
public TitleMultiplayerServerEnabledStatus? Status;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Combined entity type and ID structure which uniquely identifies a single entity.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class EntityKey : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Unique ID of the entity.
|
|
/// </summary>
|
|
public string Id;
|
|
/// <summary>
|
|
/// Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
|
|
/// </summary>
|
|
public string Type;
|
|
}
|
|
|
|
public enum ExternalFriendSources
|
|
{
|
|
None,
|
|
Steam,
|
|
Facebook,
|
|
Xbox,
|
|
Psn,
|
|
All
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to find friends lobbies. Only a client can find friend lobbies.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class FindFriendLobbiesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Indicates which other platforms' friends this query should link to.
|
|
/// </summary>
|
|
public ExternalFriendSources? ExternalPlatformFriends;
|
|
/// <summary>
|
|
/// OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and),
|
|
/// "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt"
|
|
/// (less than). The left-hand side of each OData logical expression should be either a search property key (e.g.
|
|
/// string_key1, number_key3, etc) or one of the pre-defined search keys all of which must be prefixed by "lobby/":
|
|
/// lobby/memberCount (number of players in a lobby), lobby/maxMemberCount (maximum number of players allowed in a lobby),
|
|
/// lobby/memberCountRemaining (remaining number of players who can be allowed in a lobby), lobby/membershipLock (must equal
|
|
/// 'Unlocked' or 'Locked'), lobby/amOwner (required to equal "true"), lobby/amMember (required to equal "true").
|
|
/// </summary>
|
|
public string Filter;
|
|
/// <summary>
|
|
/// OData style string that contains sorting for this query in either ascending ("asc") or descending ("desc") order.
|
|
/// OrderBy clauses are of the form "number_key1 asc" or the pre-defined search key "lobby/memberCount asc",
|
|
/// "lobby/memberCountRemaining desc" and "lobby/maxMemberCount desc". To sort by closest, a moniker `distance{number_key1 =
|
|
/// 5}` can be used to sort by distance from the given number. This field only supports either one sort clause or one
|
|
/// distance clause.
|
|
/// </summary>
|
|
public string OrderBy;
|
|
/// <summary>
|
|
/// Request pagination information.
|
|
/// </summary>
|
|
public PaginationRequest Pagination;
|
|
/// <summary>
|
|
/// Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab.
|
|
/// </summary>
|
|
public string XboxToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class FindFriendLobbiesResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// Array of lobbies found that matched FindFriendLobbies request.
|
|
/// </summary>
|
|
public List<FriendLobbySummary> Lobbies;
|
|
/// <summary>
|
|
/// Pagination response for FindFriendLobbies request.
|
|
/// </summary>
|
|
public PaginationResponse Pagination;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to find lobbies.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class FindLobbiesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and),
|
|
/// "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt"
|
|
/// (less than). The left-hand side of each OData logical expression should be either a search property key (e.g.
|
|
/// string_key1, number_key3, etc) or one of the pre-defined search keys all of which must be prefixed by "lobby/":
|
|
/// lobby/memberCount (number of players in a lobby), lobby/maxMemberCount (maximum number of players allowed in a lobby),
|
|
/// lobby/memberCountRemaining (remaining number of players who can be allowed in a lobby), lobby/membershipLock (must equal
|
|
/// 'Unlocked' or 'Locked'), lobby/amOwner (required to equal "true"), lobby/amMember (required to equal "true").
|
|
/// </summary>
|
|
public string Filter;
|
|
/// <summary>
|
|
/// OData style string that contains sorting for this query in either ascending ("asc") or descending ("desc") order.
|
|
/// OrderBy clauses are of the form "number_key1 asc" or the pre-defined search key "lobby/memberCount asc",
|
|
/// "lobby/memberCountRemaining desc" and "lobby/maxMemberCount desc". To sort by closest, a moniker `distance{number_key1 =
|
|
/// 5}` can be used to sort by distance from the given number. This field only supports either one sort clause or one
|
|
/// distance clause.
|
|
/// </summary>
|
|
public string OrderBy;
|
|
/// <summary>
|
|
/// Request pagination information.
|
|
/// </summary>
|
|
public PaginationRequest Pagination;
|
|
}
|
|
|
|
[Serializable]
|
|
public class FindLobbiesResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// Array of lobbies found that matched FindLobbies request.
|
|
/// </summary>
|
|
public List<LobbySummary> Lobbies;
|
|
/// <summary>
|
|
/// Pagination response for FindLobbies request.
|
|
/// </summary>
|
|
public PaginationResponse Pagination;
|
|
}
|
|
|
|
[Serializable]
|
|
public class FriendLobbySummary : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// A string used to join the lobby.This field is populated by the Lobby service.Invites are performed by communicating this
|
|
/// connectionString to other players.
|
|
/// </summary>
|
|
public string ConnectionString;
|
|
/// <summary>
|
|
/// The current number of players in the lobby.
|
|
/// </summary>
|
|
public uint CurrentPlayers;
|
|
/// <summary>
|
|
/// Friends in Lobby.
|
|
/// </summary>
|
|
public List<EntityKey> Friends;
|
|
/// <summary>
|
|
/// Id to uniquely identify a lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
/// <summary>
|
|
/// The maximum number of players allowed in the lobby.
|
|
/// </summary>
|
|
public uint MaxPlayers;
|
|
/// <summary>
|
|
/// A setting indicating whether members are allowed to join this lobby. When Locked new members are prevented from joining.
|
|
/// </summary>
|
|
public MembershipLock? MembershipLock;
|
|
/// <summary>
|
|
/// The client or server entity which owns this lobby.
|
|
/// </summary>
|
|
public EntityKey Owner;
|
|
/// <summary>
|
|
/// Search data.
|
|
/// </summary>
|
|
public Dictionary<string,string> SearchData;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GameCertificateReference : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// An alias for the game certificate. The game server will reference this alias via GSDK config to retrieve the game
|
|
/// certificate. This alias is used as an identifier in game server code to allow a new certificate with different Name
|
|
/// field to be uploaded without the need to change any game server code to reference the new Name.
|
|
/// </summary>
|
|
public string GsdkAlias;
|
|
/// <summary>
|
|
/// The name of the game certificate. This name should match the name of a certificate that was previously uploaded to this
|
|
/// title.
|
|
/// </summary>
|
|
public string Name;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GameCertificateReferenceParams : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// An alias for the game certificate. The game server will reference this alias via GSDK config to retrieve the game
|
|
/// certificate. This alias is used as an identifier in game server code to allow a new certificate with different Name
|
|
/// field to be uploaded without the need to change any game server code to reference the new Name.
|
|
/// </summary>
|
|
public string GsdkAlias;
|
|
/// <summary>
|
|
/// The name of the game certificate. This name should match the name of a certificate that was previously uploaded to this
|
|
/// title.
|
|
/// </summary>
|
|
public string Name;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GameSecretReference : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The name of the game secret. This name should match the name of a secret that was previously added to this title.
|
|
/// </summary>
|
|
public string Name;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GameSecretReferenceParams : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The name of the game secret. This name should match the name of a secret that was previously added to this title.
|
|
/// </summary>
|
|
public string Name;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets a URL that can be used to download the specified asset.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetAssetDownloadUrlRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The asset's file name to get the download URL for.
|
|
/// </summary>
|
|
public string FileName;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetAssetDownloadUrlResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The asset's download URL.
|
|
/// </summary>
|
|
public string AssetDownloadUrl;
|
|
/// <summary>
|
|
/// The asset's file name to get the download URL for.
|
|
/// </summary>
|
|
public string FileName;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the URL to upload assets to.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetAssetUploadUrlRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The asset's file name to get the upload URL for.
|
|
/// </summary>
|
|
public string FileName;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetAssetUploadUrlResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The asset's upload URL.
|
|
/// </summary>
|
|
public string AssetUploadUrl;
|
|
/// <summary>
|
|
/// The asset's file name to get the upload URL for.
|
|
/// </summary>
|
|
public string FileName;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns the details about a multiplayer server build alias.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetBuildAliasRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string alias ID of the alias to perform the action on.
|
|
/// </summary>
|
|
public string AliasId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns the details about a multiplayer server build.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetBuildRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string build ID of the build to get.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetBuildResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// When true, assets will not be copied for each server inside the VM. All serverswill run from the same set of assets, or
|
|
/// will have the same assets mounted in the container.
|
|
/// </summary>
|
|
public bool? AreAssetsReadonly;
|
|
/// <summary>
|
|
/// The guid string build ID of the build.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The build name.
|
|
/// </summary>
|
|
public string BuildName;
|
|
/// <summary>
|
|
/// The current build status. Valid values are - Deploying, Deployed, DeletingRegion, Unhealthy.
|
|
/// </summary>
|
|
public string BuildStatus;
|
|
/// <summary>
|
|
/// The flavor of container of he build.
|
|
/// </summary>
|
|
public ContainerFlavor? ContainerFlavor;
|
|
/// <summary>
|
|
/// The container command to run when the multiplayer server has been allocated, including any arguments. This only applies
|
|
/// to custom builds. If the build is a managed build, this field will be null.
|
|
/// </summary>
|
|
public string ContainerRunCommand;
|
|
/// <summary>
|
|
/// The time the build was created in UTC.
|
|
/// </summary>
|
|
public DateTime? CreationTime;
|
|
/// <summary>
|
|
/// The custom game container image for a custom build.
|
|
/// </summary>
|
|
public ContainerImageReference CustomGameContainerImage;
|
|
/// <summary>
|
|
/// The game assets for the build.
|
|
/// </summary>
|
|
public List<AssetReference> GameAssetReferences;
|
|
/// <summary>
|
|
/// The game certificates for the build.
|
|
/// </summary>
|
|
public List<GameCertificateReference> GameCertificateReferences;
|
|
/// <summary>
|
|
/// The instrumentation configuration of the build.
|
|
/// </summary>
|
|
public InstrumentationConfiguration InstrumentationConfiguration;
|
|
/// <summary>
|
|
/// Metadata of the build. The keys are case insensitive. The build metadata is made available to the server through Game
|
|
/// Server SDK (GSDK).
|
|
/// </summary>
|
|
public Dictionary<string,string> Metadata;
|
|
/// <summary>
|
|
/// The number of multiplayer servers to hosted on a single VM of the build.
|
|
/// </summary>
|
|
public int MultiplayerServerCountPerVm;
|
|
/// <summary>
|
|
/// The OS platform used for running the game process.
|
|
/// </summary>
|
|
public string OsPlatform;
|
|
/// <summary>
|
|
/// The ports the build is mapped on.
|
|
/// </summary>
|
|
public List<Port> Ports;
|
|
/// <summary>
|
|
/// The region configuration for the build.
|
|
/// </summary>
|
|
public List<BuildRegion> RegionConfigurations;
|
|
/// <summary>
|
|
/// The resource constraints to apply to each server on the VM.
|
|
/// </summary>
|
|
public ServerResourceConstraintParams ServerResourceConstraints;
|
|
/// <summary>
|
|
/// The type of game server being hosted.
|
|
/// </summary>
|
|
public string ServerType;
|
|
/// <summary>
|
|
/// The command to run when the multiplayer server has been allocated, including any arguments. This only applies to managed
|
|
/// builds. If the build is a custom build, this field will be null.
|
|
/// </summary>
|
|
public string StartMultiplayerServerCommand;
|
|
/// <summary>
|
|
/// The VM size the build was created on.
|
|
/// </summary>
|
|
public AzureVmSize? VmSize;
|
|
/// <summary>
|
|
/// The configuration for the VmStartupScript feature for the build
|
|
/// </summary>
|
|
public VmStartupScriptConfiguration VmStartupScriptConfiguration;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets credentials to the container registry where game developers can upload custom container images to before creating a
|
|
/// new build.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetContainerRegistryCredentialsRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetContainerRegistryCredentialsResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The url of the container registry.
|
|
/// </summary>
|
|
public string DnsName;
|
|
/// <summary>
|
|
/// The password for accessing the container registry.
|
|
/// </summary>
|
|
public string Password;
|
|
/// <summary>
|
|
/// The username for accessing the container registry.
|
|
/// </summary>
|
|
public string Username;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to get a lobby.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetLobbyRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The id of the lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetLobbyResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The information pertaining to the requested lobby.
|
|
/// </summary>
|
|
public Lobby Lobby;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the current configuration for a queue.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetMatchmakingQueueRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The Id of the matchmaking queue to retrieve.
|
|
/// </summary>
|
|
public string QueueName;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetMatchmakingQueueResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The matchmaking queue config.
|
|
/// </summary>
|
|
public MatchmakingQueueConfig MatchmakingQueue;
|
|
}
|
|
|
|
/// <summary>
|
|
/// The ticket includes the invited players, their attributes if they have joined, the ticket status, the match Id when
|
|
/// applicable, etc. Only servers, the ticket creator and the invited players can get the ticket.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetMatchmakingTicketRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Determines whether the matchmaking attributes will be returned as an escaped JSON string or as an un-escaped JSON
|
|
/// object.
|
|
/// </summary>
|
|
public bool EscapeObject;
|
|
/// <summary>
|
|
/// The name of the queue to find a match for.
|
|
/// </summary>
|
|
public string QueueName;
|
|
/// <summary>
|
|
/// The Id of the ticket to find a match for.
|
|
/// </summary>
|
|
public string TicketId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetMatchmakingTicketResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The reason why the current ticket was canceled. This field is only set if the ticket is in canceled state. Please retry
|
|
/// if CancellationReason is RetryRequired.
|
|
/// </summary>
|
|
public string CancellationReasonString;
|
|
/// <summary>
|
|
/// Change number used for differentiating older matchmaking status updates from newer ones.
|
|
/// </summary>
|
|
public uint? ChangeNumber;
|
|
/// <summary>
|
|
/// The server date and time at which ticket was created.
|
|
/// </summary>
|
|
public DateTime Created;
|
|
/// <summary>
|
|
/// The Creator's entity key.
|
|
/// </summary>
|
|
public EntityKey Creator;
|
|
/// <summary>
|
|
/// How long to attempt matching this ticket in seconds.
|
|
/// </summary>
|
|
public int GiveUpAfterSeconds;
|
|
/// <summary>
|
|
/// The Id of a match.
|
|
/// </summary>
|
|
public string MatchId;
|
|
/// <summary>
|
|
/// A list of Users that have joined this ticket.
|
|
/// </summary>
|
|
public List<MatchmakingPlayer> Members;
|
|
/// <summary>
|
|
/// A list of PlayFab Ids of Users to match with.
|
|
/// </summary>
|
|
public List<EntityKey> MembersToMatchWith;
|
|
/// <summary>
|
|
/// The Id of a match queue.
|
|
/// </summary>
|
|
public string QueueName;
|
|
/// <summary>
|
|
/// The current ticket status. Possible values are: WaitingForPlayers, WaitingForMatch, WaitingForServer, Canceled and
|
|
/// Matched.
|
|
/// </summary>
|
|
public string Status;
|
|
/// <summary>
|
|
/// The Id of the ticket to find a match for.
|
|
/// </summary>
|
|
public string TicketId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// When matchmaking has successfully matched together a collection of tickets, it produces a 'match' with an Id. The match
|
|
/// contains all of the players that were matched together, and their team assigments. Only servers and ticket members can
|
|
/// get the match.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetMatchRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Determines whether the matchmaking attributes will be returned as an escaped JSON string or as an un-escaped JSON
|
|
/// object.
|
|
/// </summary>
|
|
public bool EscapeObject;
|
|
/// <summary>
|
|
/// The Id of a match.
|
|
/// </summary>
|
|
public string MatchId;
|
|
/// <summary>
|
|
/// The name of the queue to join.
|
|
/// </summary>
|
|
public string QueueName;
|
|
/// <summary>
|
|
/// Determines whether the matchmaking attributes for each user should be returned in the response for match request.
|
|
/// </summary>
|
|
public bool ReturnMemberAttributes;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetMatchResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// A string that is used by players that are matched together to join an arranged lobby.
|
|
/// </summary>
|
|
public string ArrangementString;
|
|
/// <summary>
|
|
/// The Id of a match.
|
|
/// </summary>
|
|
public string MatchId;
|
|
/// <summary>
|
|
/// A list of Users that are matched together, along with their team assignments.
|
|
/// </summary>
|
|
public List<MatchmakingPlayerWithTeamAssignment> Members;
|
|
/// <summary>
|
|
/// A list of regions that the match could be played in sorted by preference. This value is only set if the queue has a
|
|
/// region selection rule.
|
|
/// </summary>
|
|
public List<string> RegionPreferences;
|
|
/// <summary>
|
|
/// The details of the server that the match has been allocated to.
|
|
/// </summary>
|
|
public ServerDetails ServerDetails;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets multiplayer server session details for a build in a specific region.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetMultiplayerServerDetailsRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The title generated guid string session ID of the multiplayer server to get details for. This is to keep track of
|
|
/// multiplayer server sessions.
|
|
/// </summary>
|
|
public string SessionId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetMultiplayerServerDetailsResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The identity of the build in which the server was allocated.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The connected players in the multiplayer server.
|
|
/// </summary>
|
|
public List<ConnectedPlayer> ConnectedPlayers;
|
|
/// <summary>
|
|
/// The fully qualified domain name of the virtual machine that is hosting this multiplayer server.
|
|
/// </summary>
|
|
public string FQDN;
|
|
/// <summary>
|
|
/// The public IPv4 address of the virtual machine that is hosting this multiplayer server.
|
|
/// </summary>
|
|
public string IPV4Address;
|
|
/// <summary>
|
|
/// The time (UTC) at which a change in the multiplayer server state was observed.
|
|
/// </summary>
|
|
public DateTime? LastStateTransitionTime;
|
|
/// <summary>
|
|
/// The ports the multiplayer server uses.
|
|
/// </summary>
|
|
public List<Port> Ports;
|
|
/// <summary>
|
|
/// The list of public Ipv4 addresses associated with the server.
|
|
/// </summary>
|
|
public List<PublicIpAddress> PublicIPV4Addresses;
|
|
/// <summary>
|
|
/// The region the multiplayer server is located in.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The string server ID of the multiplayer server generated by PlayFab.
|
|
/// </summary>
|
|
public string ServerId;
|
|
/// <summary>
|
|
/// The guid string session ID of the multiplayer server.
|
|
/// </summary>
|
|
public string SessionId;
|
|
/// <summary>
|
|
/// The state of the multiplayer server.
|
|
/// </summary>
|
|
public string State;
|
|
/// <summary>
|
|
/// The virtual machine ID that the multiplayer server is located on.
|
|
/// </summary>
|
|
public string VmId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets multiplayer server logs for a specific server id in a region. The logs are available only after a server has
|
|
/// terminated.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetMultiplayerServerLogsRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The server ID of multiplayer server to get logs for.
|
|
/// </summary>
|
|
public string ServerId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetMultiplayerServerLogsResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// URL for logs download.
|
|
/// </summary>
|
|
public string LogDownloadUrl;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets multiplayer server logs for a specific server id in a region. The logs are available only after a server has
|
|
/// terminated.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetMultiplayerSessionLogsBySessionIdRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The server ID of multiplayer server to get logs for.
|
|
/// </summary>
|
|
public string SessionId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns the matchmaking statistics for a queue. These include the number of players matching and the statistics related
|
|
/// to the time to match statistics in seconds (average and percentiles). Statistics are refreshed once every 5 minutes.
|
|
/// Servers can access all statistics no matter what the ClientStatisticsVisibility is configured to. Clients can access
|
|
/// statistics according to the ClientStatisticsVisibility. Client requests are forbidden if all visibility fields are
|
|
/// false.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetQueueStatisticsRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The name of the queue.
|
|
/// </summary>
|
|
public string QueueName;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetQueueStatisticsResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The current number of players in the matchmaking queue, who are waiting to be matched.
|
|
/// </summary>
|
|
public uint? NumberOfPlayersMatching;
|
|
/// <summary>
|
|
/// Statistics representing the time (in seconds) it takes for tickets to find a match.
|
|
/// </summary>
|
|
public Statistics TimeToMatchStatisticsInSeconds;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets a remote login endpoint to a VM that is hosting a multiplayer server build in a specific region.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetRemoteLoginEndpointRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string build ID of the multiplayer server to get remote login information for.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The region of the multiplayer server to get remote login information for.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The virtual machine ID the multiplayer server is located on.
|
|
/// </summary>
|
|
public string VmId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetRemoteLoginEndpointResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The remote login IPV4 address of multiplayer server.
|
|
/// </summary>
|
|
public string IPV4Address;
|
|
/// <summary>
|
|
/// The remote login port of multiplayer server.
|
|
/// </summary>
|
|
public int Port;
|
|
}
|
|
|
|
/// <summary>
|
|
/// The ticket includes the players, their attributes, their teams, the ticket status, the match Id and the server details
|
|
/// when applicable, etc. Only servers can get the ticket.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetServerBackfillTicketRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Determines whether the matchmaking attributes will be returned as an escaped JSON string or as an un-escaped JSON
|
|
/// object.
|
|
/// </summary>
|
|
public bool EscapeObject;
|
|
/// <summary>
|
|
/// The name of the queue to find a match for.
|
|
/// </summary>
|
|
public string QueueName;
|
|
/// <summary>
|
|
/// The Id of the ticket to find a match for.
|
|
/// </summary>
|
|
public string TicketId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetServerBackfillTicketResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The reason why the current ticket was canceled. This field is only set if the ticket is in canceled state.
|
|
/// </summary>
|
|
public string CancellationReasonString;
|
|
/// <summary>
|
|
/// The server date and time at which ticket was created.
|
|
/// </summary>
|
|
public DateTime Created;
|
|
/// <summary>
|
|
/// How long to attempt matching this ticket in seconds.
|
|
/// </summary>
|
|
public int GiveUpAfterSeconds;
|
|
/// <summary>
|
|
/// The Id of a match.
|
|
/// </summary>
|
|
public string MatchId;
|
|
/// <summary>
|
|
/// A list of Users that are part of this ticket, along with their team assignments.
|
|
/// </summary>
|
|
public List<MatchmakingPlayerWithTeamAssignment> Members;
|
|
/// <summary>
|
|
/// The Id of a match queue.
|
|
/// </summary>
|
|
public string QueueName;
|
|
/// <summary>
|
|
/// The details of the server the members are connected to.
|
|
/// </summary>
|
|
public ServerDetails ServerDetails;
|
|
/// <summary>
|
|
/// The current ticket status. Possible values are: WaitingForMatch, Canceled and Matched.
|
|
/// </summary>
|
|
public string Status;
|
|
/// <summary>
|
|
/// The Id of the ticket to find a match for.
|
|
/// </summary>
|
|
public string TicketId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the status of whether a title is enabled for the multiplayer server feature. The enabled status can be
|
|
/// Initializing, Enabled, and Disabled.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetTitleEnabledForMultiplayerServersStatusRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetTitleEnabledForMultiplayerServersStatusResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The enabled status for the multiplayer server features for the title.
|
|
/// </summary>
|
|
public TitleMultiplayerServerEnabledStatus? Status;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets a title's server quota change request.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetTitleMultiplayerServersQuotaChangeRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Id of the change request to get.
|
|
/// </summary>
|
|
public string RequestId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetTitleMultiplayerServersQuotaChangeResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The change request for this title.
|
|
/// </summary>
|
|
public QuotaChange Change;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the quotas for a title in relation to multiplayer servers.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetTitleMultiplayerServersQuotasRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetTitleMultiplayerServersQuotasResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The various quotas for multiplayer servers for the title.
|
|
/// </summary>
|
|
public TitleMultiplayerServersQuotas Quotas;
|
|
}
|
|
|
|
[Serializable]
|
|
public class InstrumentationConfiguration : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Designates whether windows instrumentation configuration will be enabled for this Build
|
|
/// </summary>
|
|
public bool? IsEnabled;
|
|
/// <summary>
|
|
/// This property is deprecated, use IsEnabled. The list of processes to be monitored on a VM for this build. Providing
|
|
/// processes will turn on performance metrics collection for this build. Process names should not include extensions. If
|
|
/// the game server process is: GameServer.exe; then, ProcessesToMonitor = [ GameServer ]
|
|
/// </summary>
|
|
public List<string> ProcessesToMonitor;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to invite a player to a lobby the caller is already a member of. Only a client can invite another player to a
|
|
/// lobby.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class InviteToLobbyRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The entity invited to the lobby.
|
|
/// </summary>
|
|
public EntityKey InviteeEntity;
|
|
/// <summary>
|
|
/// The id of the lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
/// <summary>
|
|
/// The member entity sending the invite. Must be a member of the lobby.
|
|
/// </summary>
|
|
public EntityKey MemberEntity;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to join an arranged lobby. Only a client can join an arranged lobby.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class JoinArrangedLobbyRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The policy indicating who is allowed to join the lobby, and the visibility to queries. May be 'Public', 'Friends' or
|
|
/// 'Private'. Public means the lobby is both visible in queries and any player may join, including invited players. Friends
|
|
/// means that users who are bidirectional friends of members in the lobby may search to find friend lobbies, to retrieve
|
|
/// its connection string. Private means the lobby is not visible in queries, and a player must receive an invitation to
|
|
/// join. Defaults to 'Public' on creation. Can only be changed by the lobby owner.
|
|
/// </summary>
|
|
public AccessPolicy? AccessPolicy;
|
|
/// <summary>
|
|
/// A field which indicates which lobby the user will be joining. This field is opaque to everyone except the Lobby service
|
|
/// and the creator of the arrangementString (Matchmaking). This string defines a unique identifier for the arranged lobby
|
|
/// as well as the title and member the string is valid for. Arrangement strings have an expiration.
|
|
/// </summary>
|
|
public string ArrangementString;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The maximum number of players allowed in the lobby. The value must be between 2 and 128.
|
|
/// </summary>
|
|
public uint MaxPlayers;
|
|
/// <summary>
|
|
/// The private key-value pairs used by the member to communicate information to other members and the owner. Visible to all
|
|
/// entities in the lobby. At most 30 key-value pairs may be stored here, keys are limited to 30 characters and values to
|
|
/// 1000. The total size of all memberData values may not exceed 4096 bytes. Keys are case sensitive.
|
|
/// </summary>
|
|
public Dictionary<string,string> MemberData;
|
|
/// <summary>
|
|
/// The member entity who is joining the lobby. The first member to join will be the lobby owner.
|
|
/// </summary>
|
|
public EntityKey MemberEntity;
|
|
/// <summary>
|
|
/// The policy for how a new owner is chosen. May be 'Automatic', 'Manual' or 'None'. Can only be specified by clients. If
|
|
/// client-owned and 'Automatic' - The Lobby service will automatically assign another connected owner when the current
|
|
/// owner leaves or disconnects. The useConnections property must be true. If client - owned and 'Manual' - Ownership is
|
|
/// protected as long as the current owner is connected. If the current owner leaves or disconnects any member may set
|
|
/// themselves as the current owner. The useConnections property must be true. If client-owned and 'None' - Any member can
|
|
/// set ownership. The useConnections property can be either true or false.
|
|
/// </summary>
|
|
public OwnerMigrationPolicy? OwnerMigrationPolicy;
|
|
/// <summary>
|
|
/// A setting to control whether connections are used. Defaults to true. When true, notifications are sent to subscribed
|
|
/// players, disconnect detection removes connectionHandles, only owner migration policies using connections are allowed,
|
|
/// and lobbies must have at least one connected member to be searchable or be a server hosted lobby with a connected
|
|
/// server. If false, then notifications are not sent, connections are not allowed, and lobbies do not need connections to
|
|
/// be searchable.
|
|
/// </summary>
|
|
public bool UseConnections;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Preview: Request to join a lobby as a server. Only callable by a game_server entity and this is restricted to client
|
|
/// owned lobbies which are using connections.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class JoinLobbyAsServerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// A field which indicates which lobby the game_server will be joining. This field is opaque to everyone except the Lobby
|
|
/// service.
|
|
/// </summary>
|
|
public string ConnectionString;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The private key-value pairs which are visible to all entities in the lobby but can only be modified by the joined
|
|
/// server.At most 30 key - value pairs may be stored here, keys are limited to 30 characters and values to 1000.The total
|
|
/// size of all serverData values may not exceed 4096 bytes.
|
|
/// </summary>
|
|
public Dictionary<string,string> ServerData;
|
|
/// <summary>
|
|
/// The game_server entity which is joining the Lobby. If a different game_server entity has already joined the request will
|
|
/// fail unless the joined entity is disconnected, in which case the incoming game_server entity will replace the
|
|
/// disconnected entity.
|
|
/// </summary>
|
|
public EntityKey ServerEntity;
|
|
}
|
|
|
|
[Serializable]
|
|
public class JoinLobbyAsServerResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// Successfully joined lobby's id.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to join a lobby. Only a client can join a lobby.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class JoinLobbyRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// A field which indicates which lobby the user will be joining. This field is opaque to everyone except the Lobby service.
|
|
/// </summary>
|
|
public string ConnectionString;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The private key-value pairs used by the member to communicate information to other members and the owner. Visible to all
|
|
/// entities in the lobby. At most 30 key-value pairs may be stored here, keys are limited to 30 characters and values to
|
|
/// 1000. The total size of all memberData values may not exceed 4096 bytes.Keys are case sensitive.
|
|
/// </summary>
|
|
public Dictionary<string,string> MemberData;
|
|
/// <summary>
|
|
/// The member entity who is joining the lobby.
|
|
/// </summary>
|
|
public EntityKey MemberEntity;
|
|
}
|
|
|
|
[Serializable]
|
|
public class JoinLobbyResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// Successfully joined lobby's id.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Add the player to a matchmaking ticket and specify all of its matchmaking attributes. Players can join a ticket if and
|
|
/// only if their EntityKeys are already listed in the ticket's Members list. The matchmaking service automatically starts
|
|
/// matching the ticket against other matchmaking tickets once all players have joined the ticket. It is not possible to
|
|
/// join a ticket once it has started matching.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class JoinMatchmakingTicketRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The User who wants to join the ticket. Their Id must be listed in PlayFabIdsToMatchWith.
|
|
/// </summary>
|
|
public MatchmakingPlayer Member;
|
|
/// <summary>
|
|
/// The name of the queue to join.
|
|
/// </summary>
|
|
public string QueueName;
|
|
/// <summary>
|
|
/// The Id of the ticket to find a match for.
|
|
/// </summary>
|
|
public string TicketId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class JoinMatchmakingTicketResult : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Preview: Request for server to leave a lobby. Only a game_server entity can leave and this is restricted to client owned
|
|
/// lobbies which are using connections.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class LeaveLobbyAsServerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The id of the lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
/// <summary>
|
|
/// The game_server entity leaving the lobby. If the game_server was subscribed to notifications, it will be unsubscribed.
|
|
/// If a the given game_server entity is not in the lobby, it will fail.
|
|
/// </summary>
|
|
public EntityKey ServerEntity;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to leave a lobby. Only a client can leave a lobby.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class LeaveLobbyRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The id of the lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
/// <summary>
|
|
/// The member entity leaving the lobby.
|
|
/// </summary>
|
|
public EntityKey MemberEntity;
|
|
}
|
|
|
|
[Serializable]
|
|
public class LinearDifferenceRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// This value gets added to Difference at every expansion interval.
|
|
/// </summary>
|
|
public double Delta;
|
|
/// <summary>
|
|
/// Once the total difference reaches this value, expansion stops. Optional.
|
|
/// </summary>
|
|
public double? Limit;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class LinearRegionSelectionRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// This value gets added to MaxLatency at every expansion interval.
|
|
/// </summary>
|
|
public uint Delta;
|
|
/// <summary>
|
|
/// Once the max Latency reaches this value, expansion stops.
|
|
/// </summary>
|
|
public uint Limit;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class LinearSetIntersectionRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// This value gets added to MinIntersectionSize at every expansion interval.
|
|
/// </summary>
|
|
public uint Delta;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class LinearTeamDifferenceRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// This value gets added to Difference at every expansion interval.
|
|
/// </summary>
|
|
public double Delta;
|
|
/// <summary>
|
|
/// Once the total difference reaches this value, expansion stops. Optional.
|
|
/// </summary>
|
|
public double? Limit;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class LinearTeamSizeBalanceRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// This value gets added to Difference at every expansion interval.
|
|
/// </summary>
|
|
public uint Delta;
|
|
/// <summary>
|
|
/// Once the total difference reaches this value, expansion stops. Optional.
|
|
/// </summary>
|
|
public uint? Limit;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class LinuxInstrumentationConfiguration : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Designates whether Linux instrumentation configuration will be enabled for this Build
|
|
/// </summary>
|
|
public bool IsEnabled;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of multiplayer server game asset summaries for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListAssetSummariesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The page size for the request.
|
|
/// </summary>
|
|
public int? PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged request.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListAssetSummariesResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The list of asset summaries.
|
|
/// </summary>
|
|
public List<AssetSummary> AssetSummaries;
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of summarized details of all multiplayer server builds for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListBuildAliasesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The page size for the request.
|
|
/// </summary>
|
|
public int? PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged request.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListBuildAliasesResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The list of build aliases for the title
|
|
/// </summary>
|
|
public List<BuildAliasDetailsResponse> BuildAliases;
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of summarized details of all multiplayer server builds for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListBuildSummariesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The page size for the request.
|
|
/// </summary>
|
|
public int? PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged request.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListBuildSummariesResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The list of build summaries for a title.
|
|
/// </summary>
|
|
public List<BuildSummary> BuildSummaries;
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of multiplayer server game certificates for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListCertificateSummariesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The page size for the request.
|
|
/// </summary>
|
|
public int? PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged request.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListCertificateSummariesResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The list of game certificates.
|
|
/// </summary>
|
|
public List<CertificateSummary> CertificateSummaries;
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of the container images that have been uploaded to the container registry for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListContainerImagesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The page size for the request.
|
|
/// </summary>
|
|
public int? PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged request.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListContainerImagesResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The list of container images.
|
|
/// </summary>
|
|
public List<string> Images;
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of the tags for a particular container image that exists in the container registry for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListContainerImageTagsRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The container images we want to list tags for.
|
|
/// </summary>
|
|
public string ImageName;
|
|
/// <summary>
|
|
/// The page size for the request.
|
|
/// </summary>
|
|
public int? PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged request.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListContainerImageTagsResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
/// <summary>
|
|
/// The list of tags for a particular container image.
|
|
/// </summary>
|
|
public List<string> Tags;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets a list of all the matchmaking queue configurations for the title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListMatchmakingQueuesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListMatchmakingQueuesResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The list of matchmaking queue configs for this title.
|
|
/// </summary>
|
|
public List<MatchmakingQueueConfig> MatchMakingQueues;
|
|
}
|
|
|
|
/// <summary>
|
|
/// If the caller is a title, the EntityKey in the request is required. If the caller is a player, then it is optional. If
|
|
/// it is provided it must match the caller's entity.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListMatchmakingTicketsForPlayerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The entity key for which to find the ticket Ids.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
/// <summary>
|
|
/// The name of the queue to find a match for.
|
|
/// </summary>
|
|
public string QueueName;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListMatchmakingTicketsForPlayerResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The list of ticket Ids the user is a member of.
|
|
/// </summary>
|
|
public List<string> TicketIds;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of multiplayer servers for a build in a specific region.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListMultiplayerServersRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string build ID of the multiplayer servers to list.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The page size for the request.
|
|
/// </summary>
|
|
public int? PageSize;
|
|
/// <summary>
|
|
/// The region the multiplayer servers to list.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The skip token for the paged request.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListMultiplayerServersResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The list of multiplayer server summary details.
|
|
/// </summary>
|
|
public List<MultiplayerServerSummary> MultiplayerServerSummaries;
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of quality of service servers for party.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListPartyQosServersRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListPartyQosServersResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The list of QoS servers.
|
|
/// </summary>
|
|
public List<QosServer> QosServers;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of quality of service servers for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListQosServersForTitleRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Indicates that the response should contain Qos servers for all regions, including those where there are no builds
|
|
/// deployed for the title.
|
|
/// </summary>
|
|
public bool? IncludeAllRegions;
|
|
/// <summary>
|
|
/// Indicates the Routing Preference used by the Qos servers. The default Routing Preference is Microsoft
|
|
/// </summary>
|
|
public string RoutingPreference;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListQosServersForTitleResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The list of QoS servers.
|
|
/// </summary>
|
|
public List<QosServer> QosServers;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of multiplayer server game secrets for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListSecretSummariesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The page size for the request.
|
|
/// </summary>
|
|
public int? PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged request.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListSecretSummariesResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The list of game secret.
|
|
/// </summary>
|
|
public List<SecretSummary> SecretSummaries;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
/// <summary>
|
|
/// List all server backfill ticket Ids the user is a member of.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListServerBackfillTicketsForPlayerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The entity key for which to find the ticket Ids.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
/// <summary>
|
|
/// The name of the queue the tickets are in.
|
|
/// </summary>
|
|
public string QueueName;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListServerBackfillTicketsForPlayerResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The list of backfill ticket Ids the user is a member of.
|
|
/// </summary>
|
|
public List<string> TicketIds;
|
|
}
|
|
|
|
/// <summary>
|
|
/// List all server quota change requests for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListTitleMultiplayerServersQuotaChangesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListTitleMultiplayerServersQuotaChangesResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// All change requests for this title.
|
|
/// </summary>
|
|
public List<QuotaChange> Changes;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of virtual machines for a title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ListVirtualMachineSummariesRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string build ID of the virtual machines to list.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The page size for the request.
|
|
/// </summary>
|
|
public int? PageSize;
|
|
/// <summary>
|
|
/// The region of the virtual machines to list.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The skip token for the paged request.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ListVirtualMachineSummariesResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The page size on the response.
|
|
/// </summary>
|
|
public int PageSize;
|
|
/// <summary>
|
|
/// The skip token for the paged response.
|
|
/// </summary>
|
|
public string SkipToken;
|
|
/// <summary>
|
|
/// The list of virtual machine summaries.
|
|
/// </summary>
|
|
public List<VirtualMachineSummary> VirtualMachines;
|
|
}
|
|
|
|
[Serializable]
|
|
public class Lobby : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// A setting indicating who is allowed to join this lobby, as well as see it in queries.
|
|
/// </summary>
|
|
public AccessPolicy AccessPolicy;
|
|
/// <summary>
|
|
/// A number that increments once for each request that modifies the lobby.
|
|
/// </summary>
|
|
public uint ChangeNumber;
|
|
/// <summary>
|
|
/// A string used to join the lobby. This field is populated by the Lobby service. Invites are performed by communicating
|
|
/// this connectionString to other players.
|
|
/// </summary>
|
|
public string ConnectionString;
|
|
/// <summary>
|
|
/// Lobby data.
|
|
/// </summary>
|
|
public Dictionary<string,string> LobbyData;
|
|
/// <summary>
|
|
/// Id to uniquely identify a lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
/// <summary>
|
|
/// The maximum number of players allowed in the lobby.
|
|
/// </summary>
|
|
public uint MaxPlayers;
|
|
/// <summary>
|
|
/// Array of all lobby members.
|
|
/// </summary>
|
|
public List<Member> Members;
|
|
/// <summary>
|
|
/// A setting indicating whether members are allowed to join this lobby. When Locked new members are prevented from joining.
|
|
/// </summary>
|
|
public MembershipLock MembershipLock;
|
|
/// <summary>
|
|
/// The client or server entity which owns this lobby.
|
|
/// </summary>
|
|
public EntityKey Owner;
|
|
/// <summary>
|
|
/// A setting indicating the owner migration policy. If server owned, this field is not present.
|
|
/// </summary>
|
|
public OwnerMigrationPolicy? OwnerMigrationPolicy;
|
|
/// <summary>
|
|
/// An opaque string stored on a SubscribeToLobbyResource call, which indicates the connection an owner or member has with
|
|
/// PubSub.
|
|
/// </summary>
|
|
public string PubSubConnectionHandle;
|
|
/// <summary>
|
|
/// Search data.
|
|
/// </summary>
|
|
public Dictionary<string,string> SearchData;
|
|
/// <summary>
|
|
/// Preview: Lobby joined server. This is not the server owner, rather the server that has joined a client owned lobby.
|
|
/// </summary>
|
|
public LobbyServer Server;
|
|
/// <summary>
|
|
/// A flag which determines if connections are used. Defaults to true. Only set on create.
|
|
/// </summary>
|
|
public bool UseConnections;
|
|
}
|
|
|
|
[Serializable]
|
|
public class LobbyEmptyResult : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
[Serializable]
|
|
public class LobbyServer : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Opaque string, stored on a Subscribe call, which indicates the connection a joined server has with PubSub.
|
|
/// </summary>
|
|
public string PubSubConnectionHandle;
|
|
/// <summary>
|
|
/// Key-value pairs specific to the joined server.
|
|
/// </summary>
|
|
public Dictionary<string,string> ServerData;
|
|
/// <summary>
|
|
/// The server entity key.
|
|
/// </summary>
|
|
public EntityKey ServerEntity;
|
|
}
|
|
|
|
[Serializable]
|
|
public class LobbySummary : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// A string used to join the lobby.This field is populated by the Lobby service.Invites are performed by communicating this
|
|
/// connectionString to other players.
|
|
/// </summary>
|
|
public string ConnectionString;
|
|
/// <summary>
|
|
/// The current number of players in the lobby.
|
|
/// </summary>
|
|
public uint CurrentPlayers;
|
|
/// <summary>
|
|
/// Id to uniquely identify a lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
/// <summary>
|
|
/// The maximum number of players allowed in the lobby.
|
|
/// </summary>
|
|
public uint MaxPlayers;
|
|
/// <summary>
|
|
/// A setting indicating whether members are allowed to join this lobby. When Locked new members are prevented from joining.
|
|
/// </summary>
|
|
public MembershipLock? MembershipLock;
|
|
/// <summary>
|
|
/// The client or server entity which owns this lobby.
|
|
/// </summary>
|
|
public EntityKey Owner;
|
|
/// <summary>
|
|
/// Search data.
|
|
/// </summary>
|
|
public Dictionary<string,string> SearchData;
|
|
}
|
|
|
|
/// <summary>
|
|
/// A user in a matchmaking ticket.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class MatchmakingPlayer : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The user's attributes custom to the title.
|
|
/// </summary>
|
|
public MatchmakingPlayerAttributes Attributes;
|
|
/// <summary>
|
|
/// The entity key of the matchmaking user.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
}
|
|
|
|
/// <summary>
|
|
/// The matchmaking attributes for a user.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class MatchmakingPlayerAttributes : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// A data object representing a user's attributes.
|
|
/// </summary>
|
|
public object DataObject;
|
|
/// <summary>
|
|
/// An escaped data object representing a user's attributes.
|
|
/// </summary>
|
|
public string EscapedDataObject;
|
|
}
|
|
|
|
/// <summary>
|
|
/// A player in a created matchmaking match with a team assignment.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class MatchmakingPlayerWithTeamAssignment : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The user's attributes custom to the title. These attributes will be null unless the request has ReturnMemberAttributes
|
|
/// flag set to true.
|
|
/// </summary>
|
|
public MatchmakingPlayerAttributes Attributes;
|
|
/// <summary>
|
|
/// The entity key of the matchmaking user.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
/// <summary>
|
|
/// The Id of the team the User is assigned to.
|
|
/// </summary>
|
|
public string TeamId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class MatchmakingQueueConfig : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// This is the buildAlias that will be used to allocate the multiplayer server for the match.
|
|
/// </summary>
|
|
public BuildAliasParams BuildAliasParams;
|
|
/// <summary>
|
|
/// This is the buildId that will be used to allocate the multiplayer server for the match.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// List of difference rules used to find an optimal match.
|
|
/// </summary>
|
|
public List<DifferenceRule> DifferenceRules;
|
|
/// <summary>
|
|
/// List of match total rules used to find an optimal match.
|
|
/// </summary>
|
|
public List<MatchTotalRule> MatchTotalRules;
|
|
/// <summary>
|
|
/// Maximum number of players in a match.
|
|
/// </summary>
|
|
public uint MaxMatchSize;
|
|
/// <summary>
|
|
/// Maximum number of players in a ticket. Optional.
|
|
/// </summary>
|
|
public uint? MaxTicketSize;
|
|
/// <summary>
|
|
/// Minimum number of players in a match.
|
|
/// </summary>
|
|
public uint MinMatchSize;
|
|
/// <summary>
|
|
/// Unique identifier for a Queue. Chosen by the developer.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// Region selection rule used to find an optimal match.
|
|
/// </summary>
|
|
public RegionSelectionRule RegionSelectionRule;
|
|
/// <summary>
|
|
/// Boolean flag to enable server allocation for the queue.
|
|
/// </summary>
|
|
public bool ServerAllocationEnabled;
|
|
/// <summary>
|
|
/// List of set intersection rules used to find an optimal match.
|
|
/// </summary>
|
|
public List<SetIntersectionRule> SetIntersectionRules;
|
|
/// <summary>
|
|
/// Controls which statistics are visible to players.
|
|
/// </summary>
|
|
public StatisticsVisibilityToPlayers StatisticsVisibilityToPlayers;
|
|
/// <summary>
|
|
/// List of string equality rules used to find an optimal match.
|
|
/// </summary>
|
|
public List<StringEqualityRule> StringEqualityRules;
|
|
/// <summary>
|
|
/// List of team difference rules used to find an optimal match.
|
|
/// </summary>
|
|
public List<TeamDifferenceRule> TeamDifferenceRules;
|
|
/// <summary>
|
|
/// The team configuration for a match. This may be null if there are no teams.
|
|
/// </summary>
|
|
public List<MatchmakingQueueTeam> Teams;
|
|
/// <summary>
|
|
/// Team size balance rule used to find an optimal match.
|
|
/// </summary>
|
|
public TeamSizeBalanceRule TeamSizeBalanceRule;
|
|
/// <summary>
|
|
/// Team ticket size similarity rule used to find an optimal match.
|
|
/// </summary>
|
|
public TeamTicketSizeSimilarityRule TeamTicketSizeSimilarityRule;
|
|
}
|
|
|
|
[Serializable]
|
|
public class MatchmakingQueueTeam : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The maximum number of players required for the team.
|
|
/// </summary>
|
|
public uint MaxTeamSize;
|
|
/// <summary>
|
|
/// The minimum number of players required for the team.
|
|
/// </summary>
|
|
public uint MinTeamSize;
|
|
/// <summary>
|
|
/// A name to identify the team. This is case insensitive.
|
|
/// </summary>
|
|
public string Name;
|
|
}
|
|
|
|
[Serializable]
|
|
public class MatchTotalRule : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Description of the attribute used by this rule to match tickets.
|
|
/// </summary>
|
|
public QueueRuleAttribute Attribute;
|
|
/// <summary>
|
|
/// Collection of fields relating to expanding this rule at set intervals.
|
|
/// </summary>
|
|
public MatchTotalRuleExpansion Expansion;
|
|
/// <summary>
|
|
/// The maximum total value for a group. Must be >= Min.
|
|
/// </summary>
|
|
public double Max;
|
|
/// <summary>
|
|
/// The minimum total value for a group. Must be >=2.
|
|
/// </summary>
|
|
public double Min;
|
|
/// <summary>
|
|
/// Friendly name chosen by developer.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// How many seconds before this rule is no longer enforced (but tickets that comply with this rule will still be
|
|
/// prioritized over those that don't). Leave blank if this rule is always enforced.
|
|
/// </summary>
|
|
public uint? SecondsUntilOptional;
|
|
/// <summary>
|
|
/// The relative weight of this rule compared to others.
|
|
/// </summary>
|
|
public double Weight;
|
|
}
|
|
|
|
[Serializable]
|
|
public class MatchTotalRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Manually specify the values to use for each expansion interval. When this is set, Max is ignored.
|
|
/// </summary>
|
|
public List<OverrideDouble> MaxOverrides;
|
|
/// <summary>
|
|
/// Manually specify the values to use for each expansion interval. When this is set, Min is ignored.
|
|
/// </summary>
|
|
public List<OverrideDouble> MinOverrides;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class Member : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Key-value pairs specific to member.
|
|
/// </summary>
|
|
public Dictionary<string,string> MemberData;
|
|
/// <summary>
|
|
/// The member entity key.
|
|
/// </summary>
|
|
public EntityKey MemberEntity;
|
|
/// <summary>
|
|
/// Opaque string, stored on a Subscribe call, which indicates the connection an owner or member has with PubSub.
|
|
/// </summary>
|
|
public string PubSubConnectionHandle;
|
|
}
|
|
|
|
public enum MembershipLock
|
|
{
|
|
Unlocked,
|
|
Locked
|
|
}
|
|
|
|
[Serializable]
|
|
public class MonitoringApplicationConfiguration : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Asset which contains the monitoring application files and scripts.
|
|
/// </summary>
|
|
public AssetReference AssetReference;
|
|
/// <summary>
|
|
/// Execution script name, this will be the main executable for the monitoring application.
|
|
/// </summary>
|
|
public string ExecutionScriptName;
|
|
/// <summary>
|
|
/// Installation script name, this will be run before the ExecutionScript.
|
|
/// </summary>
|
|
public string InstallationScriptName;
|
|
/// <summary>
|
|
/// Timespan the monitoring application will be kept alive when running from the start of the VM
|
|
/// </summary>
|
|
public double? OnStartRuntimeInMinutes;
|
|
}
|
|
|
|
[Serializable]
|
|
public class MonitoringApplicationConfigurationParams : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Asset which contains the monitoring application files and scripts.
|
|
/// </summary>
|
|
public AssetReferenceParams AssetReference;
|
|
/// <summary>
|
|
/// Execution script name, this will be the main executable for the monitoring application.
|
|
/// </summary>
|
|
public string ExecutionScriptName;
|
|
/// <summary>
|
|
/// Installation script name, this will be run before the ExecutionScript.
|
|
/// </summary>
|
|
public string InstallationScriptName;
|
|
/// <summary>
|
|
/// Timespan the monitoring application will be kept alive when running from the start of the VM
|
|
/// </summary>
|
|
public double? OnStartRuntimeInMinutes;
|
|
}
|
|
|
|
[Serializable]
|
|
public class MultiplayerServerSummary : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The connected players in the multiplayer server.
|
|
/// </summary>
|
|
public List<ConnectedPlayer> ConnectedPlayers;
|
|
/// <summary>
|
|
/// The time (UTC) at which a change in the multiplayer server state was observed.
|
|
/// </summary>
|
|
public DateTime? LastStateTransitionTime;
|
|
/// <summary>
|
|
/// The region the multiplayer server is located in.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The string server ID of the multiplayer server generated by PlayFab.
|
|
/// </summary>
|
|
public string ServerId;
|
|
/// <summary>
|
|
/// The title generated guid string session ID of the multiplayer server.
|
|
/// </summary>
|
|
public string SessionId;
|
|
/// <summary>
|
|
/// The state of the multiplayer server.
|
|
/// </summary>
|
|
public string State;
|
|
/// <summary>
|
|
/// The virtual machine ID that the multiplayer server is located on.
|
|
/// </summary>
|
|
public string VmId;
|
|
}
|
|
|
|
public enum OsPlatform
|
|
{
|
|
Windows,
|
|
Linux
|
|
}
|
|
|
|
[Serializable]
|
|
public class OverrideDouble : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The custom expansion value.
|
|
/// </summary>
|
|
public double Value;
|
|
}
|
|
|
|
[Serializable]
|
|
public class OverrideUnsignedInt : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The custom expansion value.
|
|
/// </summary>
|
|
public uint Value;
|
|
}
|
|
|
|
public enum OwnerMigrationPolicy
|
|
{
|
|
None,
|
|
Automatic,
|
|
Manual,
|
|
Server
|
|
}
|
|
|
|
[Serializable]
|
|
public class PaginationRequest : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients.
|
|
/// </summary>
|
|
public string ContinuationToken;
|
|
/// <summary>
|
|
/// The number of lobbies that should be retrieved. Cannot be specified by servers, clients may specify any value up to 50
|
|
/// </summary>
|
|
public uint? PageSizeRequested;
|
|
}
|
|
|
|
[Serializable]
|
|
public class PaginationResponse : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Continuation token returned by server call. Not returned for clients
|
|
/// </summary>
|
|
public string ContinuationToken;
|
|
/// <summary>
|
|
/// The number of lobbies that matched the search request.
|
|
/// </summary>
|
|
public uint? TotalMatchedLobbyCount;
|
|
}
|
|
|
|
[Serializable]
|
|
public class PartyInvitationConfiguration : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The list of PlayFab EntityKeys that the invitation allows to authenticate into the network. If this list is empty, all
|
|
/// users are allowed to authenticate using the invitation's identifier. This list may contain no more than 1024 items.
|
|
/// </summary>
|
|
public List<EntityKey> EntityKeys;
|
|
/// <summary>
|
|
/// The invite identifier for this party. If this value is specified, it must be no longer than 127 characters.
|
|
/// </summary>
|
|
public string Identifier;
|
|
/// <summary>
|
|
/// Controls which participants can revoke this invite.
|
|
/// </summary>
|
|
public string Revocability;
|
|
}
|
|
|
|
public enum PartyInvitationRevocability
|
|
{
|
|
Creator,
|
|
Anyone
|
|
}
|
|
|
|
[Serializable]
|
|
public class PartyNetworkConfiguration : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Controls whether and how to support direct peer-to-peer connection attempts among devices in the network.
|
|
/// </summary>
|
|
public string DirectPeerConnectivityOptions;
|
|
/// <summary>
|
|
/// The maximum number of devices allowed to connect to the network. Must be between 1 and 128, inclusive.
|
|
/// </summary>
|
|
public uint MaxDevices;
|
|
/// <summary>
|
|
/// The maximum number of devices allowed per user. Must be greater than 0.
|
|
/// </summary>
|
|
public uint MaxDevicesPerUser;
|
|
/// <summary>
|
|
/// The maximum number of endpoints allowed per device. Must be between 0 and 32, inclusive.
|
|
/// </summary>
|
|
public uint MaxEndpointsPerDevice;
|
|
/// <summary>
|
|
/// The maximum number of unique users allowed in the network. Must be greater than 0.
|
|
/// </summary>
|
|
public uint MaxUsers;
|
|
/// <summary>
|
|
/// The maximum number of users allowed per device. Must be between 1 and 8, inclusive.
|
|
/// </summary>
|
|
public uint MaxUsersPerDevice;
|
|
/// <summary>
|
|
/// An optionally-specified configuration for the initial invitation for this party. If not provided, default configuration
|
|
/// values will be used: a title-unique invitation identifier will be generated, the revocability will be Anyone, and the
|
|
/// EntityID list will be empty.
|
|
/// </summary>
|
|
public PartyInvitationConfiguration PartyInvitationConfiguration;
|
|
}
|
|
|
|
[Serializable]
|
|
public class Port : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The name for the port.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// The number for the port.
|
|
/// </summary>
|
|
public int Num;
|
|
/// <summary>
|
|
/// The protocol for the port.
|
|
/// </summary>
|
|
public ProtocolType Protocol;
|
|
}
|
|
|
|
public enum ProtocolType
|
|
{
|
|
TCP,
|
|
UDP
|
|
}
|
|
|
|
[Serializable]
|
|
public class PublicIpAddress : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// FQDN of the public IP
|
|
/// </summary>
|
|
public string FQDN;
|
|
/// <summary>
|
|
/// Server IP Address
|
|
/// </summary>
|
|
public string IpAddress;
|
|
/// <summary>
|
|
/// Routing Type of the public IP.
|
|
/// </summary>
|
|
public string RoutingType;
|
|
}
|
|
|
|
[Serializable]
|
|
public class QosServer : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The region the QoS server is located in.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The QoS server URL.
|
|
/// </summary>
|
|
public string ServerUrl;
|
|
}
|
|
|
|
[Serializable]
|
|
public class QueueRuleAttribute : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Specifies which attribute in a ticket to use.
|
|
/// </summary>
|
|
public string Path;
|
|
/// <summary>
|
|
/// Specifies which source the attribute comes from.
|
|
/// </summary>
|
|
public AttributeSource Source;
|
|
}
|
|
|
|
[Serializable]
|
|
public class QuotaChange : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// A brief description of the requested changes.
|
|
/// </summary>
|
|
public string ChangeDescription;
|
|
/// <summary>
|
|
/// Requested changes to make to the titles cores quota.
|
|
/// </summary>
|
|
public List<CoreCapacityChange> Changes;
|
|
/// <summary>
|
|
/// Whether or not this request is pending a review.
|
|
/// </summary>
|
|
public bool IsPendingReview;
|
|
/// <summary>
|
|
/// Additional information about this request that our team can use to better understand the requirements.
|
|
/// </summary>
|
|
public string Notes;
|
|
/// <summary>
|
|
/// Id of the change request.
|
|
/// </summary>
|
|
public string RequestId;
|
|
/// <summary>
|
|
/// Comments by our team when a request is reviewed.
|
|
/// </summary>
|
|
public string ReviewComments;
|
|
/// <summary>
|
|
/// Whether or not this request was approved.
|
|
/// </summary>
|
|
public bool WasApproved;
|
|
}
|
|
|
|
[Serializable]
|
|
public class RegionSelectionRule : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Controls how the Max Latency parameter expands over time. Only one expansion can be set per rule. When this is set,
|
|
/// MaxLatency is ignored.
|
|
/// </summary>
|
|
public CustomRegionSelectionRuleExpansion CustomExpansion;
|
|
/// <summary>
|
|
/// Controls how the Max Latency parameter expands over time. Only one expansion can be set per rule.
|
|
/// </summary>
|
|
public LinearRegionSelectionRuleExpansion LinearExpansion;
|
|
/// <summary>
|
|
/// Specifies the maximum latency that is allowed between the client and the selected server. The value is in milliseconds.
|
|
/// </summary>
|
|
public uint MaxLatency;
|
|
/// <summary>
|
|
/// Friendly name chosen by developer.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// Specifies which attribute in a ticket to use.
|
|
/// </summary>
|
|
public string Path;
|
|
/// <summary>
|
|
/// How many seconds before this rule is no longer enforced (but tickets that comply with this rule will still be
|
|
/// prioritized over those that don't). Leave blank if this rule is always enforced.
|
|
/// </summary>
|
|
public uint? SecondsUntilOptional;
|
|
/// <summary>
|
|
/// The relative weight of this rule compared to others.
|
|
/// </summary>
|
|
public double Weight;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Deletes the configuration for a queue. This will permanently delete the configuration and players will no longer be able
|
|
/// to match in the queue. All outstanding matchmaking tickets will be cancelled.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class RemoveMatchmakingQueueRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The Id of the matchmaking queue to remove.
|
|
/// </summary>
|
|
public string QueueName;
|
|
}
|
|
|
|
[Serializable]
|
|
public class RemoveMatchmakingQueueResult : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to remove a member from a lobby. Owners may remove other members from a lobby. Members cannot remove themselves
|
|
/// (use LeaveLobby instead).
|
|
/// </summary>
|
|
[Serializable]
|
|
public class RemoveMemberFromLobbyRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The id of the lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
/// <summary>
|
|
/// The member entity to be removed from the lobby.
|
|
/// </summary>
|
|
public EntityKey MemberEntity;
|
|
/// <summary>
|
|
/// If true, removed member can never rejoin this lobby.
|
|
/// </summary>
|
|
public bool PreventRejoin;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Requests a multiplayer server session from a particular build in any of the given preferred regions.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class RequestMultiplayerServerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The identifiers of the build alias to use for the request.
|
|
/// </summary>
|
|
public BuildAliasParams BuildAliasParams;
|
|
/// <summary>
|
|
/// The guid string build ID of the multiplayer server to request.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Initial list of players (potentially matchmade) allowed to connect to the game. This list is passed to the game server
|
|
/// when requested (via GSDK) and can be used to validate players connecting to it.
|
|
/// </summary>
|
|
public List<string> InitialPlayers;
|
|
/// <summary>
|
|
/// The preferred regions to request a multiplayer server from. The Multiplayer Service will iterate through the regions in
|
|
/// the specified order and allocate a server from the first one that has servers available.
|
|
/// </summary>
|
|
public List<string> PreferredRegions;
|
|
/// <summary>
|
|
/// Data encoded as a string that is passed to the game server when requested. This can be used to to communicate
|
|
/// information such as game mode or map through the request flow.
|
|
/// </summary>
|
|
public string SessionCookie;
|
|
/// <summary>
|
|
/// A guid string session ID created track the multiplayer server session over its life.
|
|
/// </summary>
|
|
public string SessionId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class RequestMultiplayerServerResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The identity of the build in which the server was allocated.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The connected players in the multiplayer server.
|
|
/// </summary>
|
|
public List<ConnectedPlayer> ConnectedPlayers;
|
|
/// <summary>
|
|
/// The fully qualified domain name of the virtual machine that is hosting this multiplayer server.
|
|
/// </summary>
|
|
public string FQDN;
|
|
/// <summary>
|
|
/// The public IPv4 address of the virtual machine that is hosting this multiplayer server.
|
|
/// </summary>
|
|
public string IPV4Address;
|
|
/// <summary>
|
|
/// The time (UTC) at which a change in the multiplayer server state was observed.
|
|
/// </summary>
|
|
public DateTime? LastStateTransitionTime;
|
|
/// <summary>
|
|
/// The ports the multiplayer server uses.
|
|
/// </summary>
|
|
public List<Port> Ports;
|
|
/// <summary>
|
|
/// The list of public Ipv4 addresses associated with the server.
|
|
/// </summary>
|
|
public List<PublicIpAddress> PublicIPV4Addresses;
|
|
/// <summary>
|
|
/// The region the multiplayer server is located in.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The string server ID of the multiplayer server generated by PlayFab.
|
|
/// </summary>
|
|
public string ServerId;
|
|
/// <summary>
|
|
/// The guid string session ID of the multiplayer server.
|
|
/// </summary>
|
|
public string SessionId;
|
|
/// <summary>
|
|
/// The state of the multiplayer server.
|
|
/// </summary>
|
|
public string State;
|
|
/// <summary>
|
|
/// The virtual machine ID that the multiplayer server is located on.
|
|
/// </summary>
|
|
public string VmId;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Requests a party session from a particular set of builds if build alias params is provided, in any of the given
|
|
/// preferred regions.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class RequestPartyServiceRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The network configuration for this request.
|
|
/// </summary>
|
|
public PartyNetworkConfiguration NetworkConfiguration;
|
|
/// <summary>
|
|
/// A guid string party ID created track the party session over its life.
|
|
/// </summary>
|
|
public string PartyId;
|
|
/// <summary>
|
|
/// The preferred regions to request a party session from. The party service will iterate through the regions in the
|
|
/// specified order and allocate a party session from the first one that is available.
|
|
/// </summary>
|
|
public List<string> PreferredRegions;
|
|
}
|
|
|
|
[Serializable]
|
|
public class RequestPartyServiceResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The invitation identifier supplied in the PartyInvitationConfiguration, or the PlayFab-generated guid if none was
|
|
/// supplied.
|
|
/// </summary>
|
|
public string InvitationId;
|
|
/// <summary>
|
|
/// The guid string party ID of the party session.
|
|
/// </summary>
|
|
public string PartyId;
|
|
/// <summary>
|
|
/// A base-64 encoded string containing the serialized network descriptor for this party.
|
|
/// </summary>
|
|
public string SerializedNetworkDescriptor;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets new credentials to the container registry where game developers can upload custom container images to before
|
|
/// creating a new build.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class RolloverContainerRegistryCredentialsRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
[Serializable]
|
|
public class RolloverContainerRegistryCredentialsResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The url of the container registry.
|
|
/// </summary>
|
|
public string DnsName;
|
|
/// <summary>
|
|
/// The password for accessing the container registry.
|
|
/// </summary>
|
|
public string Password;
|
|
/// <summary>
|
|
/// The username for accessing the container registry.
|
|
/// </summary>
|
|
public string Username;
|
|
}
|
|
|
|
public enum RoutingType
|
|
{
|
|
Microsoft,
|
|
Internet
|
|
}
|
|
|
|
[Serializable]
|
|
public class Schedule : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// A short description about this schedule. For example, "Game launch on July 15th".
|
|
/// </summary>
|
|
public string Description;
|
|
/// <summary>
|
|
/// The date and time in UTC at which the schedule ends. If IsRecurringWeekly is true, this schedule will keep renewing for
|
|
/// future weeks until disabled or removed.
|
|
/// </summary>
|
|
public DateTime EndTime;
|
|
/// <summary>
|
|
/// Disables the schedule.
|
|
/// </summary>
|
|
public bool IsDisabled;
|
|
/// <summary>
|
|
/// If true, the StartTime and EndTime will get renewed every week.
|
|
/// </summary>
|
|
public bool IsRecurringWeekly;
|
|
/// <summary>
|
|
/// The date and time in UTC at which the schedule starts.
|
|
/// </summary>
|
|
public DateTime StartTime;
|
|
/// <summary>
|
|
/// The standby target to maintain for the duration of the schedule.
|
|
/// </summary>
|
|
public int TargetStandby;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ScheduledStandbySettings : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// When true, scheduled standby will be enabled
|
|
/// </summary>
|
|
public bool IsEnabled;
|
|
/// <summary>
|
|
/// A list of non-overlapping schedules
|
|
/// </summary>
|
|
public List<Schedule> ScheduleList;
|
|
}
|
|
|
|
[Serializable]
|
|
public class Secret : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Optional secret expiration date.
|
|
/// </summary>
|
|
public DateTime? ExpirationDate;
|
|
/// <summary>
|
|
/// A name for the secret. This is used to reference secrets in build configurations.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// Secret value.
|
|
/// </summary>
|
|
public string Value;
|
|
}
|
|
|
|
[Serializable]
|
|
public class SecretSummary : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Optional secret expiration date.
|
|
/// </summary>
|
|
public DateTime? ExpirationDate;
|
|
/// <summary>
|
|
/// The name of the secret.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// The secret version auto-generated after upload.
|
|
/// </summary>
|
|
public string Version;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ServerDetails : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The fully qualified domain name of the virtual machine that is hosting this multiplayer server.
|
|
/// </summary>
|
|
public string Fqdn;
|
|
/// <summary>
|
|
/// The IPv4 address of the virtual machine that is hosting this multiplayer server.
|
|
/// </summary>
|
|
public string IPV4Address;
|
|
/// <summary>
|
|
/// The ports the multiplayer server uses.
|
|
/// </summary>
|
|
public List<Port> Ports;
|
|
/// <summary>
|
|
/// The server's region.
|
|
/// </summary>
|
|
public string Region;
|
|
/// <summary>
|
|
/// The string server ID of the multiplayer server generated by PlayFab.
|
|
/// </summary>
|
|
public string ServerId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ServerResourceConstraintParams : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The maximum number of cores that each server is allowed to use.
|
|
/// </summary>
|
|
public double CpuLimit;
|
|
/// <summary>
|
|
/// The maximum number of GiB of memory that each server is allowed to use. WARNING: After exceeding this limit, the server
|
|
/// will be killed
|
|
/// </summary>
|
|
public double MemoryLimitGB;
|
|
}
|
|
|
|
public enum ServerType
|
|
{
|
|
Container,
|
|
Process
|
|
}
|
|
|
|
[Serializable]
|
|
public class SetIntersectionRule : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Description of the attribute used by this rule to match tickets.
|
|
/// </summary>
|
|
public QueueRuleAttribute Attribute;
|
|
/// <summary>
|
|
/// Describes the behavior when an attribute is not specified in the ticket creation request or in the user's entity
|
|
/// profile.
|
|
/// </summary>
|
|
public AttributeNotSpecifiedBehavior AttributeNotSpecifiedBehavior;
|
|
/// <summary>
|
|
/// Collection of fields relating to expanding this rule at set intervals. Only one expansion can be set per rule. When this
|
|
/// is set, MinIntersectionSize is ignored.
|
|
/// </summary>
|
|
public CustomSetIntersectionRuleExpansion CustomExpansion;
|
|
/// <summary>
|
|
/// The default value assigned to tickets that are missing the attribute specified by AttributePath (assuming that
|
|
/// AttributeNotSpecifiedBehavior is UseDefault). Values must be unique.
|
|
/// </summary>
|
|
public List<string> DefaultAttributeValue;
|
|
/// <summary>
|
|
/// Collection of fields relating to expanding this rule at set intervals. Only one expansion can be set per rule.
|
|
/// </summary>
|
|
public LinearSetIntersectionRuleExpansion LinearExpansion;
|
|
/// <summary>
|
|
/// The minimum number of values that must match between sets.
|
|
/// </summary>
|
|
public uint MinIntersectionSize;
|
|
/// <summary>
|
|
/// Friendly name chosen by developer.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// How many seconds before this rule is no longer enforced (but tickets that comply with this rule will still be
|
|
/// prioritized over those that don't). Leave blank if this rule is always enforced.
|
|
/// </summary>
|
|
public uint? SecondsUntilOptional;
|
|
/// <summary>
|
|
/// The relative weight of this rule compared to others.
|
|
/// </summary>
|
|
public double Weight;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Use this API to create or update matchmaking queue configurations. The queue configuration defines the matchmaking
|
|
/// rules. The matchmaking service will match tickets together according to the configured rules. Queue resources are not
|
|
/// spun up by calling this API. Queues are created when the first ticket is submitted.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class SetMatchmakingQueueRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The matchmaking queue config.
|
|
/// </summary>
|
|
public MatchmakingQueueConfig MatchmakingQueue;
|
|
}
|
|
|
|
[Serializable]
|
|
public class SetMatchmakingQueueResult : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Executes the shutdown callback from the GSDK and terminates the multiplayer server session. The callback in the GSDK
|
|
/// will allow for graceful shutdown with a 15 minute timeoutIf graceful shutdown has not been completed before 15 minutes
|
|
/// have elapsed, the multiplayer server session will be forcefully terminated on it's own.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ShutdownMultiplayerServerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// A guid string session ID of the multiplayer server to shut down.
|
|
/// </summary>
|
|
public string SessionId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class Statistics : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The average.
|
|
/// </summary>
|
|
public double Average;
|
|
/// <summary>
|
|
/// The 50th percentile.
|
|
/// </summary>
|
|
public double Percentile50;
|
|
/// <summary>
|
|
/// The 90th percentile.
|
|
/// </summary>
|
|
public double Percentile90;
|
|
/// <summary>
|
|
/// The 99th percentile.
|
|
/// </summary>
|
|
public double Percentile99;
|
|
}
|
|
|
|
[Serializable]
|
|
public class StatisticsVisibilityToPlayers : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Whether to allow players to view the current number of players in the matchmaking queue.
|
|
/// </summary>
|
|
public bool ShowNumberOfPlayersMatching;
|
|
/// <summary>
|
|
/// Whether to allow players to view statistics representing the time it takes for tickets to find a match.
|
|
/// </summary>
|
|
public bool ShowTimeToMatch;
|
|
}
|
|
|
|
[Serializable]
|
|
public class StringEqualityRule : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Description of the attribute used by this rule to match tickets.
|
|
/// </summary>
|
|
public QueueRuleAttribute Attribute;
|
|
/// <summary>
|
|
/// Describes the behavior when an attribute is not specified in the ticket creation request or in the user's entity
|
|
/// profile.
|
|
/// </summary>
|
|
public AttributeNotSpecifiedBehavior AttributeNotSpecifiedBehavior;
|
|
/// <summary>
|
|
/// The default value assigned to tickets that are missing the attribute specified by AttributePath (assuming that
|
|
/// AttributeNotSpecifiedBehavior is false).
|
|
/// </summary>
|
|
public string DefaultAttributeValue;
|
|
/// <summary>
|
|
/// Collection of fields relating to expanding this rule at set intervals. For StringEqualityRules, this is limited to
|
|
/// turning the rule off or on during different intervals.
|
|
/// </summary>
|
|
public StringEqualityRuleExpansion Expansion;
|
|
/// <summary>
|
|
/// Friendly name chosen by developer.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// How many seconds before this rule is no longer enforced (but tickets that comply with this rule will still be
|
|
/// prioritized over those that don't). Leave blank if this rule is always enforced.
|
|
/// </summary>
|
|
public uint? SecondsUntilOptional;
|
|
/// <summary>
|
|
/// The relative weight of this rule compared to others.
|
|
/// </summary>
|
|
public double Weight;
|
|
}
|
|
|
|
[Serializable]
|
|
public class StringEqualityRuleExpansion : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// List of bools specifying whether the rule is applied during this expansion.
|
|
/// </summary>
|
|
public List<bool> EnabledOverrides;
|
|
/// <summary>
|
|
/// How many seconds before this rule is expanded.
|
|
/// </summary>
|
|
public uint SecondsBetweenExpansions;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to subscribe to lobby resource notifications.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class SubscribeToLobbyResourceRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The entity performing the subscription.
|
|
/// </summary>
|
|
public EntityKey EntityKey;
|
|
/// <summary>
|
|
/// Opaque string, given to a client upon creating a connection with PubSub.
|
|
/// </summary>
|
|
public string PubSubConnectionHandle;
|
|
/// <summary>
|
|
/// The name of the resource to subscribe to.
|
|
/// </summary>
|
|
public string ResourceId;
|
|
/// <summary>
|
|
/// Version number for the subscription of this resource.
|
|
/// </summary>
|
|
public uint SubscriptionVersion;
|
|
/// <summary>
|
|
/// Subscription type.
|
|
/// </summary>
|
|
public SubscriptionType Type;
|
|
}
|
|
|
|
[Serializable]
|
|
public class SubscribeToLobbyResourceResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// Topic will be returned in all notifications that are the result of this subscription.
|
|
/// </summary>
|
|
public string Topic;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Subscribe to match resource notifications. Match subscriptions have two types; MatchInvite and MatchTicketStatusChange
|
|
/// </summary>
|
|
[Serializable]
|
|
public class SubscribeToMatchResourceRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The entity performing the subscription. The entity must be authorized to use this connectionHandle.
|
|
/// </summary>
|
|
public EntityKey EntityKey;
|
|
/// <summary>
|
|
/// Opaque string, given to a client upon creating a connection with PubSub. Notifications will be sent to the connection
|
|
/// associated with this handle.
|
|
/// </summary>
|
|
public string PubSubConnectionHandle;
|
|
/// <summary>
|
|
/// The name of the resource to subscribe to. It follows the format {queueName}|{ticketId} for MatchTicketStatusChange. For
|
|
/// MatchInvite, ResourceId is @me.
|
|
/// </summary>
|
|
public string ResourceId;
|
|
/// <summary>
|
|
/// Version number for the subscription of this resource. Current supported version must be 1.
|
|
/// </summary>
|
|
public uint SubscriptionVersion;
|
|
/// <summary>
|
|
/// Subscription type. MatchInvite subscriptions are per-player. MatchTicketStatusChange subscriptions are per-ticket.
|
|
/// Subscribe calls are idempotent. Subscribing on the same resource for the same connection results in success.
|
|
/// </summary>
|
|
public string Type;
|
|
}
|
|
|
|
[Serializable]
|
|
public class SubscribeToMatchResourceResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// Matchmaking resource
|
|
/// </summary>
|
|
public string Topic;
|
|
}
|
|
|
|
public enum SubscriptionType
|
|
{
|
|
LobbyChange,
|
|
LobbyInvite
|
|
}
|
|
|
|
[Serializable]
|
|
public class TeamDifferenceRule : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Description of the attribute used by this rule to match teams.
|
|
/// </summary>
|
|
public QueueRuleAttribute Attribute;
|
|
/// <summary>
|
|
/// Collection of fields relating to expanding this rule at set intervals. Only one expansion can be set per rule. When this
|
|
/// is set, Difference is ignored.
|
|
/// </summary>
|
|
public CustomTeamDifferenceRuleExpansion CustomExpansion;
|
|
/// <summary>
|
|
/// The default value assigned to tickets that are missing the attribute specified by AttributePath (assuming that
|
|
/// AttributeNotSpecifiedBehavior is false).
|
|
/// </summary>
|
|
public double DefaultAttributeValue;
|
|
/// <summary>
|
|
/// The allowed difference between any two teams at the start of matchmaking.
|
|
/// </summary>
|
|
public double Difference;
|
|
/// <summary>
|
|
/// Collection of fields relating to expanding this rule at set intervals. Only one expansion can be set per rule.
|
|
/// </summary>
|
|
public LinearTeamDifferenceRuleExpansion LinearExpansion;
|
|
/// <summary>
|
|
/// Friendly name chosen by developer.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// How many seconds before this rule is no longer enforced (but tickets that comply with this rule will still be
|
|
/// prioritized over those that don't). Leave blank if this rule is always enforced.
|
|
/// </summary>
|
|
public uint? SecondsUntilOptional;
|
|
}
|
|
|
|
[Serializable]
|
|
public class TeamSizeBalanceRule : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Controls how the Difference parameter expands over time. Only one expansion can be set per rule. When this is set,
|
|
/// Difference is ignored.
|
|
/// </summary>
|
|
public CustomTeamSizeBalanceRuleExpansion CustomExpansion;
|
|
/// <summary>
|
|
/// The allowed difference in team size between any two teams.
|
|
/// </summary>
|
|
public uint Difference;
|
|
/// <summary>
|
|
/// Controls how the Difference parameter expands over time. Only one expansion can be set per rule.
|
|
/// </summary>
|
|
public LinearTeamSizeBalanceRuleExpansion LinearExpansion;
|
|
/// <summary>
|
|
/// Friendly name chosen by developer.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// How many seconds before this rule is no longer enforced (but tickets that comply with this rule will still be
|
|
/// prioritized over those that don't). Leave blank if this rule is always enforced.
|
|
/// </summary>
|
|
public uint? SecondsUntilOptional;
|
|
}
|
|
|
|
[Serializable]
|
|
public class TeamTicketSizeSimilarityRule : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Friendly name chosen by developer.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// How many seconds before this rule is no longer enforced (but tickets that comply with this rule will still be
|
|
/// prioritized over those that don't). Leave blank if this rule is always enforced.
|
|
/// </summary>
|
|
public uint? SecondsUntilOptional;
|
|
}
|
|
|
|
public enum TitleMultiplayerServerEnabledStatus
|
|
{
|
|
Initializing,
|
|
Enabled,
|
|
Disabled
|
|
}
|
|
|
|
[Serializable]
|
|
public class TitleMultiplayerServersQuotas : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The core capacity for the various regions and VM Family
|
|
/// </summary>
|
|
public List<CoreCapacity> CoreCapacities;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to unsubscribe from lobby notifications.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UnsubscribeFromLobbyResourceRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The entity which performed the subscription.
|
|
/// </summary>
|
|
public EntityKey EntityKey;
|
|
/// <summary>
|
|
/// Opaque string, given to a client upon creating a connection with PubSub.
|
|
/// </summary>
|
|
public string PubSubConnectionHandle;
|
|
/// <summary>
|
|
/// The name of the resource to unsubscribe from.
|
|
/// </summary>
|
|
public string ResourceId;
|
|
/// <summary>
|
|
/// Version number passed for the subscription of this resource.
|
|
/// </summary>
|
|
public uint SubscriptionVersion;
|
|
/// <summary>
|
|
/// Subscription type.
|
|
/// </summary>
|
|
public SubscriptionType Type;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unsubscribe from a Match resource's notifications. For MatchInvite, players are expected to unsubscribe once they can no
|
|
/// longer accept invites. For MatchTicketStatusChange, players are expected to unsusbcribe once the ticket has reached a
|
|
/// canceled or matched state.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UnsubscribeFromMatchResourceRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The entity performing the unsubscription. The entity must be authorized to use this connectionHandle.
|
|
/// </summary>
|
|
public EntityKey EntityKey;
|
|
/// <summary>
|
|
/// Opaque string, given to a client upon creating a connection with PubSub.
|
|
/// </summary>
|
|
public string PubSubConnectionHandle;
|
|
/// <summary>
|
|
/// The name of the resource to unsubscribe from. It follows the format {queueName}|{ticketId} for MatchTicketStatusChange.
|
|
/// For MatchInvite, ResourceId is @me.
|
|
/// </summary>
|
|
public string ResourceId;
|
|
/// <summary>
|
|
/// Version number for the unsubscription from this resource.
|
|
/// </summary>
|
|
public uint SubscriptionVersion;
|
|
/// <summary>
|
|
/// Type of the subscription to be canceled.
|
|
/// </summary>
|
|
public string Type;
|
|
}
|
|
|
|
[Serializable]
|
|
public class UnsubscribeFromMatchResourceResult : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Removes the specified tag from the image. After this operation, a 'docker pull' will fail for the specified image and
|
|
/// tag combination. Morever, ListContainerImageTags will not return the specified tag.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UntagContainerImageRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The container image which tag we want to remove.
|
|
/// </summary>
|
|
public string ImageName;
|
|
/// <summary>
|
|
/// The tag we want to remove.
|
|
/// </summary>
|
|
public string Tag;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates a multiplayer server build alias and returns the created alias.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UpdateBuildAliasRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string alias Id of the alias to be updated.
|
|
/// </summary>
|
|
public string AliasId;
|
|
/// <summary>
|
|
/// The alias name.
|
|
/// </summary>
|
|
public string AliasName;
|
|
/// <summary>
|
|
/// Array of build selection criteria.
|
|
/// </summary>
|
|
public List<BuildSelectionCriterion> BuildSelectionCriteria;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Updates a multiplayer server build's name.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UpdateBuildNameRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string ID of the build we want to update the name of.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The build name.
|
|
/// </summary>
|
|
public string BuildName;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Updates a multiplayer server build's region.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UpdateBuildRegionRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string ID of the build we want to update regions for.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The updated region configuration that should be applied to the specified build.
|
|
/// </summary>
|
|
public BuildRegionParams BuildRegion;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Updates a multiplayer server build's regions.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UpdateBuildRegionsRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The guid string ID of the build we want to update regions for.
|
|
/// </summary>
|
|
public string BuildId;
|
|
/// <summary>
|
|
/// The updated region configuration that should be applied to the specified build.
|
|
/// </summary>
|
|
public List<BuildRegionParams> BuildRegions;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Preview: Request to update the serverData and serverEntity in case of migration. Only a game_server entity can update
|
|
/// this information and this is restricted to client owned lobbies which are using connections.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UpdateLobbyAsServerRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The id of the lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
/// <summary>
|
|
/// The private key-value pairs which are visible to all entities in the lobby and modifiable by the joined server.
|
|
/// Optional. Sets or updates key-value pairs on the lobby. Only the current lobby lobby server can set serverData. Keys may
|
|
/// be an arbitrary string of at most 30 characters. The total size of all serverData values may not exceed 4096 bytes.
|
|
/// Values are not individually limited. There can be up to 30 key-value pairs stored here. Keys are case sensitive.
|
|
/// </summary>
|
|
public Dictionary<string,string> ServerData;
|
|
/// <summary>
|
|
/// The keys to delete from the lobby serverData. Optional. Optional. Deletes key-value pairs on the lobby. Only the current
|
|
/// joined lobby server can delete serverData. All the specified keys will be removed from the serverData. Keys that do not
|
|
/// exist in the lobby are a no-op. If the key to delete exists in the serverData (same request) it will result in a bad
|
|
/// request.
|
|
/// </summary>
|
|
public List<string> ServerDataToDelete;
|
|
/// <summary>
|
|
/// The lobby server. Optional. Set a different server as the joined server of the lobby (there can only be 1 joined
|
|
/// server). When changing the server the previous server will automatically be unsubscribed.
|
|
/// </summary>
|
|
public EntityKey ServerEntity;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Request to update a lobby.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UpdateLobbyRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The policy indicating who is allowed to join the lobby, and the visibility to queries. May be 'Public', 'Friends' or
|
|
/// 'Private'. Public means the lobby is both visible in queries and any player may join, including invited players. Friends
|
|
/// means that users who are bidirectional friends of members in the lobby may search to find friend lobbies, to retrieve
|
|
/// its connection string. Private means the lobby is not visible in queries, and a player must receive an invitation to
|
|
/// join. Defaults to 'Public' on creation. Can only be changed by the lobby owner.
|
|
/// </summary>
|
|
public AccessPolicy? AccessPolicy;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The private key-value pairs which are visible to all entities in the lobby. Optional. Sets or updates key-value pairs on
|
|
/// the lobby. Only the current lobby owner can set lobby data. Keys may be an arbitrary string of at most 30 characters.
|
|
/// The total size of all lobbyData values may not exceed 4096 bytes. Values are not individually limited. There can be up
|
|
/// to 30 key-value pairs stored here. Keys are case sensitive.
|
|
/// </summary>
|
|
public Dictionary<string,string> LobbyData;
|
|
/// <summary>
|
|
/// The keys to delete from the lobby LobbyData. Optional. Behaves similar to searchDataToDelete, but applies to lobbyData.
|
|
/// </summary>
|
|
public List<string> LobbyDataToDelete;
|
|
/// <summary>
|
|
/// The id of the lobby.
|
|
/// </summary>
|
|
public string LobbyId;
|
|
/// <summary>
|
|
/// The maximum number of players allowed in the lobby. Updates the maximum allowed number of players in the lobby. Only the
|
|
/// current lobby owner can set this. If set, the value must be greater than or equal to the number of members currently in
|
|
/// the lobby.
|
|
/// </summary>
|
|
public uint? MaxPlayers;
|
|
/// <summary>
|
|
/// The private key-value pairs used by the member to communicate information to other members and the owner. Optional. Sets
|
|
/// or updates new key-value pairs on the caller's member data. New keys will be added with their values and existing keys
|
|
/// will be updated with the new values. Visible to all entities in the lobby. At most 30 key-value pairs may be stored
|
|
/// here, keys are limited to 30 characters and values to 1000. The total size of all memberData values may not exceed 4096
|
|
/// bytes. Keys are case sensitive. Servers cannot specifiy this.
|
|
/// </summary>
|
|
public Dictionary<string,string> MemberData;
|
|
/// <summary>
|
|
/// The keys to delete from the lobby MemberData. Optional. Deletes key-value pairs on the caller's member data. All the
|
|
/// specified keys will be removed from the caller's member data. Keys that do not exist are a no-op. If the key to delete
|
|
/// exists in the memberData (same request) it will result in a bad request. Servers cannot specifiy this.
|
|
/// </summary>
|
|
public List<string> MemberDataToDelete;
|
|
/// <summary>
|
|
/// The member entity whose data is being modified. Servers cannot specify this.
|
|
/// </summary>
|
|
public EntityKey MemberEntity;
|
|
/// <summary>
|
|
/// A setting indicating whether the lobby is locked. May be 'Unlocked' or 'Locked'. When Locked new members are not allowed
|
|
/// to join. Defaults to 'Unlocked' on creation. Can only be changed by the lobby owner.
|
|
/// </summary>
|
|
public MembershipLock? MembershipLock;
|
|
/// <summary>
|
|
/// The lobby owner. Optional. Set to transfer ownership of the lobby. If client - owned and 'Automatic' - The Lobby service
|
|
/// will automatically assign another connected owner when the current owner leaves or disconnects. useConnections must be
|
|
/// true. If client - owned and 'Manual' - Ownership is protected as long as the current owner is connected. If the current
|
|
/// owner leaves or disconnects any member may set themselves as the current owner. The useConnections property must be
|
|
/// true. If client-owned and 'None' - Any member can set ownership. The useConnections property can be either true or
|
|
/// false. For all client-owned lobbies when the owner leaves and a new owner can not be automatically selected - The owner
|
|
/// field is set to null. For all client-owned lobbies when the owner disconnects and a new owner can not be automatically
|
|
/// selected - The owner field remains unchanged and the current owner retains all owner abilities for the lobby. If
|
|
/// server-owned (must be 'Server') - Any server can set ownership. The useConnections property must be true.
|
|
/// </summary>
|
|
public EntityKey Owner;
|
|
/// <summary>
|
|
/// The public key-value pairs which allow queries to differentiate between lobbies. Optional. Sets or updates key-value
|
|
/// pairs on the lobby for use with queries. Only the current lobby owner can set search data. New keys will be added with
|
|
/// their values and existing keys will be updated with the new values. There can be up to 30 key-value pairs stored here.
|
|
/// Keys are of the format string_key1, string_key2... string_key30 for string values, or number_key1, number_key2, ...
|
|
/// number_key30 for numeric values. Numeric values are floats. Values can be at most 256 characters long. The total size of
|
|
/// all searchData values may not exceed 1024 bytes.Keys are case sensitive.
|
|
/// </summary>
|
|
public Dictionary<string,string> SearchData;
|
|
/// <summary>
|
|
/// The keys to delete from the lobby SearchData. Optional. Deletes key-value pairs on the lobby. Only the current lobby
|
|
/// owner can delete search data. All the specified keys will be removed from the search data. Keys that do not exist in the
|
|
/// lobby are a no-op.If the key to delete exists in the searchData (same request) it will result in a bad request.
|
|
/// </summary>
|
|
public List<string> SearchDataToDelete;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Uploads a multiplayer server game certificate.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UploadCertificateRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Forces the certificate renewal if the certificate already exists. Default is false
|
|
/// </summary>
|
|
public bool? ForceUpdate;
|
|
/// <summary>
|
|
/// The game certificate to upload.
|
|
/// </summary>
|
|
public Certificate GameCertificate;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Uploads a multiplayer server game secret.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UploadSecretRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Forces the secret renewal if the secret already exists. Default is false
|
|
/// </summary>
|
|
public bool? ForceUpdate;
|
|
/// <summary>
|
|
/// The game secret to add.
|
|
/// </summary>
|
|
public Secret GameSecret;
|
|
}
|
|
|
|
[Serializable]
|
|
public class VirtualMachineSummary : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The virtual machine health status.
|
|
/// </summary>
|
|
public string HealthStatus;
|
|
/// <summary>
|
|
/// The virtual machine state.
|
|
/// </summary>
|
|
public string State;
|
|
/// <summary>
|
|
/// The virtual machine ID.
|
|
/// </summary>
|
|
public string VmId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class VmStartupScriptConfiguration : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Optional port requests (name/protocol) that will be used by the VmStartupScript. Max of 5 requests.
|
|
/// </summary>
|
|
public List<VmStartupScriptPortRequest> PortRequests;
|
|
/// <summary>
|
|
/// Asset which contains the VmStartupScript script and any other required files.
|
|
/// </summary>
|
|
public AssetReference VmStartupScriptAssetReference;
|
|
}
|
|
|
|
[Serializable]
|
|
public class VmStartupScriptParams : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Optional port requests (name/protocol) that will be used by the VmStartupScript. Max of 5 requests.
|
|
/// </summary>
|
|
public List<VmStartupScriptPortRequestParams> PortRequests;
|
|
/// <summary>
|
|
/// Asset which contains the VmStartupScript script and any other required files.
|
|
/// </summary>
|
|
public AssetReferenceParams VmStartupScriptAssetReference;
|
|
}
|
|
|
|
[Serializable]
|
|
public class VmStartupScriptPortRequest : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The name for the port.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// The protocol for the port.
|
|
/// </summary>
|
|
public ProtocolType Protocol;
|
|
}
|
|
|
|
[Serializable]
|
|
public class VmStartupScriptPortRequestParams : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The name for the port.
|
|
/// </summary>
|
|
public string Name;
|
|
/// <summary>
|
|
/// The protocol for the port.
|
|
/// </summary>
|
|
public ProtocolType Protocol;
|
|
}
|
|
|
|
[Serializable]
|
|
public class WindowsCrashDumpConfiguration : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// See https://docs.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps for valid values.
|
|
/// </summary>
|
|
public int? CustomDumpFlags;
|
|
/// <summary>
|
|
/// See https://docs.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps for valid values.
|
|
/// </summary>
|
|
public int? DumpType;
|
|
/// <summary>
|
|
/// Designates whether automatic crash dump capturing will be enabled for this Build.
|
|
/// </summary>
|
|
public bool IsEnabled;
|
|
}
|
|
}
|
|
#endif
|