IP address to which the server socket will be bound. In most cases, this should be left empty.
It can be used to restrict connections to a particular network interface. When left out or empty, 0.0.0.0 is used, which allows connections through any IP address.
⚠
This entryshould generally be left out of server config to use default value and should only be set by experienced users with specific network needs.
IPv6 is not supported by Arma Reforger.
was gameHostBindAddress before 0.9.8.73
bindPort
number value, range 1..65535, default: 2001
UDP port to which the server socket will be bound.
⚠
This entry should generally be left out of server config so that it automatically uses same value as publicPort.
It should only be used by users with specific port forwarding needs.
was gameHostBindPort before 0.9.8.73
publicAddress
IP address registered in backend.
This should be set to the public IP address to which clients can connect in order to reach the server (either IP of the server itself or IP of the machine that will forward data to the server).
If the entry is missing or empty, then the public IP address will be automatically detected and used by the backend.
⚠
This entry should generally be left out of server config to let the server automatically detect and use its public address used to reach it from internet.
It is possible to use the "local" keyword to automatically detect the local address of the network card.
IPv6 is not supported by Arma Reforger.
was gameHostRegisterBindAddress before 0.9.8.73
publicPort
number value, range 1..65535, default: 2001
UDP port registered in backend. If the server itself has a public IP address, this should be the same value as in bindPort. Otherwise, this is the UDP port that is forwarded to the server.
The RCON Protocol is a UDP-based communication protocol that allows console commands to be issued to the server via a Remote CONsole, or RCON - see the rcon section below.
game
Define the server's settings - see the game section below.
⚠
Only one scenario can be defined - Arma Reforger does not allow for mission rotation as of v0.9.8.
The maximum number of clients that can connect to RCON at the same time.
ⓘ
RCON lacks client disconnect support, so when a user exits the RCON client, the server maintains the connection for an additional 30 seconds before a timeout removes the user from the list.
permission
string
Permission for all RCON clients.
Possible values:
Key
Value
admin
The admin can perform any command.
monitor
The monitor can only perform commands which do not change the server's state.
blacklist
array value, default []
A list of commands excluded from execution.
whitelist
array value, default []
If defined, it specifies the list of commands that can be executed, and no other command is allowed.
game
name
length 0..100 characters
password
length 0..x characters
Password required to join the server.
passwordAdmin
length: 0..x characters
Defines the server's admin password, allows a server administrator to login and control the server, to access this either open the chat input box by pressing C in the lobby or Enter ↵ in-game followed by: #login [the admin password]
If set to true, automatically adds "PLATFORM_PC", "PLATFORM_XBL" and "PLATFORM_PSN" to supportedPlatforms if they are missing; does nothing if set to false.
⚠
1.2.1"PLATFORM_PSN" is not added on modded servers.
supportedPlatforms
array value, default: ["PLATFORM_PC"]
Define the platforms which the server accepts, allowing crossplay.
Possible values:
Key
Value
PLATFORM_PC
PC
PLATFORM_XBL
Xbox console
PLATFORM_PSN
PlayStation console (since Arma Reforger 1.2.1.169)
Possible combinations:
PC
Xbox
PlayStation
Vanilla Server - PC
Vanilla Server - PC and Consoles
Modded Server - PC and Consoles
⚠
A vanilla server can only be PC or PC with all consoles; invalid combinations:
PC + Xbox (unless modded server)
PC + PlayStation
Xbox + PlayStation
Xbox
PlayStation
was supportedGameClientTypes before 0.9.8.73
gameProperties
Define the scenario's settings - see the gameProperties section below.
Overrides default value for required for all mods.
mods
The list of mods required by the client that will automatically be downloaded and activated on join.
It can be created by activating wanted mods in the Workshop and then, via the Mod manager, result can be converted to ready to be used string after navigating to JSON tab and then clicking on the Copy to clipboard button.
modID
GUID of the mod. Single GUID can be obtained from Workshop webpage
Alternatively you can grab it from Workbench options when mod is running or directly from gproj file
name
This parameter does not do anything and is only used as sort of comment, with human readable name of the mod.
version
ⓘ
The version mod parameter is optional. If it missing, the latest mod version will be used.
Is optional parameter to specify if this addon is required for server to start.
If set to false then addon will be automatically removed from list with warning in logs if it cannot be for some reason downloaded from the Workshop.
gameProperties
serverMaxViewDistance
number value, range 500..10000, default: 1600
serverMinGrassDistance
number value, range 0 / 50..150, default: 0
Minimum grass distance in meters. If set to 0 no distance is forced upon clients.
fastValidation
bool value, default: true (since 0.9.6)
Validation of map entities and components loaded on client when it joins, ensuring things match with initial server state.
true (enabled) - minimum information required to make sure data matches is exchanged between client. When a mismatch occurs, no additional information will be available for determining where client and server states start to differ. All servers that expect clients to connect over internet should have fast validation enabled.
false (disabled) - extra data for every replicated entity and component in the map will be transferred when new client connects to the server. When a mismatch occurs, it is possible to point at particular entity or component where things start to differ. When developing locally (ie. both server and client run on the same machine), it is fine to disable fast validation to more easily pin point source of the problem.
⚠
Always set this value to true for a public server!
networkViewDistance
number value, range 500..5000, default: 1500
Maximum network streaming range of replicated entities.
battlEye
bool value, default: true (since 0.9.8.73)
true to enable BattlEye, false to disable it.
disableThirdPerson
bool value, default: false
Force clients to use the first-person view.
VONDisableUI
bool value, default: false
Force clients to not have VON (Voice Over Network) UI.
VONDisableDirectSpeechUI
bool value, default: false
Force clients to not have VON (Voice Over Network) Direct Speech UI.
Option to allow players to transmit on other factions radios. true is allow to communicate, false is listen-only
missionHeader
This property overwrites the scenario's header, allowing to e.g change the scenario's displayed name:
"missionHeader":{"m_sName":"My Very Own Hosted Conflict","m_sDetails":"If you teamkill or commit war crimes, you WILL be banned!","m_iStartingHours":7,"m_iStartingMinutes":30,"m_bRandomStartingWeather":true}
"missionHeader":{"m_sName":"My Very Own Hosted Conflict","m_sAuthor":"Bohemia and I","m_sDescription":"Play Conflict here!","m_sDetails":"Here are the rules: have fun!","m_iPlayerCount":64,"m_bIsSavingEnabled":true,"m_sSaveFileName":"MyConflict_Save","m_sBriefingConfig":"{0123456789ABCDEF}Configs/MyBriefingConfig.conf","m_bOverrideScenarioTimeAndWeather":true,"m_iStartingHours":7,"m_iStartingMinutes":30,"m_bRandomStartingDaytime":false,"m_fDayTimeAcceleration":6,"m_fNightTimeAcceleration":12,"m_bRandomStartingWeather":true,"m_bRandomWeatherChanges":false,"m_fXpMultiplier":10,"m_bMapMarkerEnableDeleteByAnyone":false,"m_iMapMarkerLimitPerPlayer":99}
m_sName: scenario name
m_sAuthor: scenario author
m_sDescription: brief description of this scenario's purpose
m_sDetails: detailed description of this scenario (i.e. rules)
m_iPlayerCount: The count of players for this scenario
m_bIsSavingEnabled: enable saving scenario state
m_sSaveFileName: name of save file for this scenario; when undefined, the name of associated world file will be used
m_sBriefingConfig: configuration file for briefing screen
m_bOverrideScenarioTimeAndWeather: if the scenario allows it, its daytime and weather will use values from this header
m_iStartingHours: starting time of day (hours)
m_iStartingMinutes: starting time of day (minutes)
m_bRandomStartingDaytime: randomise the start time (overrides above parameters)
m_fDayTimeAcceleration: time acceleration during the day (1 = 100%, 2 = 200% etc)
m_fNightTimeAcceleration: time acceleration during the night (1 = 100%, 2 = 200% etc)
m_bRandomStartingWeather: the weather is randomised on start
m_bRandomWeatherChanges: weather can change during gameplay
m_fXpMultiplier: player XP multiplier (when enabled in gamemode; 1 for default)
m_bMapMarkerEnableDeleteByAnyone: determines whether map markers can be deleted only by player who placed them or by anyone within faction
m_iMapMarkerLimitPerPlayer: how many map markers per player can exist at a time
A disabled navmesh streaming loads the entire navmesh in memory - this provides slightly better server performance and reaction times of moving AIs at the cost of a bigger memory footprint (up to hundreds of MB depending on the terrain) - see 2024-07-07 Modding Update
1.0.0 If set to true, navmesh streaming is disabled on all navmesh components
1.2.0 If not provided, no navmesh streaming is disabled; if provided empty, streaming of all navmeshes is disabled; if filled, only disables provided navmeshes's streaming
If enabled, the server will not automatically shutdown if connection to backend is lost.
Related to room requests errors - other causes like corrupted config will still shutdown the server.
Sets the duration (in seconds) for how long will the backend and server reserve a slot for kicked player.
It is considered disabled when set to the minimal value, the value being the same as for a normal disconnect.
OnPlayerAuditTimeouted(int iPlayerID)// invoked when player did not reconnect in timeOnPlayerAuditRevived(int iPlayerID)// invoked when player successfully reconnected in time