Multiplayer Server - Create Build With Custom Container
Creates a multiplayer server build with a custom container.
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
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 |
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
Name | Type | Description |
---|---|---|
CustomLinux |
string |
|
Invalid |
string |
|
ManagedWindowsServerCore |
string |
|
ManagedWindowsServerCorePreview |
string |
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
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 |
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 |
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
Name | Type | Description |
---|---|---|
Container |
string |
|
Process |
string |
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 |