Mission HTTP Download – Arma 3

From Bohemia Interactive Community


When missionHTTPDownloadBaseURL is configured in the server config, clients will attempt to download mission files via HTTP from the specified base URL instead of receiving them directly from the game server. If the download fails or the file hash does not match, the client automatically falls back to downloading the mission from the game server.

Configuration

The parameter value must be a base URL to which the mission filename will be appended. The URL must start with http:// or https:// and must end with / or =.

The standard in-game mission transfer is limited to 300 MiB. HTTP download supports mission files up to 512 MiB.
missionHTTPDownloadBaseURL = "https://example.com/missionfiles/";

Examples of valid values:

  • https://example.com/missionfiles/
  • http://example.com/missionfiles?download=

The client constructs the full download URL by appending the mission filename to the base URL:

  • https://example.com/missionfiles/missionname.Altis.pbo
  • http://example.com/missionfiles?download=missionname.Altis.pbo

HTTP Request

Clients send a GET request to the constructed URL with the following headers:

Header Description
Accept Always */*
Accept-Encoding Always gzip
Expected-Size Size of the mission file in bytes, as found in the server's mpmissions folder. The server determines this value and the client forwards it in the request.
Mission-File-Name Mission filename without extension, as found in the server's mpmissions folder
Mission-Hash Expected CRC32/BZIP2 (MSB-first) hash of the mission file
🏗
This article is a work in progress! Reason: The hashing algorithm may be replaced in a future version.
Player-Name Client profile name, Base64-encoded
Player-Steamid Client's SteamID64
Server-Address The server address the client connected to, in ip:port format (e.g. 192.0.2.1:2302). In non-standard network setups such as VPN tunnels, this may differ from the server's actual network address.
User-Agent Always starts with BIGameEngine/, followed by the client's game version

Example Request Headers

Accept: */*
Accept-Encoding: gzip
Expected-Size: 1951592
Host: example.com
Mission-File-Name: missionname.Altis
Mission-Hash: 2852136129
Player-Name: UmFic2N1dHRsZQ==
Player-Steamid: 76561197960287930
Server-Address: 192.0.2.1:2302
User-Agent: BIGameEngine/2.20.153752

Redirects

HTTP redirects are supported. This allows, for example, generating a pre-signed public link to a mission file hosted on Amazon S3 and redirecting the client to it.

Fallback Behaviour

If the download fails for any reason, or if the hash of the downloaded file does not match the hash of the mission file on the server, the client will automatically fall back to receiving the mission file directly from the game server.

See Also