Multiplayer Server - Create Build With Custom Container
Creates a multiplayer server build with a custom container.
Allowed entity token types: title
POST https://titleId.playfabapi.com/MultiplayerServer/CreateBuildWithCustomContainer
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. |
| 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 |
The region configurations for the build. |
|
| 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. |
|
| ContainerFlavor |
The flavor of container to create a build from. |
||
| ContainerImageReference |
The container reference, consisting of the image name and tag. |
||
| ContainerRunCommand |
string |
The container command to run when the multiplayer server has been allocated, including any arguments. |
|
| CustomTags |
object |
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). |
|
| GameAssetReferences |
The list of game assets related to the build. |
||
| GameCertificateReferences |
The game certificates for the build. |
||
| GameSecretReferences |
The game secrets for the build. |
||
| LinuxInstrumentationConfiguration |
The Linux instrumentation configuration for the 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 |
The configuration for the monitoring application on the build |
||
| ServerResourceConstraints |
The resource constraints to apply to each server on the VM (EXPERIMENTAL API) |
||
| VmSize |
The VM size to create the build on. |
||
| VmStartupScriptConfiguration |
The configuration for the VmStartupScript for the build |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK | ||
| 400 Bad Request |
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 |
|---|---|
|
Api |
The basic wrapper around every failed API response |
|
Asset |
|
|
Asset |
|
|
Azure |
|
|
Azure |
|
|
Build |
|
|
Build |
|
|
Container |
|
|
Container |
|
|
Create |
Creates a multiplayer server build with a custom container and returns information about the build creation request. |
|
Create |
|
|
Current |
|
|
Dynamic |
|
|
Dynamic |
|
|
Game |
|
|
Game |
|
|
Game |
|
|
Game |
|
|
Linux |
|
|
Monitoring |
|
|
Monitoring |
|
|
Os |
|
| Port | |
|
Protocol |
|
| Schedule | |
|
Scheduled |
|
|
Server |
|
|
Server |
|
|
Vm |
|
|
Vm |
|
|
Vm |
|
|
Vm |
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
| Value | Description |
|---|---|
| AustraliaEast | |
| AustraliaSoutheast | |
| BrazilSouth | |
| CentralUs | |
| EastAsia | |
| EastUs | |
| EastUs2 | |
| JapanEast | |
| JapanWest | |
| NorthCentralUs | |
| NorthEurope | |
| SouthCentralUs | |
| SoutheastAsia | |
| WestEurope | |
| WestUs | |
| SouthAfricaNorth | |
| WestCentralUs | |
| KoreaCentral | |
| FranceCentral | |
| WestUs2 | |
| CentralIndia | |
| UaeNorth | |
| UkSouth | |
| SwedenCentral | |
| CanadaCentral | |
| MexicoCentral |
AzureVmSize
| Value | Description |
|---|---|
| Standard_A1 | |
| Standard_A2 | |
| Standard_A3 | |
| Standard_A4 | |
| Standard_A1_v2 | |
| Standard_A2_v2 | |
| Standard_A4_v2 | |
| Standard_A8_v2 | |
| Standard_D1_v2 | |
| Standard_D2_v2 | |
| Standard_D3_v2 | |
| Standard_D4_v2 | |
| Standard_D5_v2 | |
| Standard_D2_v3 | |
| Standard_D4_v3 | |
| Standard_D8_v3 | |
| Standard_D16_v3 | |
| Standard_F1 | |
| Standard_F2 | |
| Standard_F4 | |
| Standard_F8 | |
| Standard_F16 | |
| Standard_F2s_v2 | |
| Standard_F4s_v2 | |
| Standard_F8s_v2 | |
| Standard_F16s_v2 | |
| Standard_D2as_v4 | |
| Standard_D4as_v4 | |
| Standard_D8as_v4 | |
| Standard_D16as_v4 | |
| Standard_D2a_v4 | |
| Standard_D4a_v4 | |
| Standard_D8a_v4 | |
| Standard_D16a_v4 | |
| Standard_D2ads_v5 | |
| Standard_D4ads_v5 | |
| Standard_D8ads_v5 | |
| Standard_D16ads_v5 | |
| Standard_D2ads_v6 | |
| Standard_D4ads_v6 | |
| Standard_D8ads_v6 | |
| Standard_D16ads_v6 | |
| Standard_E2a_v4 | |
| Standard_E4a_v4 | |
| Standard_E8a_v4 | |
| Standard_E16a_v4 | |
| Standard_E2as_v4 | |
| Standard_E4as_v4 | |
| Standard_E8as_v4 | |
| Standard_E16as_v4 | |
| Standard_D2s_v3 | |
| Standard_D4s_v3 | |
| Standard_D8s_v3 | |
| Standard_D16s_v3 | |
| Standard_DS1_v2 | |
| Standard_DS2_v2 | |
| Standard_DS3_v2 | |
| Standard_DS4_v2 | |
| Standard_DS5_v2 | |
| Standard_NC4as_T4_v3 | |
| Standard_D2d_v4 | |
| Standard_D4d_v4 | |
| Standard_D8d_v4 | |
| Standard_D16d_v4 | |
| Standard_D2ds_v4 | |
| Standard_D4ds_v4 | |
| Standard_D8ds_v4 | |
| Standard_D16ds_v4 | |
| Standard_HB120_16rs_v3 | |
| Standard_HB120_32rs_v3 | |
| Standard_HB120_64rs_v3 | |
| Standard_HB120_96rs_v3 | |
| Standard_HB120rs_v3 | |
| Standard_D2d_v5 | |
| Standard_D4d_v5 | |
| Standard_D8d_v5 | |
| Standard_D16d_v5 | |
| Standard_D32d_v5 | |
| Standard_D2ds_v5 | |
| Standard_D4ds_v5 | |
| Standard_D8ds_v5 | |
| Standard_D16ds_v5 | |
| Standard_D32ds_v5 |
BuildRegion
| Name | Type | Description |
|---|---|---|
| CurrentServerStats |
The current multiplayer server stats for the region. |
|
| 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 |
The build region. |
|
| 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 |
Regional override for the VM size the build was created on. |
BuildRegionParams
| Name | Type | Description |
|---|---|---|
| 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 |
The build region. |
|
| 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 |
Regional override for the VM size the build was created on. |
ContainerFlavor
| Value | Description |
|---|---|
| ManagedWindowsServerCore | |
| CustomLinux | |
| ManagedWindowsServerCorePreview | |
| Invalid |
ContainerImageReference
| Name | Type | Description |
|---|---|---|
| ImageName |
string |
The container image name. |
| Tag |
string |
The container tag. |
CreateBuildWithCustomContainerRequest
Creates a multiplayer server build with a custom container 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. |
| ContainerFlavor |
The flavor of container to create a build from. |
|
| ContainerImageReference |
The container reference, consisting of the image name and tag. |
|
| ContainerRunCommand |
string |
The container command to run when the multiplayer server has been allocated, including any arguments. |
| CustomTags |
object |
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). |
| GameAssetReferences |
The list of game assets related to the build. |
|
| GameCertificateReferences |
The game certificates for the build. |
|
| GameSecretReferences |
The game secrets for the build. |
|
| LinuxInstrumentationConfiguration |
The Linux instrumentation configuration for the 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 |
The configuration for the monitoring application on the build |
|
| MultiplayerServerCountPerVm |
number |
The number of multiplayer servers to host on a single VM. |
| Ports |
Port[] |
The ports to map the build on. |
| RegionConfigurations |
The region configurations for the build. |
|
| ServerResourceConstraints |
The resource constraints to apply to each server on the VM (EXPERIMENTAL API) |
|
| VmSize |
The VM size to create the build on. |
|
| VmStartupScriptConfiguration |
The configuration for the VmStartupScript for the build |
CreateBuildWithCustomContainerResponse
| 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 |
The flavor of container of the build. |
|
| ContainerRunCommand |
string |
The container command to run when the multiplayer server has been allocated, including any arguments. |
| CreationTime |
string |
The time the build was created in UTC. |
| CustomGameContainerImage |
The custom game container image reference information. |
|
| GameAssetReferences |
The game assets for the build. |
|
| GameCertificateReferences |
The game certificates for the build. |
|
| GameSecretReferences |
The game secrets for the build. |
|
| LinuxInstrumentationConfiguration |
The Linux instrumentation configuration for this build. |
|
| Metadata |
object |
The metadata of the build. |
| 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 |
The OS platform used for running the game process. |
|
| Ports |
Port[] |
The ports the build is mapped on. |
| RegionConfigurations |
The region configuration for the build. |
|
| ServerResourceConstraints |
The resource constraints to apply to each server on the VM (EXPERIMENTAL API) |
|
| ServerType |
The type of game server being hosted. |
|
| UseStreamingForAssetDownloads |
boolean |
When true, assets will be downloaded and uncompressed in memory, without the compressedversion being written first to disc. |
| VmSize |
The VM size the build was created on. |
|
| 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 |
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. |
LinuxInstrumentationConfiguration
| Name | Type | Description |
|---|---|---|
| IsEnabled |
boolean |
Designates whether Linux instrumentation configuration will be enabled for this Build |
MonitoringApplicationConfiguration
| Name | Type | Description |
|---|---|---|
| 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 |
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
| Value | Description |
|---|---|
| Windows | |
| Linux |
Port
| Name | Type | Description |
|---|---|---|
| Name |
string |
The name for the port. |
| Num |
number |
The number for the port. |
| Protocol |
The protocol for the port. |
ProtocolType
| Value | Description |
|---|---|
| TCP | |
| UDP |
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 |
ServerResourceConstraintParams
| Name | Type | Description |
|---|---|---|
| CpuLimit |
number |
The maximum number of cores that each server is allowed to use. |
| MemoryLimitGB |
number |
The maximum number of GiB of memory that each server is allowed to use. WARNING: After exceeding this limit, the server will be killed |
ServerType
| Value | Description |
|---|---|
| Container | |
| Process |
VmStartupScriptConfiguration
| Name | Type | Description |
|---|---|---|
| PortRequests |
Optional port requests (name/protocol) that will be used by the VmStartupScript. Max of 5 requests. |
|
| VmStartupScriptAssetReference |
Asset which contains the VmStartupScript script and any other required files. |
VmStartupScriptParams
| Name | Type | Description |
|---|---|---|
| PortRequests |
Optional port requests (name/protocol) that will be used by the VmStartupScript. Max of 5 requests. |
|
| VmStartupScriptAssetReference |
Asset which contains the VmStartupScript script and any other required files. |
VmStartupScriptPortRequest
| Name | Type | Description |
|---|---|---|
| Name |
string |
The name for the port. |
| Protocol |
The protocol for the port. |
VmStartupScriptPortRequestParams
| Name | Type | Description |
|---|---|---|
| Name |
string |
The name for the port. |
| Protocol |
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 |