Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Set difficulty = "Custom"; in the server configuration, then define the individual options in the profile selected by the server’s -name launch parameter. The server configuration chooses the Custom preset; the matching .Arma3Profile supplies its values. Restart the server and check the active mission and difficulty after editing both files.
Playing with friends? Godlike.Host runs hosted Arma 3 servers from 10 data-center locations, with free DDoS protection.
The most common reason Custom settings appear to be ignored is editing the wrong profile or assuming that forcedDifficulty overrides every mission. A mission cycle can provide its own difficulty and override the forced server setting, so launch parameters, file locations, preset selection and mission-cycle entries all have to agree.
As an Amazon Associate I earn from qualifying purchases.
How Arma 3 stores difficulty settings
Arma 3 dedicated-server difficulty is split between server-level selection and profile-level options. This separation matters because changing one file without the other does not create a complete Custom setup.
| Component | What it controls | Where you configure it |
|---|---|---|
| Launch parameters | The profile name and server configuration file the process loads | The dedicated-server start command, especially -name and -config |
| Server configuration | The selected difficulty preset and other server-level behavior | The file passed to -config, such as server.cfg |
| Custom profile | Individual difficulty values such as damage, indicators, tags and mine visibility | The .Arma3Profile associated with the selected profile name |
| Mission cycle | Mission-supplied difficulty that can take precedence over a forced server setting | The mission-cycle configuration used by the server |
The filename of the server configuration is not special. The launch command determines which file is loaded. If -config is omitted, no server configuration is loaded, so a carefully edited server.cfg has no effect.
#1 Best Overall
- Player-driven story
- More than 70 weapons
- Over 100 different vehicles
- Massive online battles
- Game world of 225 square km
Prerequisites before editing
- Access to the dedicated-server start command or service definition.
- Permission to edit the server configuration and profile directory.
- A stable profile name that will remain the same between restarts.
- A copy of the current configuration and profile files so you can restore a known-good state.
- The current official profile reference for the complete list of difficulty options and each option’s documented numeric values.
Keep the profile name stable while you test. If the launch command changes from one profile name to another, the server can read a different profile even though the visible server configuration appears unchanged.
Step-by-step: create a Custom difficulty
1. Start the server with an explicit profile and configuration
Use a launch command that names both the profile and the server configuration file:
Free tools Windows power users keep installed
One-click scans. No signup required.
-name=server -config=server.cfg
The value after -name= identifies the profile used by that server instance. The corresponding profile may be named server.armaprofile, USERNAME.Arma3Profile, or another profile generated for the selected name. The important point is the relationship: the profile must belong to the -name value used at launch.
The value after -config= selects the server configuration file. You may use another filename, but the command and the file you edit must match character for character. When a service manager, batch file or container starts the server, inspect the actual command it runs rather than relying on a shortcut or an old command documented elsewhere.
2. Select the Custom preset in the server configuration
In the configuration file passed with -config, add or edit:
difficulty = "Custom";
Arma 3 also documents forcedDifficulty = "Custom"; as a way to enforce the same preset at server level:
Rank #2
- System: Intel Core i5-13400F 2.5GHz 10 Cores | Intel B760 Chipset | 16GB DDR5 | 1TB PCIe 4.0 NVMe SSD | Windows 11 Home
- Graphics: NVIDIA GeForce RTX 5060 8GB Graphics | 1x HDMI | 2x DisplayPort
- Connectivity: 1 x USB-C 3.2 | 2 x USB-A 3.2 | 6 x USB-A 2.0 | 1 x LAN | WiFi 6 | Bluetooth 5.3 | 7.1 Channel Audio
- Tempered Side Case Panel | Custom RGB Lighting | Keyboard and Mouse
- 1 Year Parts & Labor Warranty, Free Lifetime Tech Support
forcedDifficulty = "Custom";
These lines select the Custom preset; they do not contain the individual values for tags, indicators, damage or mine detection. Those values belong in the profile’s CustomDifficulty class. A mission cycle can still override forcedDifficulty, so treat the forced setting as one layer of precedence rather than an absolute override.
3. Open the profile associated with -name
Find the profile directory used by the dedicated server and open the profile associated with the launch name. Depending on how the server was created, you may see a file named server.armaprofile, USERNAME.Arma3Profile, or a generated profile with the selected name.
Do not edit a similarly named profile in an unrelated directory. A reliable check is to compare the profile name in the launch command with the file and directory that the server creates or updates when it starts. If you run multiple instances, give each one a distinct -name and keep its profile files separate.
4. Add the CustomDifficulty hierarchy
Inside the matching profile, create or edit the hierarchy below. Class names and capitalization are significant:
Recommended Free Tools
class DifficultyPresets
{
class CustomDifficulty
{
class Options
{
reducedDamage = 0;
groupIndicators = 0;
friendlyTags = 0;
enemyTags = 0;
detectedMines = 0;
// Add the remaining documented options you want to control.
};
};
};
The example shows representative options, not a complete production profile. Copy the full option set from the current official profile reference when you need to control every available difficulty setting. Keep the nesting exactly as shown: DifficultyPresets contains CustomDifficulty, which contains Options, which contains the individual values.
The values are numeric flags whose meaning is defined beside each option in the official profile example. Do not assume that every option has the same value polarity or that an omitted line has the same effect as an explicit value. Decide which options you need, then use the documented value for each one.
Rank #3
- System: Intel i7-10700F 2.9GHz (4.8GHz Max Turbo) | 16GB DDR4 RAM | 480GB SSD | 2TB HDD | Genuine Windows 10 Home 64-bit
- Graphics: NVIDIA GeForce RTX 2060 6GB Dedicated Gaming Video Card | VR Ready | 1x DVI | 1x HDMI | 1x Display Port
- Connectivity: 4 x USB 3.0 | 2 x USB 2.0 | 1x RJ-45 Network Ethernet 10/100/1000 | Audio: 7.1 Channel
- Special Add-Ons: Tempered Glass RGB Gaming Case | 802.11AC Wi-Fi Included | 16 Color RGB Lighting Case | Free iBuyPower Gaming Keyboard and RGB Gaming Mouse | No Bloatware
- Warranty: 1 Year Parts and Labor plus Free Lifetime US Tech Support | Assembled in the U.S.A
5. Save, restart and verify
- Save the server configuration and the matching profile.
- Stop the dedicated server cleanly so it is not writing the old profile back over your changes.
- Start it again with the same
-nameand-configparameters. - Load a mission from the normal mission cycle.
- Verify the active mission and difficulty in the available server or administrator interface and inspect startup or server logs for configuration errors.
- Test the specific options you changed rather than relying only on the displayed preset name.
Restarting is required because the server reads these configuration layers during startup. A file can contain the correct hierarchy while the running process continues to use values loaded before the edit.
What the Custom options represent
Custom difficulty is useful when you want a combination that none of the fixed presets provides. The documented option families include awareness aids, visibility aids and simulation-related behavior.
| Option in the profile example | Controls | How to handle its value |
|---|---|---|
reducedDamage |
Damage behavior | Use the numeric value specified for the desired behavior in the current profile reference. |
groupIndicators |
Group indicators | Set the documented flag for the visibility level you want. |
friendlyTags |
Friendly-unit tags | Use the reference’s documented numeric mapping; the representative example includes 0. |
enemyTags |
Enemy-unit tags | Use the reference’s documented numeric mapping; the representative example includes 0. |
detectedMines |
Visibility of detected mines | Use the value documented for the required mine-detection behavior. |
The profile reference contains additional options beyond this short example. If your goal is to remove a particular aid, such as third-person view, do not invent a class name from a forum post or copy an option from a different game version. Find the exact option in the current profile reference, place it under class Options, and use the documented numeric value. The configuration mechanism is the same even when the option is not shown in the representative block above.
Preset choices: fixed presets versus Custom
Since version 1.58, Recruit, Regular and Veteran are predefined presets with fixed values for every difficulty option. Custom is the editable preset for per-option combinations.
| Preset | Per-option control | Visibility and awareness aids | Damage and simulation behavior | Profile portability | Mission-cycle precedence |
|---|---|---|---|---|---|
| Recruit | Fixed predefined values | Uses the preset’s defined values | Uses the preset’s defined values | Portable as a named preset, without a custom option set | A mission can supply its own difficulty |
| Regular | Fixed predefined values | Uses the preset’s defined values | Uses the preset’s defined values | Portable as a named preset, without a custom option set | A mission can supply its own difficulty |
| Veteran | Fixed predefined values | Uses the preset’s defined values | Uses the preset’s defined values | Portable as a named preset, without a custom option set | A mission can supply its own difficulty |
| Custom | Individual options are editable in the profile | You choose the documented values for tags, indicators and mine visibility | You choose the documented values for options such as reduced damage | Copy the matching profile structure and keep the same server-instance mapping | A mission-cycle difficulty can override a forced server difficulty |
If you change any option so that the values no longer match one of the fixed presets, Arma 3 treats the combination as Custom. This is why a server can display Custom even when you began with another preset: the individual values no longer form an exact predefined set.
Why Custom difficulty is being ignored
Work through these checks in order. Each check isolates a different configuration layer.
Rank #4
- System: Intel Core i9-13900KF 3.0GHz (8plus16) Cores | Intel Z690 Chipset | 16GB DDR5 | 1TB PCIe NVMe SSD | Genuine Windows 11 Home 64-bit
- Graphics: NVIDIA GeForce RTX 4070 Ti 12GB Video Card | 1x HDMI | 2x DisplayPorts
- Connectivity: 6 x USB 3.1 | 2 x USB 2.0 | 1x RJ-45 Network Ethernet 10/100/1000 | 802.11AC Wi-Fi | Audio: 7.1 Channel | Keyboard and mouse
- Special feature: Liquid cool CPU | 3-Piece Panoramic Tempered Glass Front/Side Case Panel | Custom RGB Case Lighting | USB Gaming Keyboard | 7 Colors RGB Gaming Mouse
- 1 year parts and labor | Free lifetime tech support
1. The launch command points to another profile
Confirm the running process uses the -name value you expect. Then open the profile associated with that name. Editing server.armaprofile while the process runs with a different profile name will not change the active Custom values.
2. The server never loaded your configuration file
Check the complete launch command for -config=server.cfg or the actual filename you use. If -config is missing, the server does not load that server configuration. Also check for a service definition, startup script or host-panel setting that supplies a different path or overrides your command.
3. The server configuration does not select Custom
Open the file actually passed to -config and verify difficulty = "Custom";. If you rely on forcedDifficulty, verify that it also says "Custom". A correct profile hierarchy has no effect if the server is still selecting Recruit, Regular or Veteran.
4. The hierarchy or class name is wrong
Compare the profile against the documented structure. The required path is DifficultyPresets → CustomDifficulty → Options. Check braces, semicolons, spelling and capitalization. Keep comments outside values, and make sure the edited file is the profile format the server generated rather than a copy with a similar filename.
5. The mission cycle supplies another difficulty
Inspect the mission-cycle configuration for a mission-specific difficulty. The official server-configuration reference states that a mission-cycle difficulty overrides forcedDifficulty. If the server behaves correctly in one mission but not another, compare the mission-cycle entries before changing the profile again.
6. The process was not restarted
Stop and start the server after changing either file. Then verify the active mission and difficulty again. Testing without a restart can make a correct edit look ineffective.
Best Value
- Dress in style for duty on Everon. Built to answer the call of military service and survive arma for days at a time, so take a day off the battlefield duty and dress to impress your squad with our low weight but high cool reforger inspired army design.
- Compatible with all versions of arma so PC gamers and console soldiers can spend dayz in reforger gaming in comfort and style on Everon. A great gamer gift for any military army simulator player.
- 8.5 oz, Classic fit, Twill-taped neck
7. The option value is not what you intended
Use the current profile reference to interpret each numeric flag. The representative block is not a complete map of every option, and a value that is correct for one setting is not automatically correct for another. Test one changed option at a time when diagnosing a visibility or damage issue.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Mission-cycle precedence in practice
forcedDifficulty = "Custom"; is often added because an administrator wants every mission to use the server’s Custom preset. However, the documented precedence rule gives a mission-cycle difficulty priority over that forced value. The result can look inconsistent: the profile is correct, the server configuration says Custom, yet a particular mission behaves as if another preset were selected.
Use a controlled test mission when diagnosing this. First confirm the server with a mission that does not supply a conflicting difficulty. Then inspect each mission-cycle entry that does. Decide whether the mission’s setting is intentional; if it is, change the mission-cycle configuration rather than repeatedly rewriting the profile.
Using one Custom profile across several server instances
A profile is tied to the launch identity, not merely to the physical server installation. For separate instances, assign distinct -name values and maintain a corresponding profile for each one. This prevents a training server’s visibility settings from silently replacing the settings of a public server.
When you intentionally want the same difficulty on multiple instances, copy the complete DifficultyPresets structure into each instance’s matching profile and keep the option set synchronized. Also copy the server-level difficulty or forcedDifficulty selection into each instance’s own configuration file. Verify each instance independently after restarting; a shared installation does not prove that the same profile is being loaded.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteA repeatable deployment checklist
- Launch identity: the start command contains the intended
-name. - Configuration path: the command contains
-configand points to the file you edited. - Preset selection: the active server configuration says
difficulty = "Custom";. - Optional enforcement: if used,
forcedDifficulty = "Custom";is present and correctly spelled. - Profile mapping: the edited
.Arma3Profilebelongs to the selected-name. - Hierarchy: options are nested under
DifficultyPresets,CustomDifficultyandOptions. - Option values: every numeric value comes from the current documented option definition.
- Mission cycle: no mission entry unintentionally supplies a competing difficulty.
- Restart: the server was stopped and started after the edits.
- Verification: the active mission, displayed difficulty and the specific changed behaviors were checked after startup.
What to remember
Custom difficulty is not configured in one place. The launch command selects the profile and server configuration; the server configuration selects Custom; and the matching profile supplies the individual option values. Keeping those three relationships correct solves most setup problems. When a setting still does not apply, check the mission cycle before assuming the profile syntax is wrong, because a mission-provided difficulty can override the forced server value.
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.




