The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Arma Reforger server settings are normally loaded from one JSON file passed with the -config launch parameter. In a self-hosted installation, that file controls the bind address and port, public registration, server name, passwords, scenario, player limit, view distance, voice and anti-cheat options, AI limits, and save timing. The safest workflow is to copy the configuration generated by your own server build, change only the keys it already contains, validate the JSON, and then test reachability from outside your network.
Prefer not to run the server on your own PC? Godlike.Host offers hosted Arma Reforger servers with free DDoS protection and up to three free backups a day.
There is no surfaced official Bohemia Interactive schema reference for these settings. Community guides disagree about filenames, nesting, defaults, ports, protocol, and even key casing. Treat the values below as community-reported examples, not universal defaults; your generated file and your installed build take precedence.
As an Amazon Associate I earn from qualifying purchases.
Free tools Windows power users keep installed
One-click scans. No signup required.
What Arma Reforger config.json controls
The configuration file is read when the dedicated server starts. The launch command tells the server which JSON file to load:
-config /path/to/config.json
One community guide calls the file config.json; another calls it server.json. The filename is not reliable across distributions, containers, host panels, or game versions. Look at the file supplied with your installation and at the command line used by the service. If the command points to server.json, renaming it to config.json without changing the command will not help.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Most examples divide settings into four logical areas:
- Network: local bind address, game port, public address, public port, region, query listener and remote administration.
- Game: server name, player password, administrator password, scenario, player limit, cross-platform visibility and browser visibility.
- gameProperties: view distance, grass distance, third-person rules, validation and voice settings.
- operating: player-save timing, AI limits and reservation timeouts.
These labels describe the settings conceptually. Exact nesting is build-dependent. A file that starts successfully is not proof that every key was accepted: an unknown key can be ignored while the server continues with a default.
Before you edit the file
- Stop the server. Editing while the process is running can be overwritten on shutdown, and a restart is required for most values to take effect.
- Make a dated backup. Keep the last known-good JSON and the generated file from the current build. A copy such as
config-working-2026-10-14.jsonmakes rollback straightforward. - Find the command line. Confirm the path after
-config, and note whether the service also supplies-bindIP,-bindPort,-serveror-adminPassword. A launch flag can override the file. - Inspect the generated schema. Preserve the key names, capitalization and nesting used by the file created by your server. Do not blindly merge two guides aimed at different releases.
- Validate JSON syntax. JSON does not allow comments, trailing commas or duplicate keys. Use a local JSON validator or your editor’s JSON checker before starting the service.
- Change one group at a time. Test network changes separately from gameplay changes so a failed restart has an obvious cause.
Arma Reforger config.json example
The following is an illustrative starting point assembled from commonly reported keys. It is valid JSON, but it is not an official template. Your build may require different nesting, additional required fields or different names. Keep only keys that appear in the file generated for your version.
{"bindAddress":"","bindPort":2001,"publicAddress":"","publicPort":2001,"region":"EU","game":{"name":"My Reforger Server","password":"","passwordAdmin":"change-this-admin-password","scenarioId":"{GUID}Missions/Example.conf","maxPlayers":64,"crossPlatform":true,"visible":true,"gameProperties":{"serverMaxViewDistance":1600,"serverMinGrassDistance":50,"networkViewDistance":1000,"disableThirdPerson":false,"fastValidation":true,"battlEye":true},"operating":{"playerSaveTime":120,"aiLimit":-1,"slotReservationTimeout":60}}}
In this example, an empty bindAddress asks the server to listen on all interfaces, while an empty publicAddress leaves public-address detection enabled. The numbers are reported examples, not guarantees. One guide places operating at the root rather than inside game; follow the structure already present in your generated file.
Network settings: make the server reachable
Network mistakes are the most common reason a server starts but cannot be found or joined. Change the JSON and the host firewall or router rules as one change set.
bindAddress
bindAddress selects the local interface. Community references describe an empty value as equivalent to 0.0.0.0, meaning all available interfaces. That is useful on a machine with one public network interface or several interfaces where you do not need to restrict traffic. Set a specific private address only when you deliberately want to bind to one interface, such as a dedicated game NIC. Binding to an address that is not assigned to the host prevents startup or leaves the listener unavailable.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
bindPort
bindPort is the game listener. One guide reports UDP port 2001 as the default; another uses 2302 as an example, and managed hosts often assign a different port. The commonly stated valid range is 1 through 65535, but a port being numerically valid does not make it available on your machine. Pick an unused port, open the same protocol in the host firewall, and forward that port from the router when the server is behind NAT.
publicAddress and publicPort
publicAddress is the address registered with the backend and is commonly auto-detected. Leave it automatic unless the server advertises the wrong interface, private address or multi-homed route. publicPort is the port other players should use. On a self-hosted setup where the internal and external ports are identical, change bindPort and publicPort together. If your NAT maps an external port to a different internal port, use the externally reachable value for publicPort and the local listener for bindPort, provided your build supports that arrangement.
Region
Community examples list EU, US, AS, AU, SA and AF. Choose the region containing most players rather than the physical location of an occasional administrator. Region selection affects listing and matchmaking metadata; it does not replace firewall or port forwarding.
Query and RCON listeners
Server browsers may poll an A2S query listener. One guide reports UDP port 17777 for that listener. Do not assume the game port and query port are interchangeable; check the generated file and your host’s panel before opening another port.
Remote administration is less settled. Community documentation reports BattlEye RCON on UDP 19999 in one setup, port 2312 in another, while a Docker-oriented document describes RCON over TCP. Because both port and protocol conflict, copy the RCON block from your build’s generated configuration, open only the specified protocol, and test with the matching RCON client. Never expose an RCON port with a blank or reused administrator password.
| Setting | Reported value or behavior | What to verify |
|---|---|---|
bindAddress |
Empty value commonly resolves to all interfaces | The address exists on the host and is intended for public listening |
bindPort |
2001 UDP in one guide; 2302 used as an example elsewhere | Build-specific port, firewall rule, router forwarding and collisions |
publicAddress |
Auto-detected unless overridden | Advertised address is reachable from the internet |
publicPort |
External registration port; may match bindPort |
NAT mapping and listing behavior |
| A2S query | 17777 UDP in one community reference | Exact key and protocol in your version |
| RCON | 19999 UDP, 2312, or TCP are all reported by different guides | Protocol, port and password from your generated file |
Game settings: identity, access and capacity
name
name is the browser-facing server name. Keep it descriptive and avoid placing passwords, private addresses or misleading region claims in the name. After changing it, restart the server and refresh the browser; cached listings can take time to update.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
password
password protects player access. An empty string is commonly used for a public server. Use a separate player password when you want a private session, and distribute it through a trusted channel. Do not use the administrator password as the player password.
passwordAdmin
passwordAdmin is the administrator credential used by administrative features. Community instructions conflict: one says it must contain no spaces, while another recommends at least three characters. Use a long, unique value without spaces unless your own build explicitly documents otherwise, and do not commit it to a shared repository or paste it into a public support request. If your host offers a secret field or environment variable, use that instead of a world-readable JSON file.
scenarioId
The reported format is {GUID}Missions/Name.conf. The GUID and mission path must match a scenario installed on the server. A typo can produce a startup error, a fallback scenario or a server that appears online but cannot create a session. Copy the identifier from the scenario file or from the generated configuration rather than retyping it.
maxPlayers
One community reference reports a default of 64 and a range of 1 to 128. Treat both figures as build-specific. Set a value your CPU, memory, bandwidth and mission can sustain; raising the slot count increases the possible simulation and network load even when the server is empty. If a host panel imposes a lower allocation, the panel or launch command may override the JSON value.
crossPlatform and visible
crossPlatform is commonly shown as a Boolean that enables cross-platform participation. visible controls whether the server is listed publicly. A hidden server can still be reachable by direct connection if the network path is open, while a visible server still needs correct public address, port and backend registration.
gameProperties: performance and rules
gameProperties is shown nested inside game in several community templates. It groups simulation and presentation rules rather than identity or networking.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallRank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
View and grass distances
serverMaxViewDistance is reported with a default of 1600 in one reference. serverMinGrassDistance and networkViewDistance also appear in examples. Larger distances increase what clients and the server must process; lower values can reduce load at the cost of visual range or detail. Do not copy a distance from a different hardware profile and assume it is safe. Change one distance, observe frame time and network behavior, then adjust.
Third-person and validation
disableThirdPerson is commonly used to enforce a first-person rule. fastValidation appears in community templates and changes validation behavior. Because these options can affect gameplay and compatibility, apply the values used by the scenario or community you intend to host rather than treating them as performance switches.
BattlEye and voice
A reported default for battlEye is true, and one guide advises leaving it enabled. Disabling anti-cheat changes the trust model and may prevent some players from joining. Other community examples include VON voice settings, but the exact key names and nesting are not consistent; retain the voice keys generated by your build instead of inventing a block from another version.
operating settings: saves, AI and reservations
playerSaveTime
playerSaveTime is reported with a 120-second default. It controls how often player state is saved in builds that expose this option. A shorter interval can reduce progress lost after a crash but may add disk activity; a longer interval reduces writes but increases potential loss. Confirm the unit and accepted range in the generated file before changing it.
aiLimit and AILimit
Reference guides use lowercase aiLimit and report -1 as no limit. A preset uses AILimit instead, demonstrating a casing conflict. JSON keys are case-sensitive in many parsers. If the generated file says AILimit, keep that exact casing; if it says aiLimit, use the lowercase form. Lower the limit on weaker hardware when AI load is the cause of simulation slowdown. A value of -1 should not be assumed to mean unlimited unless your build accepts it.
slotReservationTimeout
One reference reports a default of 60 seconds and an accepted range of 5 to 300 seconds. This value determines how long a reserved slot is held before it becomes available again. Increase it only when players routinely need more time to connect; an excessive timeout can leave capacity apparently unavailable.
Best Value
Launch parameters that can override config.json
The JSON file is only one source of settings. Community setup guides show these arguments alongside it:
| Parameter | Reported purpose | Operational note |
|---|---|---|
-config |
Path to the JSON configuration | Required in guides that use a file; verify the path and filename |
-maxFPS |
Caps the server process frame rate | Guides report defaults from 30 to 60; start conservatively and measure CPU use |
-profile |
Selects a profile or writable profile directory | Use a directory the service account can write |
-logStats |
Enables statistics logging in a sample launch line | Check disk growth and rotate logs |
-bindIP and -bindPort |
Override the address or port from the file | Command-line values win when both are supplied |
-server |
Launches a specific world | One guide says it bypasses -config; do not combine it casually with a file-based setup |
-adminPassword |
Supplies an administrator password at launch | Prefer a protected secret mechanism; avoid shared command histories and process listings |
A generic file-based launch pattern is:
-config /srv/reforger/config.json -profile /srv/reforger/profile -logStats -maxFPS 60
The executable name, quoting rules and path syntax depend on your operating system and service manager. Add -bindIP or -bindPort only when you intentionally want to override the JSON. If the server appears to ignore a changed port, inspect the actual process command before editing the file again.
Recommended Free Tools
Schema differences and version traps
Several guides warn that the schema changed around version 0.9.12. Older examples may show gameHostBindAddress and gameHostRegisterAddress; newer examples generally use bindAddress and publicAddress. Another guide shows a flat gameHostBindPort rather than root-level bindPort. These are not interchangeable spellings you should add simultaneously. Use the keys emitted by your installed build.
The same problem appears with nesting. One layout places gameProperties under game and puts operating at the root; another places operating settings inside the game object. Casing also varies for the AI limit. When upgrading, generate a fresh file, compare it with your backup, and migrate values field by field. Do not replace the whole file with a template written for another release.
Managed hosting versus self-hosting
Self-hosted machine
You control the JSON, firewall, router, operating-system permissions and process command. Open only the game, query and administration ports actually required by your build. Confirm that the service account can read the configuration and write its profile and log directories. Test from a separate internet connection; a local test can succeed even when NAT hairpinning or public firewall rules are wrong.
Managed server
Hosting panels commonly preconfigure bindAddress and bindPort. Community hosting instructions advise leaving those values alone unless support explicitly tells you to change them. A panel may generate the JSON on every restart, inject launch flags, or reserve ports outside the file. In that environment, change gameplay fields through the panel where possible and compare the resulting generated file after each save.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesTroubleshooting by symptom
The process exits immediately
- Validate the JSON for missing commas, trailing commas, unescaped backslashes or duplicate keys.
- Check that the path after
-configexists and that the service account can read it. - Compare the file’s nesting and key casing with a freshly generated file from the same build.
- Confirm that
scenarioIdpoints to an installed scenario and thatbindAddressis assigned on the machine.
The server starts but is not listed
- Confirm that
visibleis enabled and that the server has finished registration. - Verify
publicAddressandpublicPort; an auto-detected private interface can advertise an unreachable address. - Check the firewall, router forwarding and provider-level firewall for the actual game protocol and port.
- Look for a launch-time
-bindIPor-bindPortthat overrides the JSON.
Players can see the server but cannot join
- Ensure the forwarded external port matches
publicPortand reaches the localbindPort. - Check whether the server is password-protected and distribute the player password exactly.
- Verify that the scenario is installed and that the player count has not exceeded the host allocation.
- Test with the query listener separately; a working browser listing does not prove the game listener is reachable.
Performance degrades as players or AI increase
- Use
-maxFPSto cap unnecessary CPU consumption; guides report caps between 30 and 60, so measure rather than assuming one value is correct. - Lower
aiLimitor the exact casing used by your file when AI is the load source. - Reduce view, grass or network distances in
gamePropertiesone at a time. - Lower
maxPlayersif the hardware cannot sustain the advertised capacity.
RCON does not connect
- Confirm whether your build expects UDP or TCP; community documents disagree.
- Confirm the configured port rather than assuming 19999 or 2312.
- Check that BattlEye administration is enabled and that the password has no accidental whitespace.
- Open the port only to trusted administrator addresses where your firewall supports source restrictions.
A safe change procedure
- Record the current build version, launch command, file path and working ports.
- Copy the generated configuration and label the copy with the date.
- Change one related group, such as the game name and visibility, or the network address and port.
- Run a JSON syntax check and inspect for duplicate keys.
- Restart the server and read the startup log for the loaded path, bound address, scenario and registration status.
- Test locally, then from a different network. Use a player account to test the player password and a separate administrator account to test administration.
- If the result is wrong, restore the backup before attempting another combination of schema changes.
Settings to change first
| Goal | Fields to review | Risk to check |
|---|---|---|
| Make a public server | visible, publicAddress, publicPort, firewall and forwarding |
Private address advertisement or blocked port |
| Run a private session | password, visible, publicAddress |
Sharing the administrator credential or leaving listing enabled unintentionally |
| Increase capacity | maxPlayers, AI limit, view distances, -maxFPS |
CPU, memory and bandwidth saturation |
| Enforce first person | disableThirdPerson |
Scenario or community expectations may differ |
| Reduce save loss | playerSaveTime |
More frequent disk writes and unknown unit or range in an older build |
| Enable remote administration | RCON block, BattlEye setting, administrator password | Protocol mismatch and internet exposure |
Practical validation checklist
- The launch command points to the file you edited, and no alternate file is generated at startup.
- The JSON parses without comments or trailing commas.
- Key casing and nesting match the file produced by the installed build.
- The scenario identifier is copied from an installed mission.
bindPort,publicPort, firewall rules and NAT forwarding describe the same connection path.- Any query or RCON listener uses the protocol and port expected by that build.
- The administrator password is unique, protected and not embedded in shared scripts.
- Player capacity and AI or view-distance settings have been tested on the actual hardware.
- A known-good backup is available before every schema migration or game update.
The durable rule is simple: use the server’s generated configuration as the contract, use -config to load that file, and treat community defaults as hints that require verification. Ports, nesting, casing and defaults reported by guides are not established official specifications, so a successful start, a reachable port and a test join are all necessary before calling a configuration finished.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




