Architect Agent ships with default download settings that work straight out of the box on any supported hardware configuration. If your system exceeds the minimal system requirements and you want to optimize download speeds, you can make adjustments to the default values.
All configuration changes are made in the `config.toml` within your Architect Agent installation directory.
General information
Steam downloads files arranged in `chunks`. These chunks are mostly 1 MiB in size and are compressed and encrypted when being downloaded. The Agent is downloading all chunks required and dynamically decompressing and decrypting them, to be re-assambled as an entire file on your local system.
Architect Agent prioritizes file downloads with large amount of chunks eg. large files when downloading and these will be downloaded faster to how the decryption process works. However this is not indicative of actual download speed.
The download speed reporting in the Architect Manager interface reports the actual transfer rate from Steam onto your local system. This includes this decompression and decryption phase. So the effective download rate will not perfectly match up with your systems theoretical download capacity.
Bits vs Bytes
Server providers and ISPs will disclose your download speed capacity as 1) a theoretical capacity 2) in bits per second. Files are stored on disk as bytes. 1 bit is 8 bytes. So a download speed of 100 Megabit/s results in an effective theoretical download speed of 12.5 Megabyte/s. Under real world scenarios you can however only very rarely access the entire theoretical bandwidth assigned to your system.
Additionally, Steam does not store their files in Megabytes, but rather Mibibytes which is basically means that they divide the amount of bytes in a file by 1024 instead of 1000. Architect does the same.
Configuration parameters
[steam_servers]
chunk_download_timeout = 60
disable_buffered_download = false
download_batch_size = 60
max_downloads_per_cdn = 8
reinclusion_period = 1
repopulation_cycle = 24
use_http2 = true
The average download speed with default settings is ~ 20 MiB/s
chunk_download_timeout
This value corresponds to the network timeout allowed per chunk downloaded. In countries with no primary Steam CDN or cache, or unreliable network connectivity, this value should remain on its default. Otherwise it can be lowered to 10 seconds. We do not recommend going below 5 seconds at any time.
disable_buffered_download
This is one of the most important configurations and it decides how temporary files are assembled. `Buffered download` stands for `keep everything in memory, until the entire file can be written to disk`. This is the default mode and sufficient in most cases. However this requires a larger amount of free RAM on your system. The largest downloaded file must have free space in your memory.
`false` enables this functionality, `true` disables it. If you have 8 GB or more in free resident RAM, it is recommended to have this function enabled.
download_batch_size
The batch size decides how many chunks are downloaded in parallel. The default settings means that 60 chunks are downloaded in parallel. Increasing this value means that your network is downloading more data, decompresses and decrypts more chunks which increases CPU usage. We generally recommend a trial and error approach to verify your workload on the system is not impacted by the rise in download parallelization. The maximum recommended amount is 300.
max_downloads_per_cdn
This value decides how many parallel downloads are made per Steam CDN / cache server. If you are in a country with many Steam CDNs / caches, you can increase that value. The maximum recommended amount is 16 before you might hit rate limits from Steam.
reinclusion_period
Architect Agent populates a list of available Steam CDN and caches in your region. If a download error occurs 3 times in a row, a server is excluded for a certain amount of time in hours. This parameter defines how long this duration is.
repopulation_cycle
This value defines the interval in hours in which available Steam CDN and caches are updated internally.
use_http2
HTTP2 is a protocol that keeps connections to Steam servers open for longer periods in order to cut down on connection times. This is useful when downloading multiple chunks in parallel from the same Steam CDN / cache. By default this setting is enabled.
- Russia
- China
and must be explicitly disabled.
Optimized configuration for average hardware based on hardware survey
The optimal configuration parameters for the average server located in a primary Steam region like USA or central Europe with following specifications:
- 8 cores / 16 threads with 3.5 GHz base clockspeed and up to 5.0 GHz boost
- 64 GB of memory
- 1000 Mbit/s network bandwidth
[steam_servers]
chunk_download_timeout = 5
disable_buffered_download = true
download_batch_size = 200
max_downloads_per_cdn = 16
reinclusion_period = 1
repopulation_cycle = 12
use_http2 = true
The average download speed with these settings is ~ 100 MiB/s