Multiplayer Server - Create Build With Process Based Server

Creates a multiplayer server build with the server running as a process.

POST https://titleId.playfabapi.com/MultiplayerServer/CreateBuildWithProcessBasedServer

Request Header

Name Required Type Description
X-EntityToken True

string

This API requires an Entity Session Token, available from the Entity GetEntityToken method.

Request Body

Name Required Type Description
BuildName True

string

The build name.

GameAssetReferences True

AssetReferenceParams[]

The list of game assets related to the build.

MultiplayerServerCountPerVm True

number

The number of multiplayer servers to host on a single VM.

Ports True

Port[]

The ports to map the build on.

RegionConfigurations True

BuildRegionParams[]

The region configurations for the build.

StartMultiplayerServerCommand True

string

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.

AreAssetsReadonly

boolean

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.

CustomTags

object

The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).

GameCertificateReferences

GameCertificateReferenceParams[]

The game certificates for the build.

GameSecretReferences

GameSecretReferenceParams[]

The game secrets for the build.

GameWorkingDirectory

string

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.

InstrumentationConfiguration

InstrumentationConfiguration

The instrumentation configuration for the Build. Used only if it is a Windows Build.

IsOSPreview

boolean

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.

LinuxInstrumentationConfiguration

LinuxInstrumentationConfiguration

The Linux instrumentation configuration for the Build. Used only if it is a Linux Build.

Metadata

object

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

MonitoringApplicationConfiguration

MonitoringApplicationConfigurationParams

The configuration for the monitoring application on the build

OsPlatform

OsPlatform

The OS platform used for running the game process.

VmSize

AzureVmSize

The VM size to create the build on.

VmStartupScriptConfiguration

VmStartupScriptParams

The configuration for the VmStartupScript for the build

Responses

Name Type Description
200 OK

CreateBuildWithProcessBasedServerResponse

400 Bad Request

ApiErrorWrapper

This is the outer wrapper for all responses with errors

Security

X-EntityToken

This API requires an Entity Session Token, available from the Entity GetEntityToken method.

Type: apiKey
In: header

Definitions

Name Description
ApiErrorWrapper

The basic wrapper around every failed API response

AssetReference
AssetReferenceParams
AzureRegion
AzureVmSize
BuildRegion
BuildRegionParams
ContainerFlavor
CreateBuildWithProcessBasedServerRequest

Creates a multiplayer server build with the game server running as a process and returns information about the build creation request.

CreateBuildWithProcessBasedServerResponse
CurrentServerStats
DynamicStandbySettings
DynamicStandbyThreshold
GameCertificateReference
GameCertificateReferenceParams
GameSecretReference
GameSecretReferenceParams
InstrumentationConfiguration
LinuxInstrumentationConfiguration
MonitoringApplicationConfiguration
MonitoringApplicationConfigurationParams
OsPlatform
Port
ProtocolType
Schedule
ScheduledStandbySettings
ServerType
VmStartupScriptConfiguration
VmStartupScriptParams
VmStartupScriptPortRequest
VmStartupScriptPortRequestParams

ApiErrorWrapper

The basic wrapper around every failed API response

Name Type Description
code

integer

Numerical HTTP code

error

string

Playfab error code

errorCode

integer

Numerical PlayFab error code

errorDetails

object

Detailed description of individual issues with the request object

errorMessage

string

Description for the PlayFab errorCode

status

string

String HTTP code

AssetReference

Name Type Description
FileName

string

The asset's file name. This is a filename with the .zip, .tar, or .tar.gz extension.

MountPath

string

The asset's mount path.

AssetReferenceParams

Name Type Description
FileName

string

The asset's file name.

MountPath

string

The asset's mount path.

AzureRegion

Name Type Description
AustraliaEast

string

AustraliaSoutheast

string

BrazilSouth

string

CentralIndia

string

CentralUs

string

EastAsia

string

EastUs

string

EastUs2

string

FranceCentral

string

JapanEast

string

JapanWest

string

KoreaCentral

string

NorthCentralUs

string

NorthEurope

string

SouthAfricaNorth

string

SouthCentralUs

string

SoutheastAsia

string

SwedenCentral

string

UaeNorth

string

UkSouth

string

