///
declare module PlayFabMultiplayerModule {
export interface IPlayFabMultiplayer {
/**
* Cancel all active tickets the player is a member of in a given queue.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/cancelallmatchmakingticketsforplayer
*/
CancelAllMatchmakingTicketsForPlayer(
entityToken: string,
request?: PlayFabMultiplayerModels.CancelAllMatchmakingTicketsForPlayerRequest
): Promise;
/**
* Cancel all active backfill tickets the player is a member of in a given queue.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/cancelallserverbackfillticketsforplayer
*/
CancelAllServerBackfillTicketsForPlayer(
entityToken: string,
request?: PlayFabMultiplayerModels.CancelAllServerBackfillTicketsForPlayerRequest
): Promise;
/**
* Cancel a matchmaking ticket.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/cancelmatchmakingticket
*/
CancelMatchmakingTicket(
entityToken: string,
request?: PlayFabMultiplayerModels.CancelMatchmakingTicketRequest
): Promise;
/**
* Cancel a server backfill ticket.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/cancelserverbackfillticket
*/
CancelServerBackfillTicket(
entityToken: string,
request?: PlayFabMultiplayerModels.CancelServerBackfillTicketRequest
): Promise;
/**
* Creates a multiplayer server build alias.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createbuildalias
*/
CreateBuildAlias(
entityToken: string,
request?: PlayFabMultiplayerModels.CreateBuildAliasRequest
): Promise;
/**
* Creates a multiplayer server build with a custom container.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createbuildwithcustomcontainer
*/
CreateBuildWithCustomContainer(
entityToken: string,
request?: PlayFabMultiplayerModels.CreateBuildWithCustomContainerRequest
): Promise;
/**
* Creates a multiplayer server build with a managed container.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createbuildwithmanagedcontainer
*/
CreateBuildWithManagedContainer(
entityToken: string,
request?: PlayFabMultiplayerModels.CreateBuildWithManagedContainerRequest
): Promise;
/**
* Creates a multiplayer server build with the server running as a process.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createbuildwithprocessbasedserver
*/
CreateBuildWithProcessBasedServer(
entityToken: string,
request?: PlayFabMultiplayerModels.CreateBuildWithProcessBasedServerRequest
): Promise;
/**
* Create a matchmaking ticket as a client.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/creatematchmakingticket
*/
CreateMatchmakingTicket(
entityToken: string,
request?: PlayFabMultiplayerModels.CreateMatchmakingTicketRequest
): Promise;
/**
* Creates a remote user to log on to a VM for a multiplayer server build.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/createremoteuser
*/
CreateRemoteUser(
entityToken: string,
request?: PlayFabMultiplayerModels.CreateRemoteUserRequest
): Promise;
/**
* Create a backfill matchmaking ticket as a server. A backfill ticket represents an ongoing game. The matchmaking service
* automatically starts matching the backfill ticket against other matchmaking tickets. Backfill tickets cannot match with
* other backfill tickets.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/createserverbackfillticket
*/
CreateServerBackfillTicket(
entityToken: string,
request?: PlayFabMultiplayerModels.CreateServerBackfillTicketRequest
): Promise;
/**
* Create a matchmaking ticket as a server. The matchmaking service automatically starts matching the ticket against other
* matchmaking tickets.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/createservermatchmakingticket
*/
CreateServerMatchmakingTicket(
entityToken: string,
request?: PlayFabMultiplayerModels.CreateServerMatchmakingTicketRequest
): Promise;
/**
* Deletes a multiplayer server game asset for a title.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deleteasset
*/
DeleteAsset(
entityToken: string,
request?: PlayFabMultiplayerModels.DeleteAssetRequest
): Promise;
/**
* Deletes a multiplayer server build.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletebuild
*/
DeleteBuild(
entityToken: string,
request?: PlayFabMultiplayerModels.DeleteBuildRequest
): Promise;
/**
* Deletes a multiplayer server build alias.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletebuildalias
*/
DeleteBuildAlias(
entityToken: string,
request?: PlayFabMultiplayerModels.DeleteBuildAliasRequest
): Promise;
/**
* Removes a multiplayer server build's region.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletebuildregion
*/
DeleteBuildRegion(
entityToken: string,
request?: PlayFabMultiplayerModels.DeleteBuildRegionRequest
): Promise;
/**
* Deletes a multiplayer server game certificate.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletecertificate
*/
DeleteCertificate(
entityToken: string,
request?: PlayFabMultiplayerModels.DeleteCertificateRequest
): Promise;
/**
* Deletes a container image repository.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deletecontainerimagerepository
*/
DeleteContainerImageRepository(
entityToken: string,
request?: PlayFabMultiplayerModels.DeleteContainerImageRequest
): Promise;
/**
* Deletes a remote user to log on to a VM for a multiplayer server build.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/deleteremoteuser
*/
DeleteRemoteUser(
entityToken: string,
request?: PlayFabMultiplayerModels.DeleteRemoteUserRequest
): Promise;
/**
* Enables the multiplayer server feature for a title.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/enablemultiplayerserversfortitle
*/
EnableMultiplayerServersForTitle(
entityToken: string,
request?: PlayFabMultiplayerModels.EnableMultiplayerServersForTitleRequest
): Promise;
/**
* Gets the URL to upload assets to.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getassetuploadurl
*/
GetAssetUploadUrl(
entityToken: string,
request?: PlayFabMultiplayerModels.GetAssetUploadUrlRequest
): Promise;
/**
* Gets a multiplayer server build.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getbuild
*/
GetBuild(
entityToken: string,
request?: PlayFabMultiplayerModels.GetBuildRequest
): Promise;
/**
* Gets a multiplayer server build alias.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getbuildalias
*/
GetBuildAlias(
entityToken: string,
request?: PlayFabMultiplayerModels.GetBuildAliasRequest
): Promise;
/**
* Gets the credentials to the container registry.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getcontainerregistrycredentials
*/
GetContainerRegistryCredentials(
entityToken: string,
request?: PlayFabMultiplayerModels.GetContainerRegistryCredentialsRequest
): Promise;
/**
* Get a match.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/getmatch
*/
GetMatch(
entityToken: string,
request?: PlayFabMultiplayerModels.GetMatchRequest
): Promise;
/**
* SDK support is limited to C# and Java for this API. Get a matchmaking queue configuration.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking-admin/getmatchmakingqueue
*/
GetMatchmakingQueue(
entityToken: string,
request?: PlayFabMultiplayerModels.GetMatchmakingQueueRequest
): Promise;
/**
* Get a matchmaking ticket by ticket Id.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/getmatchmakingticket
*/
GetMatchmakingTicket(
entityToken: string,
request?: PlayFabMultiplayerModels.GetMatchmakingTicketRequest
): Promise;
/**
* Gets multiplayer server session details for a build.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getmultiplayerserverdetails
*/
GetMultiplayerServerDetails(
entityToken: string,
request?: PlayFabMultiplayerModels.GetMultiplayerServerDetailsRequest
): Promise;
/**
* Gets multiplayer server logs after a server has terminated.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getmultiplayerserverlogs
*/
GetMultiplayerServerLogs(
entityToken: string,
request?: PlayFabMultiplayerModels.GetMultiplayerServerLogsRequest
): Promise;
/**
* Gets multiplayer server logs after a server has terminated.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getmultiplayersessionlogsbysessionid
*/
GetMultiplayerSessionLogsBySessionId(
entityToken: string,
request?: PlayFabMultiplayerModels.GetMultiplayerSessionLogsBySessionIdRequest
): Promise;
/**
* Get the statistics for a queue.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/getqueuestatistics
*/
GetQueueStatistics(
entityToken: string,
request?: PlayFabMultiplayerModels.GetQueueStatisticsRequest
): Promise;
/**
* Gets a remote login endpoint to a VM that is hosting a multiplayer server build.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/getremoteloginendpoint
*/
GetRemoteLoginEndpoint(
entityToken: string,
request?: PlayFabMultiplayerModels.GetRemoteLoginEndpointRequest
): Promise;
/**
* Get a matchmaking backfill ticket by ticket Id.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/getserverbackfillticket
*/
GetServerBackfillTicket(
entityToken: string,
request?: PlayFabMultiplayerModels.GetServerBackfillTicketRequest
): Promise;
/**
* Gets the status of whether a title is enabled for the multiplayer server feature.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/gettitleenabledformultiplayerserversstatus
*/
GetTitleEnabledForMultiplayerServersStatus(
entityToken: string,
request?: PlayFabMultiplayerModels.GetTitleEnabledForMultiplayerServersStatusRequest
): Promise;
/**
* Gets the quotas for a title in relation to multiplayer servers.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/gettitlemultiplayerserversquotas
*/
GetTitleMultiplayerServersQuotas(
entityToken: string,
request?: PlayFabMultiplayerModels.GetTitleMultiplayerServersQuotasRequest
): Promise;
/**
* Join a matchmaking ticket.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/joinmatchmakingticket
*/
JoinMatchmakingTicket(
entityToken: string,
request?: PlayFabMultiplayerModels.JoinMatchmakingTicketRequest
): Promise;
/**
* Lists archived multiplayer server sessions for a build.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listarchivedmultiplayerservers
*/
ListArchivedMultiplayerServers(
entityToken: string,
request?: PlayFabMultiplayerModels.ListMultiplayerServersRequest
): Promise;
/**
* Lists multiplayer server game assets for a title.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listassetsummaries
*/
ListAssetSummaries(
entityToken: string,
request?: PlayFabMultiplayerModels.ListAssetSummariesRequest
): Promise;
/**
* Lists details of all build aliases for a title. Accepts tokens for title and if game client access is enabled, allows
* game client to request list of builds with player entity token.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listbuildaliases
*/
ListBuildAliases(
entityToken: string,
request?: PlayFabMultiplayerModels.MultiplayerEmptyRequest
): Promise;
/**
* Lists summarized details of all multiplayer server builds for a title. Accepts tokens for title and if game client
* access is enabled, allows game client to request list of builds with player entity token.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listbuildsummaries
*/
ListBuildSummaries(
entityToken: string,
request?: PlayFabMultiplayerModels.ListBuildSummariesRequest
): Promise;
/**
* Lists summarized details of all multiplayer server builds for a title. Accepts tokens for title and if game client
* access is enabled, allows game client to request list of builds with player entity token.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listbuildsummariesv2
*/
ListBuildSummariesV2(
entityToken: string,
request?: PlayFabMultiplayerModels.ListBuildSummariesRequest
): Promise;
/**
* Lists multiplayer server game certificates for a title.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listcertificatesummaries
*/
ListCertificateSummaries(
entityToken: string,
request?: PlayFabMultiplayerModels.ListCertificateSummariesRequest
): Promise;
/**
* Lists custom container images for a title.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listcontainerimages
*/
ListContainerImages(
entityToken: string,
request?: PlayFabMultiplayerModels.ListContainerImagesRequest
): Promise;
/**
* Lists the tags for a custom container image.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listcontainerimagetags
*/
ListContainerImageTags(
entityToken: string,
request?: PlayFabMultiplayerModels.ListContainerImageTagsRequest
): Promise;
/**
* SDK support is limited to C# and Java for this API. List all matchmaking queue configs.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking-admin/listmatchmakingqueues
*/
ListMatchmakingQueues(
entityToken: string,
request?: PlayFabMultiplayerModels.ListMatchmakingQueuesRequest
): Promise;
/**
* List all matchmaking ticket Ids the user is a member of.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/listmatchmakingticketsforplayer
*/
ListMatchmakingTicketsForPlayer(
entityToken: string,
request?: PlayFabMultiplayerModels.ListMatchmakingTicketsForPlayerRequest
): Promise;
/**
* Lists multiplayer server sessions for a build.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listmultiplayerservers
*/
ListMultiplayerServers(
entityToken: string,
request?: PlayFabMultiplayerModels.ListMultiplayerServersRequest
): Promise;
/**
* Lists quality of service servers for party.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listpartyqosservers
*/
ListPartyQosServers(
request?: PlayFabMultiplayerModels.ListPartyQosServersRequest
): Promise;
/**
* Lists quality of service servers for the title. By default, servers are only returned for regions where a Multiplayer
* Servers build has been deployed.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listqosserversfortitle
*/
ListQosServersForTitle(
entityToken: string,
request?: PlayFabMultiplayerModels.ListQosServersForTitleRequest
): Promise;
/**
* List all server backfill ticket Ids the user is a member of.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking/listserverbackfillticketsforplayer
*/
ListServerBackfillTicketsForPlayer(
entityToken: string,
request?: PlayFabMultiplayerModels.ListServerBackfillTicketsForPlayerRequest
): Promise;
/**
* Lists virtual machines for a title.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/listvirtualmachinesummaries
*/
ListVirtualMachineSummaries(
entityToken: string,
request?: PlayFabMultiplayerModels.ListVirtualMachineSummariesRequest
): Promise;
/**
* SDK support is limited to C# and Java for this API. Remove a matchmaking queue config.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking-admin/removematchmakingqueue
*/
RemoveMatchmakingQueue(
entityToken: string,
request?: PlayFabMultiplayerModels.RemoveMatchmakingQueueRequest
): Promise;
/**
* Request a multiplayer server session. Accepts tokens for title and if game client access is enabled, allows game client
* to request a server with player entity token.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/requestmultiplayerserver
*/
RequestMultiplayerServer(
entityToken: string,
request?: PlayFabMultiplayerModels.RequestMultiplayerServerRequest
): Promise;
/**
* Rolls over the credentials to the container registry.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/rollovercontainerregistrycredentials
*/
RolloverContainerRegistryCredentials(
entityToken: string,
request?: PlayFabMultiplayerModels.RolloverContainerRegistryCredentialsRequest
): Promise;
/**
* SDK support is limited to C# and Java for this API. Create or update a matchmaking queue configuration.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/matchmaking-admin/setmatchmakingqueue
*/
SetMatchmakingQueue(
entityToken: string,
request?: PlayFabMultiplayerModels.SetMatchmakingQueueRequest
): Promise;
/**
* Shuts down a multiplayer server session.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/shutdownmultiplayerserver
*/
ShutdownMultiplayerServer(
entityToken: string,
request?: PlayFabMultiplayerModels.ShutdownMultiplayerServerRequest
): Promise;
/**
* Untags a container image.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/untagcontainerimage
*/
UntagContainerImage(
entityToken: string,
request?: PlayFabMultiplayerModels.UntagContainerImageRequest
): Promise;
/**
* Creates a multiplayer server build alias.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/updatebuildalias
*/
UpdateBuildAlias(
entityToken: string,
request?: PlayFabMultiplayerModels.UpdateBuildAliasRequest
): Promise;
/**
* Updates a multiplayer server build's region. If the region is not yet created, it will be created
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/updatebuildregion
*/
UpdateBuildRegion(
entityToken: string,
request?: PlayFabMultiplayerModels.UpdateBuildRegionRequest
): Promise;
/**
* Updates a multiplayer server build's regions.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/updatebuildregions
*/
UpdateBuildRegions(
entityToken: string,
request?: PlayFabMultiplayerModels.UpdateBuildRegionsRequest
): Promise;
/**
* Uploads a multiplayer server game certificate.
* https://docs.microsoft.com/rest/api/playfab/multiplayer/multiplayerserver/uploadcertificate
*/
UploadCertificate(
entityToken: string,
request?: PlayFabMultiplayerModels.UploadCertificateRequest
): Promise;
}
}
declare module PlayFabMultiplayerModels {
export interface AssetReference {
/** The asset's file name. This is a filename with the .zip, .tar, or .tar.gz extension. */
FileName?: string;
/** The asset's mount path. */
MountPath?: string;
}
export interface AssetReferenceParams {
/** The asset's file name. */
FileName: string;
/** The asset's mount path. */
MountPath?: string;
}
export interface AssetSummary {
/** The asset's file name. This is a filename with the .zip, .tar, or .tar.gz extension. */
FileName?: string;
/** The metadata associated with the asset. */
Metadata?: { [key: string]: string | undefined };
}
type AttributeMergeFunction = "Min"
| "Max"
| "Average";
type AttributeNotSpecifiedBehavior = "UseDefault"
| "MatchAny";
type AttributeSource = "User"
| "PlayerEntity";
type AzureRegion = "AustraliaEast"
| "AustraliaSoutheast"
| "BrazilSouth"
| "CentralUs"
| "EastAsia"
| "EastUs"
| "EastUs2"
| "JapanEast"
| "JapanWest"
| "NorthCentralUs"
| "NorthEurope"
| "SouthCentralUs"
| "SoutheastAsia"
| "WestEurope"
| "WestUs"
| "ChinaEast2"
| "ChinaNorth2"
| "SouthAfricaNorth"
| "CentralUsEuap"
| "WestCentralUs";
type AzureVmFamily = "A"
| "Av2"
| "Dv2"
| "Dv3"
| "F"
| "Fsv2"
| "Dasv4"
| "Dav4"
| "Eav4"
| "Easv4"
| "Ev4"
| "Esv4";
type 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";
export interface BuildAliasDetailsResponse extends PlayFabModule.IPlayFabResultCommon {
/** The guid string alias Id of the alias to be created or updated. */
AliasId?: string;
/** The alias name. */
AliasName?: string;
/** Array of build selection criteria. */
BuildSelectionCriteria?: BuildSelectionCriterion[];
/** The page size on the response. */
PageSize: number;
/** The skip token for the paged response. */
SkipToken?: string;
}
export interface BuildAliasParams {
/** The guid string alias ID to use for the request. */
AliasId: string;
}
export interface BuildRegion {
/** The current multiplayer server stats for the region. */
CurrentServerStats?: CurrentServerStats;
/** Optional settings to control dynamic adjustment of standby target */
DynamicStandbySettings?: DynamicStandbySettings;
/** The maximum number of multiplayer servers for the region. */
MaxServers: number;
/** The build region. */
Region?: string;
/** Optional settings to set the standby target to specified values during the supplied schedules */
ScheduledStandbySettings?: ScheduledStandbySettings;
/** The target number of standby multiplayer servers for the region. */
StandbyServers: number;
/**
* The status of multiplayer servers in the build region. Valid values are - Unknown, Initialized, Deploying, Deployed,
* Unhealthy, Deleting, Deleted.
*/
Status?: string;
}
export interface BuildRegionParams {
/** Optional settings to control dynamic adjustment of standby target. If not specified, dynamic standby is disabled */
DynamicStandbySettings?: DynamicStandbySettings;
/** The maximum number of multiplayer servers for the region. */
MaxServers: number;
/** The build region. */
Region: string;
/** Optional settings to set the standby target to specified values during the supplied schedules */
ScheduledStandbySettings?: ScheduledStandbySettings;
/** The number of standby multiplayer servers for the region. */
StandbyServers: number;
}
export interface BuildSelectionCriterion {
/** Dictionary of build ids and their respective weights for distribution of allocation requests. */
BuildWeightDistribution?: { [key: string]: number };
}
export interface BuildSummary {
/** The guid string build ID of the build. */
BuildId?: string;
/** The build name. */
BuildName?: string;
/** The time the build was created in UTC. */
CreationTime?: string;
/** The metadata of the build. */
Metadata?: { [key: string]: string | undefined };
/** The configuration and status for each region in the build. */
RegionConfigurations?: BuildRegion[];
}
export interface CancelAllMatchmakingTicketsForPlayerRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The entity key of the player whose tickets should be canceled. */
Entity?: EntityKey;
/** The name of the queue from which a player's tickets should be canceled. */
QueueName: string;
}
export interface CancelAllMatchmakingTicketsForPlayerResult extends PlayFabModule.IPlayFabResultCommon {}
export interface CancelAllServerBackfillTicketsForPlayerRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The entity key of the player whose backfill tickets should be canceled. */
Entity: EntityKey;
/** The name of the queue from which a player's backfill tickets should be canceled. */
QueueName: string;
}
export interface CancelAllServerBackfillTicketsForPlayerResult extends PlayFabModule.IPlayFabResultCommon {}
type CancellationReason = "Requested"
| "Internal"
| "Timeout";
export interface CancelMatchmakingTicketRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The name of the queue the ticket is in. */
QueueName: string;
/** The Id of the ticket to find a match for. */
TicketId: string;
}
export interface CancelMatchmakingTicketResult extends PlayFabModule.IPlayFabResultCommon {}
export interface CancelServerBackfillTicketRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The name of the queue the ticket is in. */
QueueName: string;
/** The Id of the ticket to find a match for. */
TicketId: string;
}
export interface CancelServerBackfillTicketResult extends PlayFabModule.IPlayFabResultCommon {}
export interface Certificate {
/** Base64 encoded string contents of the certificate. */
Base64EncodedValue: string;
/** A name for the certificate. This is used to reference certificates in build configurations. */
Name: string;
/**
* If required for your PFX certificate, use this field to provide a password that will be used to install the certificate
* on the container.
*/
Password?: string;
}
export interface CertificateSummary {
/** The name of the certificate. */
Name?: string;
/** The thumbprint for the certificate. */
Thumbprint?: string;
}
export interface ConnectedPlayer {
/** The player ID of the player connected to the multiplayer server. */
PlayerId?: string;
}
type ContainerFlavor = "ManagedWindowsServerCore"
| "CustomLinux"
| "ManagedWindowsServerCorePreview"
| "Invalid";
export interface ContainerImageReference {
/** The container image name. */
ImageName: string;
/** The container tag. */
Tag?: string;
}
export interface CoreCapacity {
/** The available core capacity for the (Region, VmFamily) */
Available: number;
/** The AzureRegion */
Region?: string;
/** The total core capacity for the (Region, VmFamily) */
Total: number;
/** The AzureVmFamily */
VmFamily?: string;
}
export interface CreateBuildAliasRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The alias name. */
AliasName: string;
/** Array of build selection criteria. */
BuildSelectionCriteria?: BuildSelectionCriterion[];
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface CreateBuildWithCustomContainerRequest extends PlayFabModule.IPlayFabRequestCommon {
/**
* 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.
*/
AreAssetsReadonly?: boolean;
/** The build name. */
BuildName: string;
/** The flavor of container to create a build from. */
ContainerFlavor?: string;
/** The container reference, consisting of the image name and tag. */
ContainerImageReference?: ContainerImageReference;
/** The container command to run when the multiplayer server has been allocated, including any arguments. */
ContainerRunCommand?: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The list of game assets related to the build. */
GameAssetReferences?: AssetReferenceParams[];
/** The game certificates for the build. */
GameCertificateReferences?: GameCertificateReferenceParams[];
/** The Linux instrumentation configuration for the build. */
LinuxInstrumentationConfiguration?: LinuxInstrumentationConfiguration;
/**
* 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
*/
Metadata?: { [key: string]: string | undefined };
/** The number of multiplayer servers to host on a single VM. */
MultiplayerServerCountPerVm: number;
/** The ports to map the build on. */
Ports: Port[];
/** The region configurations for the build. */
RegionConfigurations: BuildRegionParams[];
/**
* When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to
* disc.
*/
UseStreamingForAssetDownloads?: boolean;
/** The VM size to create the build on. */
VmSize?: string;
}
export interface CreateBuildWithCustomContainerResponse extends PlayFabModule.IPlayFabResultCommon {
/**
* 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.
*/
AreAssetsReadonly?: boolean;
/** The guid string build ID. Must be unique for every build. */
BuildId?: string;
/** The build name. */
BuildName?: string;
/** The flavor of container of the build. */
ContainerFlavor?: string;
/** The container command to run when the multiplayer server has been allocated, including any arguments. */
ContainerRunCommand?: string;
/** The time the build was created in UTC. */
CreationTime?: string;
/** The custom game container image reference information. */
CustomGameContainerImage?: ContainerImageReference;
/** The game assets for the build. */
GameAssetReferences?: AssetReference[];
/** The game certificates for the build. */
GameCertificateReferences?: GameCertificateReference[];
/** The Linux instrumentation configuration for this build. */
LinuxInstrumentationConfiguration?: LinuxInstrumentationConfiguration;
/** The metadata of the build. */
Metadata?: { [key: string]: string | undefined };
/** The number of multiplayer servers to host on a single VM of the build. */
MultiplayerServerCountPerVm: number;
/** The OS platform used for running the game process. */
OsPlatform?: string;
/** The ports the build is mapped on. */
Ports?: Port[];
/** The region configuration for the build. */
RegionConfigurations?: BuildRegion[];
/** The type of game server being hosted. */
ServerType?: string;
/**
* When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to
* disc.
*/
UseStreamingForAssetDownloads?: boolean;
/** The VM size the build was created on. */
VmSize?: string;
}
export interface CreateBuildWithManagedContainerRequest extends PlayFabModule.IPlayFabRequestCommon {
/**
* 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.
*/
AreAssetsReadonly?: boolean;
/** The build name. */
BuildName: string;
/** The flavor of container to create a build from. */
ContainerFlavor?: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The list of game assets related to the build. */
GameAssetReferences: AssetReferenceParams[];
/** The game certificates for the build. */
GameCertificateReferences?: GameCertificateReferenceParams[];
/**
* 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.
*/
GameWorkingDirectory?: string;
/** The instrumentation configuration for the build. */
InstrumentationConfiguration?: InstrumentationConfiguration;
/**
* 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
*/
Metadata?: { [key: string]: string | undefined };
/** The number of multiplayer servers to host on a single VM. */
MultiplayerServerCountPerVm: number;
/** The ports to map the build on. */
Ports: Port[];
/** The region configurations for the build. */
RegionConfigurations: BuildRegionParams[];
/** The command to run when the multiplayer server is started, including any arguments. */
StartMultiplayerServerCommand: string;
/**
* When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to
* disc.
*/
UseStreamingForAssetDownloads?: boolean;
/** The VM size to create the build on. */
VmSize?: string;
}
export interface CreateBuildWithManagedContainerResponse extends PlayFabModule.IPlayFabResultCommon {
/**
* 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.
*/
AreAssetsReadonly?: boolean;
/** The guid string build ID. Must be unique for every build. */
BuildId?: string;
/** The build name. */
BuildName?: string;
/** The flavor of container of the build. */
ContainerFlavor?: string;
/** The time the build was created in UTC. */
CreationTime?: string;
/** The game assets for the build. */
GameAssetReferences?: AssetReference[];
/** The game certificates for the build. */
GameCertificateReferences?: GameCertificateReference[];
/**
* 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.
*/
GameWorkingDirectory?: string;
/** The instrumentation configuration for this build. */
InstrumentationConfiguration?: InstrumentationConfiguration;
/** The metadata of the build. */
Metadata?: { [key: string]: string | undefined };
/** The number of multiplayer servers to host on a single VM of the build. */
MultiplayerServerCountPerVm: number;
/** The OS platform used for running the game process. */
OsPlatform?: string;
/** The ports the build is mapped on. */
Ports?: Port[];
/** The region configuration for the build. */
RegionConfigurations?: BuildRegion[];
/** The type of game server being hosted. */
ServerType?: string;
/** The command to run when the multiplayer server has been allocated, including any arguments. */
StartMultiplayerServerCommand?: string;
/**
* When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to
* disc.
*/
UseStreamingForAssetDownloads?: boolean;
/** The VM size the build was created on. */
VmSize?: string;
}
export interface CreateBuildWithProcessBasedServerRequest extends PlayFabModule.IPlayFabRequestCommon {
/**
* 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.
*/
AreAssetsReadonly?: boolean;
/** The build name. */
BuildName: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The list of game assets related to the build. */
GameAssetReferences: AssetReferenceParams[];
/** The game certificates for the build. */
GameCertificateReferences?: GameCertificateReferenceParams[];
/**
* 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.
*/
GameWorkingDirectory?: string;
/** The instrumentation configuration for the build. */
InstrumentationConfiguration?: InstrumentationConfiguration;
/**
* 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.
*/
IsOSPreview?: boolean;
/**
* 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
*/
Metadata?: { [key: string]: string | undefined };
/** The number of multiplayer servers to host on a single VM. */
MultiplayerServerCountPerVm: number;
/** The OS platform used for running the game process. */
OsPlatform?: string;
/** The ports to map the build on. */
Ports: Port[];
/** The region configurations for the build. */
RegionConfigurations: BuildRegionParams[];
/**
* 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.
*/
StartMultiplayerServerCommand: string;
/**
* When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to
* disc.
*/
UseStreamingForAssetDownloads?: boolean;
/** The VM size to create the build on. */
VmSize?: string;
}
export interface CreateBuildWithProcessBasedServerResponse extends PlayFabModule.IPlayFabResultCommon {
/**
* 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.
*/
AreAssetsReadonly?: boolean;
/** The guid string build ID. Must be unique for every build. */
BuildId?: string;
/** The build name. */
BuildName?: string;
/** The flavor of container of the build. */
ContainerFlavor?: string;
/** The time the build was created in UTC. */
CreationTime?: string;
/** The game assets for the build. */
GameAssetReferences?: AssetReference[];
/** The game certificates for the build. */
GameCertificateReferences?: GameCertificateReference[];
/**
* 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.
*/
GameWorkingDirectory?: string;
/** The instrumentation configuration for this build. */
InstrumentationConfiguration?: InstrumentationConfiguration;
/**
* 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.
*/
IsOSPreview?: boolean;
/** The metadata of the build. */
Metadata?: { [key: string]: string | undefined };
/** The number of multiplayer servers to host on a single VM of the build. */
MultiplayerServerCountPerVm: number;
/** The OS platform used for running the game process. */
OsPlatform?: string;
/** The ports the build is mapped on. */
Ports?: Port[];
/** The region configuration for the build. */
RegionConfigurations?: BuildRegion[];
/** The type of game server being hosted. */
ServerType?: string;
/**
* 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.
*/
StartMultiplayerServerCommand?: string;
/**
* When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to
* disc.
*/
UseStreamingForAssetDownloads?: boolean;
/** The VM size the build was created on. */
VmSize?: string;
}
export interface CreateMatchmakingTicketRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The User who created this ticket. */
Creator: MatchmakingPlayer;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** How long to attempt matching this ticket in seconds. */
GiveUpAfterSeconds: number;
/** A list of Entity Keys of other users to match with. */
MembersToMatchWith?: EntityKey[];
/** The Id of a match queue. */
QueueName: string;
}
export interface CreateMatchmakingTicketResult extends PlayFabModule.IPlayFabResultCommon {
/** The Id of the ticket to find a match for. */
TicketId: string;
}
export interface CreateRemoteUserRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string build ID of to create the remote user for. */
BuildId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The expiration time for the remote user created. Defaults to expiring in one day if not specified. */
ExpirationTime?: string;
/** The region of virtual machine to create the remote user for. */
Region: string;
/** The username to create the remote user with. */
Username: string;
/** The virtual machine ID the multiplayer server is located on. */
VmId: string;
}
export interface CreateRemoteUserResponse extends PlayFabModule.IPlayFabResultCommon {
/** The expiration time for the remote user created. */
ExpirationTime?: string;
/** The generated password for the remote user that was created. */
Password?: string;
/** The username for the remote user that was created. */
Username?: string;
}
export interface CreateServerBackfillTicketRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** How long to attempt matching this ticket in seconds. */
GiveUpAfterSeconds: number;
/** The users who will be part of this ticket, along with their team assignments. */
Members: MatchmakingPlayerWithTeamAssignment[];
/** The Id of a match queue. */
QueueName: string;
/** The details of the server the members are connected to. */
ServerDetails?: ServerDetails;
}
export interface CreateServerBackfillTicketResult extends PlayFabModule.IPlayFabResultCommon {
/** The Id of the ticket to find a match for. */
TicketId: string;
}
export interface CreateServerMatchmakingTicketRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** How long to attempt matching this ticket in seconds. */
GiveUpAfterSeconds: number;
/** The users who will be part of this ticket. */
Members: MatchmakingPlayer[];
/** The Id of a match queue. */
QueueName: string;
}
export interface CurrentServerStats {
/** The number of active multiplayer servers. */
Active: number;
/** The number of multiplayer servers still downloading game resources (such as assets). */
Propping: number;
/** The number of standingby multiplayer servers. */
StandingBy: number;
/** The total number of multiplayer servers. */
Total: number;
}
export interface CustomDifferenceRuleExpansion {
/** Manually specify the values to use for each expansion interval (this overrides Difference, Delta, and MaxDifference). */
DifferenceOverrides: OverrideDouble[];
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface CustomRegionSelectionRuleExpansion {
/** Manually specify the maximum latency to use for each expansion interval. */
MaxLatencyOverrides: OverrideUnsignedInt[];
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface CustomSetIntersectionRuleExpansion {
/** Manually specify the values to use for each expansion interval. */
MinIntersectionSizeOverrides: OverrideUnsignedInt[];
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface CustomTeamDifferenceRuleExpansion {
/** Manually specify the team difference value to use for each expansion interval. */
DifferenceOverrides: OverrideDouble[];
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface CustomTeamSizeBalanceRuleExpansion {
/** Manually specify the team size difference to use for each expansion interval. */
DifferenceOverrides: OverrideUnsignedInt[];
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface DeleteAssetRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The filename of the asset to delete. */
FileName: string;
}
export interface DeleteBuildAliasRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string alias ID of the alias to perform the action on. */
AliasId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface DeleteBuildRegionRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string ID of the build we want to update regions for. */
BuildId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The build region to delete. */
Region: string;
}
export interface DeleteBuildRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string build ID of the build to delete. */
BuildId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface DeleteCertificateRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The name of the certificate. */
Name: string;
}
export interface DeleteContainerImageRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The container image repository we want to delete. */
ImageName?: string;
}
export interface DeleteRemoteUserRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string build ID of the multiplayer server where the remote user is to delete. */
BuildId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The region of the multiplayer server where the remote user is to delete. */
Region: string;
/** The username of the remote user to delete. */
Username: string;
/** The virtual machine ID the multiplayer server is located on. */
VmId: string;
}
export interface DifferenceRule {
/** Description of the attribute used by this rule to match tickets. */
Attribute: QueueRuleAttribute;
/**
* Describes the behavior when an attribute is not specified in the ticket creation request or in the user's entity
* profile.
*/
AttributeNotSpecifiedBehavior: string;
/**
* 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.
*/
CustomExpansion?: CustomDifferenceRuleExpansion;
/**
* The default value assigned to tickets that are missing the attribute specified by AttributePath (assuming that
* AttributeNotSpecifiedBehavior is false). Optional.
*/
DefaultAttributeValue?: number;
/** The allowed difference between any two tickets at the start of matchmaking. */
Difference: number;
/** Collection of fields relating to expanding this rule at set intervals. Only one expansion can be set per rule. */
LinearExpansion?: LinearDifferenceRuleExpansion;
/** How values are treated when there are multiple players in a single ticket. */
MergeFunction: string;
/** Friendly name chosen by developer. */
Name: string;
/**
* 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.
*/
SecondsUntilOptional?: number;
/** The relative weight of this rule compared to others. */
Weight: number;
}
export interface DynamicStandbySettings {
/**
* 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%
*/
DynamicFloorMultiplierThresholds?: DynamicStandbyThreshold[];
/** When true, dynamic standby will be enabled */
IsEnabled: boolean;
/** The time it takes to reduce target standing by to configured floor value after an increase. Defaults to 30 minutes */
RampDownSeconds?: number;
}
export interface DynamicStandbyThreshold {
/** When the trigger threshold is reached, multiply by this value */
Multiplier: number;
/** The multiplier will be applied when the actual standby divided by target standby floor is less than this value */
TriggerThresholdPercentage: number;
}
export interface EmptyResponse extends PlayFabModule.IPlayFabResultCommon {}
export interface EnableMultiplayerServersForTitleRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface EnableMultiplayerServersForTitleResponse extends PlayFabModule.IPlayFabResultCommon {
/** The enabled status for the multiplayer server features for the title. */
Status?: string;
}
export interface EntityKey {
/** Unique ID of the entity. */
Id: string;
/** Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types */
Type?: string;
}
export interface GameCertificateReference {
/**
* 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.
*/
GsdkAlias?: string;
/**
* The name of the game certificate. This name should match the name of a certificate that was previously uploaded to this
* title.
*/
Name?: string;
}
export interface GameCertificateReferenceParams {
/**
* 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.
*/
GsdkAlias: string;
/**
* The name of the game certificate. This name should match the name of a certificate that was previously uploaded to this
* title.
*/
Name: string;
}
export interface GetAssetUploadUrlRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The asset's file name to get the upload URL for. */
FileName: string;
}
export interface GetAssetUploadUrlResponse extends PlayFabModule.IPlayFabResultCommon {
/** The asset's upload URL. */
AssetUploadUrl?: string;
/** The asset's file name to get the upload URL for. */
FileName?: string;
}
export interface GetBuildAliasRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string alias ID of the alias to perform the action on. */
AliasId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface GetBuildRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string build ID of the build to get. */
BuildId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface GetBuildResponse extends PlayFabModule.IPlayFabResultCommon {
/**
* 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.
*/
AreAssetsReadonly?: boolean;
/** The guid string build ID of the build. */
BuildId?: string;
/** The build name. */
BuildName?: string;
/** The current build status. Valid values are - Deploying, Deployed, DeletingRegion, Unhealthy. */
BuildStatus?: string;
/** The flavor of container of he build. */
ContainerFlavor?: string;
/**
* 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.
*/
ContainerRunCommand?: string;
/** The time the build was created in UTC. */
CreationTime?: string;
/** The custom game container image for a custom build. */
CustomGameContainerImage?: ContainerImageReference;
/** The game assets for the build. */
GameAssetReferences?: AssetReference[];
/** The game certificates for the build. */
GameCertificateReferences?: GameCertificateReference[];
/** The instrumentation configuration of the build. */
InstrumentationConfiguration?: InstrumentationConfiguration;
/**
* Metadata of the build. The keys are case insensitive. The build metadata is made available to the server through Game
* Server SDK (GSDK).
*/
Metadata?: { [key: string]: string | undefined };
/** The number of multiplayer servers to hosted on a single VM of the build. */
MultiplayerServerCountPerVm: number;
/** The OS platform used for running the game process. */
OsPlatform?: string;
/** The ports the build is mapped on. */
Ports?: Port[];
/** The region configuration for the build. */
RegionConfigurations?: BuildRegion[];
/** The type of game server being hosted. */
ServerType?: string;
/**
* 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.
*/
StartMultiplayerServerCommand?: string;
/**
* When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to
* disc.
*/
UseStreamingForAssetDownloads?: boolean;
/** The VM size the build was created on. */
VmSize?: string;
}
export interface GetContainerRegistryCredentialsRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface GetContainerRegistryCredentialsResponse extends PlayFabModule.IPlayFabResultCommon {
/** The url of the container registry. */
DnsName?: string;
/** The password for accessing the container registry. */
Password?: string;
/** The username for accessing the container registry. */
Username?: string;
}
export interface GetMatchmakingQueueRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The Id of the matchmaking queue to retrieve. */
QueueName?: string;
}
export interface GetMatchmakingQueueResult extends PlayFabModule.IPlayFabResultCommon {
/** The matchmaking queue config. */
MatchmakingQueue?: MatchmakingQueueConfig;
}
export interface GetMatchmakingTicketRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/**
* Determines whether the matchmaking attributes will be returned as an escaped JSON string or as an un-escaped JSON
* object.
*/
EscapeObject: boolean;
/** The name of the queue to find a match for. */
QueueName: string;
/** The Id of the ticket to find a match for. */
TicketId: string;
}
export interface GetMatchmakingTicketResult extends PlayFabModule.IPlayFabResultCommon {
/** The reason why the current ticket was canceled. This field is only set if the ticket is in canceled state. */
CancellationReasonString?: string;
/** The server date and time at which ticket was created. */
Created: string;
/** The Creator's entity key. */
Creator: EntityKey;
/** How long to attempt matching this ticket in seconds. */
GiveUpAfterSeconds: number;
/** The Id of a match. */
MatchId?: string;
/** A list of Users that have joined this ticket. */
Members: MatchmakingPlayer[];
/** A list of PlayFab Ids of Users to match with. */
MembersToMatchWith?: EntityKey[];
/** The Id of a match queue. */
QueueName: string;
/**
* The current ticket status. Possible values are: WaitingForPlayers, WaitingForMatch, WaitingForServer, Canceled and
* Matched.
*/
Status: string;
/** The Id of the ticket to find a match for. */
TicketId: string;
}
export interface GetMatchRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/**
* Determines whether the matchmaking attributes will be returned as an escaped JSON string or as an un-escaped JSON
* object.
*/
EscapeObject: boolean;
/** The Id of a match. */
MatchId: string;
/** The name of the queue to join. */
QueueName: string;
/** Determines whether the matchmaking attributes for each user should be returned in the response for match request. */
ReturnMemberAttributes: boolean;
}
export interface GetMatchResult extends PlayFabModule.IPlayFabResultCommon {
/** The Id of a match. */
MatchId: string;
/** A list of Users that are matched together, along with their team assignments. */
Members: MatchmakingPlayerWithTeamAssignment[];
/**
* 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.
*/
RegionPreferences?: string[];
/** The details of the server that the match has been allocated to. */
ServerDetails?: ServerDetails;
}
export interface GetMultiplayerServerDetailsRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string build ID of the multiplayer server to get details for. */
BuildId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The region the multiplayer server is located in to get details for. */
Region: string;
/**
* The title generated guid string session ID of the multiplayer server to get details for. This is to keep track of
* multiplayer server sessions.
*/
SessionId: string;
}
export interface GetMultiplayerServerDetailsResponse extends PlayFabModule.IPlayFabResultCommon {
/** The connected players in the multiplayer server. */
ConnectedPlayers?: ConnectedPlayer[];
/** The fully qualified domain name of the virtual machine that is hosting this multiplayer server. */
FQDN?: string;
/** The IPv4 address of the virtual machine that is hosting this multiplayer server. */
IPV4Address?: string;
/** The time (UTC) at which a change in the multiplayer server state was observed. */
LastStateTransitionTime?: string;
/** The ports the multiplayer server uses. */
Ports?: Port[];
/** The region the multiplayer server is located in. */
Region?: string;
/** The string server ID of the multiplayer server generated by PlayFab. */
ServerId?: string;
/** The guid string session ID of the multiplayer server. */
SessionId?: string;
/** The state of the multiplayer server. */
State?: string;
/** The virtual machine ID that the multiplayer server is located on. */
VmId?: string;
}
export interface GetMultiplayerServerLogsRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The server ID of multiplayer server to get logs for. */
ServerId: string;
}
export interface GetMultiplayerServerLogsResponse extends PlayFabModule.IPlayFabResultCommon {
/** URL for logs download. */
LogDownloadUrl?: string;
}
export interface GetMultiplayerSessionLogsBySessionIdRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The server ID of multiplayer server to get logs for. */
SessionId: string;
}
export interface GetQueueStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The name of the queue. */
QueueName: string;
}
export interface GetQueueStatisticsResult extends PlayFabModule.IPlayFabResultCommon {
/** The current number of players in the matchmaking queue, who are waiting to be matched. */
NumberOfPlayersMatching?: number;
/** Statistics representing the time (in seconds) it takes for tickets to find a match. */
TimeToMatchStatisticsInSeconds?: Statistics;
}
export interface GetRemoteLoginEndpointRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string build ID of the multiplayer server to get remote login information for. */
BuildId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The region of the multiplayer server to get remote login information for. */
Region: string;
/** The virtual machine ID the multiplayer server is located on. */
VmId: string;
}
export interface GetRemoteLoginEndpointResponse extends PlayFabModule.IPlayFabResultCommon {
/** The remote login IPV4 address of multiplayer server. */
IPV4Address?: string;
/** The remote login port of multiplayer server. */
Port: number;
}
export interface GetServerBackfillTicketRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/**
* Determines whether the matchmaking attributes will be returned as an escaped JSON string or as an un-escaped JSON
* object.
*/
EscapeObject: boolean;
/** The name of the queue to find a match for. */
QueueName: string;
/** The Id of the ticket to find a match for. */
TicketId: string;
}
export interface GetServerBackfillTicketResult extends PlayFabModule.IPlayFabResultCommon {
/** The reason why the current ticket was canceled. This field is only set if the ticket is in canceled state. */
CancellationReasonString?: string;
/** The server date and time at which ticket was created. */
Created: string;
/** How long to attempt matching this ticket in seconds. */
GiveUpAfterSeconds: number;
/** The Id of a match. */
MatchId?: string;
/** A list of Users that are part of this ticket, along with their team assignments. */
Members: MatchmakingPlayerWithTeamAssignment[];
/** The Id of a match queue. */
QueueName: string;
/** The details of the server the members are connected to. */
ServerDetails: ServerDetails;
/** The current ticket status. Possible values are: WaitingForMatch, Canceled and Matched. */
Status: string;
/** The Id of the ticket to find a match for. */
TicketId: string;
}
export interface GetTitleEnabledForMultiplayerServersStatusRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface GetTitleEnabledForMultiplayerServersStatusResponse extends PlayFabModule.IPlayFabResultCommon {
/** The enabled status for the multiplayer server features for the title. */
Status?: string;
}
export interface GetTitleMultiplayerServersQuotasRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface GetTitleMultiplayerServersQuotasResponse extends PlayFabModule.IPlayFabResultCommon {
/** The various quotas for multiplayer servers for the title. */
Quotas?: TitleMultiplayerServersQuotas;
}
export interface InstrumentationConfiguration {
/**
* 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 ]
*/
ProcessesToMonitor?: string[];
}
export interface JoinMatchmakingTicketRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The User who wants to join the ticket. Their Id must be listed in PlayFabIdsToMatchWith. */
Member: MatchmakingPlayer;
/** The name of the queue to join. */
QueueName: string;
/** The Id of the ticket to find a match for. */
TicketId: string;
}
export interface JoinMatchmakingTicketResult extends PlayFabModule.IPlayFabResultCommon {}
export interface LinearDifferenceRuleExpansion {
/** This value gets added to Difference at every expansion interval. */
Delta: number;
/** Once the total difference reaches this value, expansion stops. Optional. */
Limit?: number;
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface LinearRegionSelectionRuleExpansion {
/** This value gets added to MaxLatency at every expansion interval. */
Delta: number;
/** Once the max Latency reaches this value, expansion stops. */
Limit: number;
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface LinearSetIntersectionRuleExpansion {
/** This value gets added to MinIntersectionSize at every expansion interval. */
Delta: number;
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface LinearTeamDifferenceRuleExpansion {
/** This value gets added to Difference at every expansion interval. */
Delta: number;
/** Once the total difference reaches this value, expansion stops. Optional. */
Limit?: number;
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface LinearTeamSizeBalanceRuleExpansion {
/** This value gets added to Difference at every expansion interval. */
Delta: number;
/** Once the total difference reaches this value, expansion stops. Optional. */
Limit?: number;
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface LinuxInstrumentationConfiguration {
/** Designates whether Linux instrumentation configuration will be enabled for this Build */
IsEnabled: boolean;
}
export interface ListAssetSummariesRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The page size for the request. */
PageSize?: number;
/** The skip token for the paged request. */
SkipToken?: string;
}
export interface ListAssetSummariesResponse extends PlayFabModule.IPlayFabResultCommon {
/** The list of asset summaries. */
AssetSummaries?: AssetSummary[];
/** The page size on the response. */
PageSize: number;
/** The skip token for the paged response. */
SkipToken?: string;
}
export interface ListBuildAliasesForTitleResponse extends PlayFabModule.IPlayFabResultCommon {
/** The list of build aliases for the title */
BuildAliases?: BuildAliasDetailsResponse[];
}
export interface ListBuildSummariesRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The page size for the request. */
PageSize?: number;
/** The skip token for the paged request. */
SkipToken?: string;
}
export interface ListBuildSummariesResponse extends PlayFabModule.IPlayFabResultCommon {
/** The list of build summaries for a title. */
BuildSummaries?: BuildSummary[];
/** The page size on the response. */
PageSize: number;
/** The skip token for the paged response. */
SkipToken?: string;
}
export interface ListCertificateSummariesRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The page size for the request. */
PageSize?: number;
/** The skip token for the paged request. */
SkipToken?: string;
}
export interface ListCertificateSummariesResponse extends PlayFabModule.IPlayFabResultCommon {
/** The list of game certificates. */
CertificateSummaries?: CertificateSummary[];
/** The page size on the response. */
PageSize: number;
/** The skip token for the paged response. */
SkipToken?: string;
}
export interface ListContainerImagesRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The page size for the request. */
PageSize?: number;
/** The skip token for the paged request. */
SkipToken?: string;
}
export interface ListContainerImagesResponse extends PlayFabModule.IPlayFabResultCommon {
/** The list of container images. */
Images?: string[];
/** The page size on the response. */
PageSize: number;
/** The skip token for the paged response. */
SkipToken?: string;
}
export interface ListContainerImageTagsRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The container images we want to list tags for. */
ImageName?: string;
}
export interface ListContainerImageTagsResponse extends PlayFabModule.IPlayFabResultCommon {
/** The list of tags for a particular container image. */
Tags?: string[];
}
export interface ListMatchmakingQueuesRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface ListMatchmakingQueuesResult extends PlayFabModule.IPlayFabResultCommon {
/** The list of matchmaking queue configs for this title. */
MatchMakingQueues?: MatchmakingQueueConfig[];
}
export interface ListMatchmakingTicketsForPlayerRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The entity key for which to find the ticket Ids. */
Entity?: EntityKey;
/** The name of the queue to find a match for. */
QueueName: string;
}
export interface ListMatchmakingTicketsForPlayerResult extends PlayFabModule.IPlayFabResultCommon {
/** The list of ticket Ids the user is a member of. */
TicketIds: string[];
}
export interface ListMultiplayerServersRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string build ID of the multiplayer servers to list. */
BuildId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The page size for the request. */
PageSize?: number;
/** The region the multiplayer servers to list. */
Region: string;
/** The skip token for the paged request. */
SkipToken?: string;
}
export interface ListMultiplayerServersResponse extends PlayFabModule.IPlayFabResultCommon {
/** The list of multiplayer server summary details. */
MultiplayerServerSummaries?: MultiplayerServerSummary[];
/** The page size on the response. */
PageSize: number;
/** The skip token for the paged response. */
SkipToken?: string;
}
export interface ListPartyQosServersRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface ListPartyQosServersResponse extends PlayFabModule.IPlayFabResultCommon {
/** The page size on the response. */
PageSize: number;
/** The list of QoS servers. */
QosServers?: QosServer[];
/** The skip token for the paged response. */
SkipToken?: string;
}
export interface ListQosServersForTitleRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/**
* Indicates that the response should contain Qos servers for all regions, including those where there are no builds
* deployed for the title.
*/
IncludeAllRegions?: boolean;
}
export interface ListQosServersForTitleResponse extends PlayFabModule.IPlayFabResultCommon {
/** The page size on the response. */
PageSize: number;
/** The list of QoS servers. */
QosServers?: QosServer[];
/** The skip token for the paged response. */
SkipToken?: string;
}
export interface ListServerBackfillTicketsForPlayerRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The entity key for which to find the ticket Ids. */
Entity: EntityKey;
/** The name of the queue the tickets are in. */
QueueName: string;
}
export interface ListServerBackfillTicketsForPlayerResult extends PlayFabModule.IPlayFabResultCommon {
/** The list of backfill ticket Ids the user is a member of. */
TicketIds: string[];
}
export interface ListVirtualMachineSummariesRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string build ID of the virtual machines to list. */
BuildId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The page size for the request. */
PageSize?: number;
/** The region of the virtual machines to list. */
Region: string;
/** The skip token for the paged request. */
SkipToken?: string;
}
export interface ListVirtualMachineSummariesResponse extends PlayFabModule.IPlayFabResultCommon {
/** The page size on the response. */
PageSize: number;
/** The skip token for the paged response. */
SkipToken?: string;
/** The list of virtual machine summaries. */
VirtualMachines?: VirtualMachineSummary[];
}
export interface MatchmakingPlayer {
/** The user's attributes custom to the title. */
Attributes?: MatchmakingPlayerAttributes;
/** The entity key of the matchmaking user. */
Entity: EntityKey;
}
export interface MatchmakingPlayerAttributes {
/** A data object representing a user's attributes. */
DataObject?: any;
/** An escaped data object representing a user's attributes. */
EscapedDataObject?: string;
}
export interface MatchmakingPlayerWithTeamAssignment {
/**
* The user's attributes custom to the title. These attributes will be null unless the request has ReturnMemberAttributes
* flag set to true.
*/
Attributes?: MatchmakingPlayerAttributes;
/** The entity key of the matchmaking user. */
Entity: EntityKey;
/** The Id of the team the User is assigned to. */
TeamId?: string;
}
export interface MatchmakingQueueConfig {
/** This is the buildId that will be used to allocate the multiplayer server for the match. */
BuildId?: string;
/** List of difference rules used to find an optimal match. */
DifferenceRules?: DifferenceRule[];
/** List of match total rules used to find an optimal match. */
MatchTotalRules?: MatchTotalRule[];
/** Maximum number of players in a match. */
MaxMatchSize: number;
/** Maximum number of players in a ticket. Optional. */
MaxTicketSize?: number;
/** Minimum number of players in a match. */
MinMatchSize: number;
/** Unique identifier for a Queue. Chosen by the developer. */
Name: string;
/** Region selection rule used to find an optimal match. */
RegionSelectionRule?: RegionSelectionRule;
/** Boolean flag to enable server allocation for the queue. */
ServerAllocationEnabled: boolean;
/** List of set intersection rules used to find an optimal match. */
SetIntersectionRules?: SetIntersectionRule[];
/** Controls which statistics are visible to players. */
StatisticsVisibilityToPlayers?: StatisticsVisibilityToPlayers;
/** List of string equality rules used to find an optimal match. */
StringEqualityRules?: StringEqualityRule[];
/** List of team difference rules used to find an optimal match. */
TeamDifferenceRules?: TeamDifferenceRule[];
/** The team configuration for a match. This may be null if there are no teams. */
Teams?: MatchmakingQueueTeam[];
/** Team size balance rule used to find an optimal match. */
TeamSizeBalanceRule?: TeamSizeBalanceRule;
/** Team ticket size similarity rule used to find an optimal match. */
TeamTicketSizeSimilarityRule?: TeamTicketSizeSimilarityRule;
}
export interface MatchmakingQueueTeam {
/** The maximum number of players required for the team. */
MaxTeamSize: number;
/** The minimum number of players required for the team. */
MinTeamSize: number;
/** A name to identify the team. This is case insensitive. */
Name: string;
}
export interface MatchTotalRule {
/** Description of the attribute used by this rule to match tickets. */
Attribute: QueueRuleAttribute;
/** Collection of fields relating to expanding this rule at set intervals. */
Expansion?: MatchTotalRuleExpansion;
/** The maximum total value for a group. Must be >= Min. */
Max: number;
/** The minimum total value for a group. Must be >=2. */
Min: number;
/** Friendly name chosen by developer. */
Name: string;
/**
* 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.
*/
SecondsUntilOptional?: number;
/** The relative weight of this rule compared to others. */
Weight: number;
}
export interface MatchTotalRuleExpansion {
/** Manually specify the values to use for each expansion interval. When this is set, Max is ignored. */
MaxOverrides?: OverrideDouble[];
/** Manually specify the values to use for each expansion interval. When this is set, Min is ignored. */
MinOverrides?: OverrideDouble[];
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface MultiplayerEmptyRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface MultiplayerServerSummary {
/** The connected players in the multiplayer server. */
ConnectedPlayers?: ConnectedPlayer[];
/** The time (UTC) at which a change in the multiplayer server state was observed. */
LastStateTransitionTime?: string;
/** The region the multiplayer server is located in. */
Region?: string;
/** The string server ID of the multiplayer server generated by PlayFab. */
ServerId?: string;
/** The title generated guid string session ID of the multiplayer server. */
SessionId?: string;
/** The state of the multiplayer server. */
State?: string;
/** The virtual machine ID that the multiplayer server is located on. */
VmId?: string;
}
type OsPlatform = "Windows"
| "Linux";
export interface OverrideDouble {
/** The custom expansion value. */
Value: number;
}
export interface OverrideUnsignedInt {
/** The custom expansion value. */
Value: number;
}
export interface Port {
/** The name for the port. */
Name: string;
/** The number for the port. */
Num: number;
/** The protocol for the port. */
Protocol: string;
}
type ProtocolType = "TCP"
| "UDP";
export interface QosServer {
/** The region the QoS server is located in. */
Region?: string;
/** The QoS server URL. */
ServerUrl?: string;
}
export interface QueueRuleAttribute {
/** Specifies which attribute in a ticket to use. */
Path: string;
/** Specifies which source the attribute comes from. */
Source: string;
}
export interface RegionSelectionRule {
/**
* Controls how the Max Latency parameter expands over time. Only one expansion can be set per rule. When this is set,
* MaxLatency is ignored.
*/
CustomExpansion?: CustomRegionSelectionRuleExpansion;
/** Controls how the Max Latency parameter expands over time. Only one expansion can be set per rule. */
LinearExpansion?: LinearRegionSelectionRuleExpansion;
/** Specifies the maximum latency that is allowed between the client and the selected server. The value is in milliseconds. */
MaxLatency: number;
/** Friendly name chosen by developer. */
Name: string;
/** Specifies which attribute in a ticket to use. */
Path: string;
/**
* 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.
*/
SecondsUntilOptional?: number;
/** The relative weight of this rule compared to others. */
Weight: number;
}
export interface RemoveMatchmakingQueueRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The Id of the matchmaking queue to remove. */
QueueName?: string;
}
export interface RemoveMatchmakingQueueResult extends PlayFabModule.IPlayFabResultCommon {}
export interface RequestMultiplayerServerRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The identifiers of the build alias to use for the request. */
BuildAliasParams?: BuildAliasParams;
/** The guid string build ID of the multiplayer server to request. */
BuildId?: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/**
* 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.
*/
InitialPlayers?: string[];
/**
* 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.
*/
PreferredRegions: string[];
/**
* 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.
*/
SessionCookie?: string;
/** A guid string session ID created track the multiplayer server session over its life. */
SessionId: string;
}
export interface RequestMultiplayerServerResponse extends PlayFabModule.IPlayFabResultCommon {
/** The connected players in the multiplayer server. */
ConnectedPlayers?: ConnectedPlayer[];
/** The fully qualified domain name of the virtual machine that is hosting this multiplayer server. */
FQDN?: string;
/** The IPv4 address of the virtual machine that is hosting this multiplayer server. */
IPV4Address?: string;
/** The time (UTC) at which a change in the multiplayer server state was observed. */
LastStateTransitionTime?: string;
/** The ports the multiplayer server uses. */
Ports?: Port[];
/** The region the multiplayer server is located in. */
Region?: string;
/** The string server ID of the multiplayer server generated by PlayFab. */
ServerId?: string;
/** The guid string session ID of the multiplayer server. */
SessionId?: string;
/** The state of the multiplayer server. */
State?: string;
/** The virtual machine ID that the multiplayer server is located on. */
VmId?: string;
}
export interface RolloverContainerRegistryCredentialsRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface RolloverContainerRegistryCredentialsResponse extends PlayFabModule.IPlayFabResultCommon {
/** The url of the container registry. */
DnsName?: string;
/** The password for accessing the container registry. */
Password?: string;
/** The username for accessing the container registry. */
Username?: string;
}
export interface Schedule {
/** A short description about this schedule. For example, "Game launch on July 15th". */
Description?: string;
/**
* 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.
*/
EndTime: string;
/** Disables the schedule. */
IsDisabled: boolean;
/** If true, the StartTime and EndTime will get renewed every week. */
IsRecurringWeekly: boolean;
/** The date and time in UTC at which the schedule starts. */
StartTime: string;
/** The standby target to maintain for the duration of the schedule. */
TargetStandby: number;
}
export interface ScheduledStandbySettings {
/** When true, scheduled standby will be enabled */
IsEnabled: boolean;
/** A list of non-overlapping schedules */
ScheduleList?: Schedule[];
}
export interface ServerDetails {
/** The IPv4 address of the virtual machine that is hosting this multiplayer server. */
IPV4Address?: string;
/** The ports the multiplayer server uses. */
Ports?: Port[];
/** The server's region. */
Region?: string;
}
type ServerType = "Container"
| "Process";
export interface SetIntersectionRule {
/** Description of the attribute used by this rule to match tickets. */
Attribute: QueueRuleAttribute;
/**
* Describes the behavior when an attribute is not specified in the ticket creation request or in the user's entity
* profile.
*/
AttributeNotSpecifiedBehavior: string;
/**
* 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.
*/
CustomExpansion?: CustomSetIntersectionRuleExpansion;
/**
* The default value assigned to tickets that are missing the attribute specified by AttributePath (assuming that
* AttributeNotSpecifiedBehavior is UseDefault). Values must be unique.
*/
DefaultAttributeValue?: string[];
/** Collection of fields relating to expanding this rule at set intervals. Only one expansion can be set per rule. */
LinearExpansion?: LinearSetIntersectionRuleExpansion;
/** The minimum number of values that must match between sets. */
MinIntersectionSize: number;
/** Friendly name chosen by developer. */
Name: string;
/**
* 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.
*/
SecondsUntilOptional?: number;
/** The relative weight of this rule compared to others. */
Weight: number;
}
export interface SetMatchmakingQueueRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The matchmaking queue config. */
MatchmakingQueue?: MatchmakingQueueConfig;
}
export interface SetMatchmakingQueueResult extends PlayFabModule.IPlayFabResultCommon {}
export interface ShutdownMultiplayerServerRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string build ID of the multiplayer server to delete. */
BuildId: string;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The region of the multiplayer server to shut down. */
Region: string;
/** A guid string session ID of the multiplayer server to shut down. */
SessionId: string;
}
export interface Statistics {
/** The average. */
Average: number;
/** The 50th percentile. */
Percentile50: number;
/** The 90th percentile. */
Percentile90: number;
/** The 99th percentile. */
Percentile99: number;
}
export interface StatisticsVisibilityToPlayers {
/** Whether to allow players to view the current number of players in the matchmaking queue. */
ShowNumberOfPlayersMatching: boolean;
/** Whether to allow players to view statistics representing the time it takes for tickets to find a match. */
ShowTimeToMatch: boolean;
}
export interface StringEqualityRule {
/** Description of the attribute used by this rule to match tickets. */
Attribute: QueueRuleAttribute;
/**
* Describes the behavior when an attribute is not specified in the ticket creation request or in the user's entity
* profile.
*/
AttributeNotSpecifiedBehavior: string;
/**
* The default value assigned to tickets that are missing the attribute specified by AttributePath (assuming that
* AttributeNotSpecifiedBehavior is false).
*/
DefaultAttributeValue?: string;
/**
* 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.
*/
Expansion?: StringEqualityRuleExpansion;
/** Friendly name chosen by developer. */
Name: string;
/**
* 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.
*/
SecondsUntilOptional?: number;
/** The relative weight of this rule compared to others. */
Weight: number;
}
export interface StringEqualityRuleExpansion {
/** List of bools specifying whether the rule is applied during this expansion. */
EnabledOverrides: boolean[];
/** How many seconds before this rule is expanded. */
SecondsBetweenExpansions: number;
}
export interface TeamDifferenceRule {
/** Description of the attribute used by this rule to match teams. */
Attribute: QueueRuleAttribute;
/**
* 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.
*/
CustomExpansion?: CustomTeamDifferenceRuleExpansion;
/**
* The default value assigned to tickets that are missing the attribute specified by AttributePath (assuming that
* AttributeNotSpecifiedBehavior is false).
*/
DefaultAttributeValue: number;
/** The allowed difference between any two teams at the start of matchmaking. */
Difference: number;
/** Collection of fields relating to expanding this rule at set intervals. Only one expansion can be set per rule. */
LinearExpansion?: LinearTeamDifferenceRuleExpansion;
/** Friendly name chosen by developer. */
Name: string;
/**
* 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.
*/
SecondsUntilOptional?: number;
}
export interface TeamSizeBalanceRule {
/**
* Controls how the Difference parameter expands over time. Only one expansion can be set per rule. When this is set,
* Difference is ignored.
*/
CustomExpansion?: CustomTeamSizeBalanceRuleExpansion;
/** The allowed difference in team size between any two teams. */
Difference: number;
/** Controls how the Difference parameter expands over time. Only one expansion can be set per rule. */
LinearExpansion?: LinearTeamSizeBalanceRuleExpansion;
/** Friendly name chosen by developer. */
Name: string;
/**
* 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.
*/
SecondsUntilOptional?: number;
}
export interface TeamTicketSizeSimilarityRule {
/** Friendly name chosen by developer. */
Name: string;
/**
* 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.
*/
SecondsUntilOptional?: number;
}
type TitleMultiplayerServerEnabledStatus = "Initializing"
| "Enabled"
| "Disabled";
export interface TitleMultiplayerServersQuotas {
/** The core capacity for the various regions and VM Family */
CoreCapacities?: CoreCapacity[];
}
export interface UntagContainerImageRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The container image which tag we want to remove. */
ImageName?: string;
/** The tag we want to remove. */
Tag?: string;
}
export interface UpdateBuildAliasRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string alias Id of the alias to be updated. */
AliasId: string;
/** The alias name. */
AliasName?: string;
/** Array of build selection criteria. */
BuildSelectionCriteria?: BuildSelectionCriterion[];
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface UpdateBuildRegionRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string ID of the build we want to update regions for. */
BuildId: string;
/** The updated region configuration that should be applied to the specified build. */
BuildRegion: BuildRegionParams;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface UpdateBuildRegionsRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The guid string ID of the build we want to update regions for. */
BuildId: string;
/** The updated region configuration that should be applied to the specified build. */
BuildRegions: BuildRegionParams[];
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
}
export interface UploadCertificateRequest extends PlayFabModule.IPlayFabRequestCommon {
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
CustomTags?: { [key: string]: string | undefined };
/** The game certificate to upload. */
GameCertificate: Certificate;
}
export interface VirtualMachineSummary {
/** The virtual machine health status. */
HealthStatus?: string;
/** The virtual machine state. */
State?: string;
/** The virtual machine ID. */
VmId?: string;
}
}