The performance of your Arma Reforger server depends mainly on the server FPS, the view distances, the number of AI units and the installed mods. In this guide, we'll show you which settings you can adjust for this in the dashboard and in config.json.
Limit server FPS
The server FPS value determines how many times per second your server simulates the game world. Bohemia Interactive strongly recommends limiting the server FPS to a value between 60 and 120 – without a limit, the server can try to use all available resources.
-
Open dashboard
Open the dashboard of your server. -
Open settings
Navigate to the Settings. -
Enter max FPS
Enter a value between60and120in the Max FPS field. The default is120. -
Restart the server
Save the setting and restart your server.
Measure performance
With the [Advanced] Log FPS Interval field, your server regularly writes a line with performance values to the console and to the server log. This lets you check whether your changes have an effect.
-
Open dashboard
Open the dashboard of your server. -
Open settings
Navigate to the Settings. -
Enter interval
In the [Advanced] Log FPS Interval field, enter after how many seconds a new line should be written, e.g.60for once per minute. With0, the output is disabled. -
Restart the server
Save the setting and restart your server.
Values of the performance statistics
| Value | Meaning |
|---|---|
FPS |
Current server FPS |
frame time |
Average (avg), minimum (min) and maximum (max) time the server needs for one frame |
Mem |
Current memory usage in kilobytes as reported internally by the server |
Player |
Number of players on the server |
AI |
Number of AI units currently spawned on the server |
Veh |
The number in parentheses is the number of vehicles currently spawned on the server |
Adjust view distances in config.json
Under gameProperties in config.json, you define the view distances of your server. Lower values for serverMaxViewDistance and networkViewDistance can reduce the load on your server, as fewer objects are transferred to the players. Keep in mind that objects outside the networkViewDistance are not transferred to the players.
| Entry | Range | EmeraldHost default | Description |
|---|---|---|---|
serverMaxViewDistance |
500 – 10000 | 2500 |
Maximum view distance on the server |
networkViewDistance |
500 – 5000 | 1000 |
Maximum range in which objects are transferred to the players over the network |
serverMinGrassDistance |
0 or 50 – 150 | 50 |
Minimum grass distance in meters that is forced on the players. With 0, no distance is forced. |
-
Stop the server
Stop your server via the dashboard. -
Connect via SFTP
Connect to your server via SFTP. -
Open config.json
Open the fileconfig.jsonin the root directory and find the"gameProperties"section inside"game". -
Adjust values
Adjust the desired values:"gameProperties": { "serverMaxViewDistance": 2000, "serverMinGrassDistance": 50, "networkViewDistance": 1000, ... }...stands for the remaining unchanged entries. Only change the numbers and leave the other entries in"gameProperties"unchanged. -
Start the server
Save the file and start your server.
Limit the number of AI units
Many AI units significantly increase the load on your server. With the aiLimit entry in the "operating" section, you set an upper limit. Once it is reached, no further AI units can be spawned. By default, no limit is set.
Disable navmesh streaming (optional)
The AI uses a so-called navmesh to move across the map. By default, the server loads this navmesh piece by piece. If you disable streaming, the server loads the entire navmesh into memory. This provides slightly better server performance and faster reactions of moving AI units.
-
Stop the server
Stop your server via the dashboard. -
Connect via SFTP
Connect to your server via SFTP. -
Open config.json
Open the fileconfig.jsonin the root directory. -
Disable navmesh streaming
Add the"operating"section at the top level after the"game"section. To do this, put a comma after the closing bracket of"game":"game": { ... }, "operating": { "disableNavmeshStreaming": [] }...stands for the remaining unchanged entries. If the"operating"section already exists, only add the line"disableNavmeshStreaming": []there.Value Effect Entry not present Navmesh streaming is active (default) []Navmesh streaming is disabled for all navmeshes ["Soldiers", "BTRlike"]Navmesh streaming is only disabled for the listed navmeshes -
Start the server
Save the file and start your server.
Reduce mods
Every mod increases the load on your server. Mods that add many objects, vehicles or AI units in particular affect performance. Therefore, only use the mods you really need and remove entries you no longer need from the "mods" section – stop your server beforehand. You can find out how to manage mods under Add Mods.