WestCentralUs

string

WestEurope

string

WestUs

string

WestUs2

string

AzureVmSize

Name Type Description
Standard_A1

string

Standard_A1_v2

string

Standard_A2

string

Standard_A2_v2

string

Standard_A3

string

Standard_A4

string

Standard_A4_v2

string

Standard_A8_v2

string

Standard_D16_v3

string

Standard_D16a_v4

string

Standard_D16ads_v5

string

Standard_D16as_v4

string

Standard_D16d_v4

string

Standard_D16d_v5

string

Standard_D16ds_v4

string

Standard_D16ds_v5

string

Standard_D16s_v3

string

Standard_D1_v2

string

Standard_D2_v2

string

Standard_D2_v3

string

Standard_D2a_v4

string

Standard_D2ads_v5

string

Standard_D2as_v4

string

Standard_D2d_v4

string

Standard_D2d_v5

string

Standard_D2ds_v4

string

Standard_D2ds_v5

string

Standard_D2s_v3

string

Standard_D32d_v5

string

Standard_D32ds_v5

string

Standard_D3_v2

string

Standard_D4_v2

string

Standard_D4_v3

string

Standard_D4a_v4

string

Standard_D4ads_v5

string

Standard_D4as_v4

string

Standard_D4d_v4

string

Standard_D4d_v5

string

Standard_D4ds_v4

string

Standard_D4ds_v5

string

Standard_D4s_v3

string

Standard_D5_v2

string

Standard_D8_v3

string

Standard_D8a_v4

string

Standard_D8ads_v5

string

Standard_D8as_v4

string

Standard_D8d_v4

string

Standard_D8d_v5

string

Standard_D8ds_v4

string

Standard_D8ds_v5

string

Standard_D8s_v3

string

Standard_DS1_v2

string

Standard_DS2_v2

string

Standard_DS3_v2

string

Standard_DS4_v2

string

Standard_DS5_v2

string

Standard_E16a_v4

string

Standard_E16as_v4

string

Standard_E2a_v4

string

Standard_E2as_v4

string

Standard_E4a_v4

string

Standard_E4as_v4

string

Standard_E8a_v4

string

Standard_E8as_v4

string

Standard_F1

string

Standard_F16

string

Standard_F16s_v2

string

Standard_F2

string

Standard_F2s_v2

string

Standard_F4

string

Standard_F4s_v2

string

Standard_F8

string

Standard_F8s_v2

string

Standard_HB120_16rs_v3

string

Standard_HB120_32rs_v3

string

Standard_HB120_64rs_v3

string

Standard_HB120_96rs_v3

string

Standard_HB120rs_v3

string

Standard_NC4as_T4_v3

string

BuildRegion

Name Type Description
CurrentServerStats

CurrentServerStats

The current multiplayer server stats for the region.

DynamicStandbySettings

DynamicStandbySettings

Optional settings to control dynamic adjustment of standby target

IsAssetReplicationComplete

boolean

Whether the game assets provided for the build have been replicated to this region.

MaxServers

number

The maximum number of multiplayer servers for the region.

MultiplayerServerCountPerVm

number

Regional override for the number of multiplayer servers to host on a single VM of the build.

Region

AzureRegion

The build region.

ScheduledStandbySettings

ScheduledStandbySettings

Optional settings to set the standby target to specified values during the supplied schedules

StandbyServers

number

The target number of standby multiplayer servers for the region.

Status

string

The status of multiplayer servers in the build region. Valid values are - Unknown, Initialized, Deploying, Deployed, Unhealthy, Deleting, Deleted.

VmSize

AzureVmSize

Regional override for the VM size the build was created on.

BuildRegionParams

Name Type Description
DynamicStandbySettings

DynamicStandbySettings

Optional settings to control dynamic adjustment of standby target. If not specified, dynamic standby is disabled

MaxServers

number

The maximum number of multiplayer servers for the region.

MultiplayerServerCountPerVm

number

Regional override for the number of multiplayer servers to host on a single VM of the build.

Region

AzureRegion

The build region.

ScheduledStandbySettings

ScheduledStandbySettings

Optional settings to set the standby target to specified values during the supplied schedules

StandbyServers

number

The number of standby multiplayer servers for the region.

