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 |
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 |
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 |
The game certificates for the build. |
||
GameSecretReferences |
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 |
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 |
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 |
The configuration for the monitoring application on the build |
||
OsPlatform |
The OS platform used for running the game process. |
||
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 |
|
Create |
Creates a multiplayer server build with the game server running as a process and returns information about the build creation request. |
Create |
|
Current |
|
Dynamic |
|
Dynamic |
|
Game |
|
Game |
|
Game |
|
Game |
|
Instrumentation |
|
Linux |
|
Monitoring |
|
Monitoring |
|
Os |
|
Port | |
Protocol |
|
Schedule | |
Scheduled |
|
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 |
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 |
The list of game assets related to the build. |
|
GameCertificateReferences |
The game certificates for the build. |
|
GameSecretReferences |
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 |
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 |
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 |
The configuration for the monitoring application on the build |
|
MultiplayerServerCountPerVm |
number |
The number of multiplayer servers to host on a single VM. |
OsPlatform |
The OS platform used for running the game process. |
|
Ports |
Port[] |
The ports to map the build on. |
RegionConfigurations |
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 |
The VM size to create the build on. |
|
VmStartupScriptConfiguration |
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 |
The flavor of container of the build. |
|
CreationTime |
string |
The time the build was created in UTC. |
GameAssetReferences |
The game assets for the build. |
|
GameCertificateReferences |
The game certificates for the build. |
|
GameSecretReferences |
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 |
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 |
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. |
|
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 |
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. |
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 |
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 |
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 |