VmSize

AzureVmSize

Regional override for the VM size the build was created on.

ContainerFlavor

Name Type Description
CustomLinux

string

Invalid

string

ManagedWindowsServerCore

string

ManagedWindowsServerCorePreview

string

CreateBuildWithProcessBasedServerRequest

Creates a multiplayer server build with the game server running as a process and returns information about the build creation request.

Name Type Description
AreAssetsReadonly

boolean

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.

BuildName

string

The build name.

CustomTags

object

The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).

GameAssetReferences

AssetReferenceParams[]

The list of game assets related to the build.

GameCertificateReferences

GameCertificateReferenceParams[]

The game certificates for the build.

GameSecretReferences

GameSecretReferenceParams[]

The game secrets for the build.

GameWorkingDirectory

string

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.

InstrumentationConfiguration

InstrumentationConfiguration

The instrumentation configuration for the Build. Used only if it is a Windows Build.

IsOSPreview

boolean

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.

LinuxInstrumentationConfiguration

LinuxInstrumentationConfiguration

The Linux instrumentation configuration for the Build. Used only if it is a Linux Build.

Metadata

object

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

MonitoringApplicationConfiguration

MonitoringApplicationConfigurationParams

The configuration for the monitoring application on the build

MultiplayerServerCountPerVm

number

The number of multiplayer servers to host on a single VM.

OsPlatform

OsPlatform

The OS platform used for running the game process.

Ports

Port[]

The ports to map the build on.

RegionConfigurations

BuildRegionParams[]

The region configurations for the build.

StartMultiplayerServerCommand

string

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.

VmSize

AzureVmSize

The VM size to create the build on.

VmStartupScriptConfiguration

VmStartupScriptParams

The configuration for the VmStartupScript for the build

CreateBuildWithProcessBasedServerResponse

Name Type Description
AreAssetsReadonly

boolean

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.

BuildId

string

The guid string build ID. Must be unique for every build.

BuildName

string

The build name.

ContainerFlavor

ContainerFlavor

The flavor of container of the build.

CreationTime

string

The time the build was created in UTC.

GameAssetReferences

AssetReference[]

The game assets for the build.

GameCertificateReferences

GameCertificateReference[]

The game certificates for the build.

GameSecretReferences

GameSecretReference[]

The game secrets for the build.

GameWorkingDirectory

string

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.

InstrumentationConfiguration

InstrumentationConfiguration

The instrumentation configuration for this build.

IsOSPreview

boolean

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.

LinuxInstrumentationConfiguration

LinuxInstrumentationConfiguration

The Linux instrumentation configuration for this build.

Metadata

object

The metadata of the build.

MonitoringApplicationConfiguration

MonitoringApplicationConfiguration

The configuration for the monitoring application for the build

MultiplayerServerCountPerVm

number

The number of multiplayer servers to host on a single VM of the build.

OsPlatform

OsPlatform

The OS platform used for running the game process.

Ports

Port[]

The ports the build is mapped on.

RegionConfigurations

BuildRegion[]

The region configuration for the build.

ServerType

ServerType

The type of game server being hosted.

StartMultiplayerServerCommand

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.

UseStreamingForAssetDownloads

boolean

When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to disc.

VmSize

AzureVmSize

The VM size the build was created on.

VmStartupScriptConfiguration

VmStartupScriptConfiguration

The configuration for the VmStartupScript feature for the build

CurrentServerStats

Name Type Description
Active

number

The number of active multiplayer servers.

Propping

number

The number of multiplayer servers still downloading game resources (such as assets).

StandingBy

number

The number of standingby multiplayer servers.

Total

number

The total number of multiplayer servers.

DynamicStandbySettings

Name Type Description
DynamicFloorMultiplierThresholds

DynamicStandbyThreshold[]

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%

IsEnabled

boolean

When true, dynamic standby will be enabled

RampDownSeconds

number

The time it takes to reduce target standing by to configured floor value after an increase. Defaults to 30 minutes

DynamicStandbyThreshold

Name Type Description
Multiplier

number

When the trigger threshold is reached, multiply by this value

TriggerThresholdPercentage

number

The multiplier will be applied when the actual standby divided by target standby floor is less than this value

GameCertificateReference

Name Type Description
GsdkAlias

string

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.

Name

string

The name of the game certificate. This name should match the name of a certificate that was previously uploaded to this title.

GameCertificateReferenceParams

Name Type Description
GsdkAlias

string

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.

Name

string

The name of the game certificate. This name should match the name of a certificate that was previously uploaded to this title.

GameSecretReference

Name Type Description
Name

string

The name of the game secret. This name should match the name of a secret that was previously added to this title.

GameSecretReferenceParams

Name Type Description
Name

string

The name of the game secret. This name should match the name of a secret that was previously added to this title.

InstrumentationConfiguration

Name Type Description
IsEnabled

boolean

Designates whether windows instrumentation configuration will be enabled for this Build

ProcessesToMonitor

string[]

This property is deprecated, use IsEnabled. The list of processes to be monitored on a VM for this build. Providing processes will turn on performance metrics collection for this build. Process names should not include extensions. If the game server process is: GameServer.exe; then, ProcessesToMonitor = [ GameServer ]

LinuxInstrumentationConfiguration

Name Type Description
IsEnabled

boolean

Designates whether Linux instrumentation configuration will be enabled for this Build

MonitoringApplicationConfiguration

Name Type Description
AssetReference

AssetReference

Asset which contains the monitoring application files and scripts.

ExecutionScriptName

string

Execution script name, this will be the main executable for the monitoring application.

InstallationScriptName

string

Installation script name, this will be run before the ExecutionScript.

OnStartRuntimeInMinutes

number

Timespan the monitoring application will be kept alive when running from the start of the VM

MonitoringApplicationConfigurationParams

Name Type Description
AssetReference

AssetReferenceParams

Asset which contains the monitoring application files and scripts.

ExecutionScriptName

string

Execution script name, this will be the main executable for the monitoring application.

InstallationScriptName

string

Installation script name, this will be run before the ExecutionScript.

OnStartRuntimeInMinutes

number

Timespan the monitoring application will be kept alive when running from the start of the VM

OsPlatform

Name Type Description
Linux

string

Windows

string

Port

Name Type Description
Name

string

The name for the port.

Num

number

The number for the port.

Protocol

ProtocolType

The protocol for the port.

ProtocolType

Name Type Description
TCP

string

UDP

string

Schedule

Name Type Description
Description

string

A short description about this schedule. For example, "Game launch on July 15th".

EndTime

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.

IsDisabled

boolean

Disables the schedule.

IsRecurringWeekly

boolean

If true, the StartTime and EndTime will get renewed every week.

StartTime

string

The date and time in UTC at which the schedule starts.

TargetStandby

number

The standby target to maintain for the duration of the schedule.

ScheduledStandbySettings

Name Type Description
IsEnabled

boolean

When true, scheduled standby will be enabled

ScheduleList

Schedule[]

A list of non-overlapping schedules

ServerType

Name Type Description
Container

string

Process

string

VmStartupScriptConfiguration

Name Type Description
PortRequests

VmStartupScriptPortRequest[]

Optional port requests (name/protocol) that will be used by the VmStartupScript. Max of 5 requests.

VmStartupScriptAssetReference

AssetReference

Asset which contains the VmStartupScript script and any other required files.

VmStartupScriptParams

Name Type Description
PortRequests

VmStartupScriptPortRequestParams[]

Optional port requests (name/protocol) that will be used by the VmStartupScript. Max of 5 requests.

VmStartupScriptAssetReference

AssetReferenceParams

Asset which contains the VmStartupScript script and any other required files.

VmStartupScriptPortRequest

Name Type Description
Name

string

The name for the port.

Protocol

ProtocolType

The protocol for the port.

VmStartupScriptPortRequestParams

Name Type Description
Name

string

The name for the port.

Protocol

ProtocolType

The protocol for the port.

Error Codes

Name Code
APINotEnabledForGameClientAccess 1082
MultiplayerServerBadRequest 1382
MultiplayerServerConflict 1386
MultiplayerServerForbidden 1384
MultiplayerServerInternalServerError 1387
MultiplayerServerTitleQuotaCoresExceeded 1445
MultiplayerServerUnauthorized 1383
MultiplayerServerUnavailable 1388