October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk10 min

How to Set Custom Difficulty on an Arma 3 Dedicated Server

A precise guide to Arma 3 Custom difficulty, including the server.cfg setting, profile hierarchy, launch-name matching, option flags, mission-cycle precedence, and troubleshooting.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set difficulty = "Custom"; in the server configuration, then define the individual difficulty flags in the profile selected by the server’s -name parameter. The server reads the CustomDifficulty class from that matching .Arma3Profile file. After saving both files, restart the server and verify the active mission and difficulty. A mission cycle can still supply its own difficulty and override forcedDifficulty, so configuration precedence matters.

The two files that control Custom difficulty

Arma 3 separates the choice of difficulty preset from the values inside that preset. Treating these as one file is the most common reason a server appears to ignore Custom settings.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
File or setting What it controls How the server finds it
server.cfg Selects the difficulty preset and other server-level behavior. The filename can be chosen by you; the launch argument -config=... tells the server which file to load. If -config is omitted, no server configuration file is loaded.
Matching .Arma3Profile Stores the individual values inside CustomDifficulty. The profile is associated with the name supplied through -name. Examples include server.armaprofile, USERNAME.Arma3Profile, or the profile generated for the selected name.
Mission cycle May provide a mission-specific difficulty that takes precedence during the cycle. Read from the missions configured for the server; this can override a forced server difficulty.

Because the settings are split, changing only server.cfg selects Custom but does not create the per-option values. Conversely, editing a profile does nothing if the server is still running Recruit, Regular, or Veteran.

Before you edit anything

  • Know which dedicated-server instance you are changing. Multiple instances can have different -name values and therefore different profiles.
  • Identify the exact configuration filename passed with -config.
  • Stop the server before editing, or plan a full restart immediately after the changes. A running process may continue using values loaded at startup.
  • Make a backup copy of the existing server.cfg and profile. Keep the backup under a different filename so the server cannot accidentally load it as the active profile.
  • Use the complete option list from the current official profile reference when building a production profile. The example below shows representative options, not an exhaustive schema.

Step 1: Start the instance with a stable profile name

The -name argument determines which profile the dedicated server uses. Give each instance a stable, unique name and keep that name unchanged when you want settings to persist. The launch arguments should include both a profile name and an explicit configuration file:

#1 Best Overall
ArmA II - PC
  • Player-driven story
  • More than 70 weapons
  • Over 100 different vehicles
  • Massive online battles
  • Game world of 225 square km
-name=server -config=server.cfg

Append those arguments to the command that starts your dedicated-server executable. The important relationship is not the executable’s filename; it is that the process receives the same -name every time and that -config points to the file you edited.

Why a changed -name looks like a lost configuration

If you start once with -name=server and later start with another name, the server may generate or select a different profile. Your old Custom values can remain intact while the new instance reads another profile. When troubleshooting, record the complete launch command and compare the active -name with the profile filename and directory you are inspecting.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Step 2: Select Custom in server.cfg

Open the configuration file named by -config and set the difficulty preset to Custom:

difficulty = "Custom";

The documented forcedDifficulty setting can also enforce the same preset:

forcedDifficulty = "Custom";

Use forcedDifficulty only with a clear understanding of precedence. The server-config reference states that a difficulty supplied by the mission cycle overrides forcedDifficulty. Therefore, this line does not guarantee that every mission will run with the server-wide Custom values when the cycle specifies another difficulty.

Do not confuse the two lines

  • difficulty = "Custom"; tells the server to use the Custom preset.
  • forcedDifficulty = "Custom"; documents an enforced server preference, but it remains subject to mission-cycle precedence.
  • Neither line contains the individual tag, indicator, mine-detection, or damage values. Those belong in the matching profile.

Step 3: Edit the profile selected by -name

Open the profile associated with the launch name. Depending on how the instance was created, it may be called server.armaprofile, USERNAME.Arma3Profile, or another generated profile name. The correct file is the one in the profile directory used by that particular server process, not necessarily the file you last edited.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
CyberPowerPC Gamer Xtreme VR Gaming PC, Intel Core i5-13400F 2.5GHz, GeForce RTX 5060 8GB, 16GB DDR5, 1TB PCIe 4.0 SSD, WiFi Ready & Windows 11 Home (GXiVR8060A40)
  • 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

Inside that file, create or edit the following hierarchy:

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.
        };
    };
};

Preserve the class hierarchy

Every level is significant: DifficultyPresets contains CustomDifficulty, which contains Options. Putting the options at the root of the profile, under a differently spelled class, or outside the braces means the server will not find them as the Custom definition.

Use the complete current option set

The snippet deliberately lists representative options. The official profile example documents additional difficulty options and the numeric values accepted by each one. Copy the complete option set from that current reference when preparing a production profile, then change only the values you intend to customize. This avoids inheriting an unintended default when a later game version adds or changes an option.

What the representative options address

Option Purpose indicated by its name Example shown above
reducedDamage Controls the reduced-damage aid or behavior. 0
groupIndicators Controls group-indicator visibility. 0
friendlyTags Controls friendly-unit tags. 0
enemyTags Controls enemy-unit tags. 0
detectedMines Controls visibility or assistance for detected mines. 0

The example uses numeric flags, as required by the profile format. For the documented tag controls, setting friendlyTags = 0; and enemyTags = 0; is the starting point for removing those tag aids. Confirm the permitted values and their exact meanings in the profile reference for the game build you operate rather than assuming that every option uses the same scale.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Step 4: Restart and verify the active configuration

  1. Stop the dedicated server cleanly.
  2. Confirm that server.cfg still contains difficulty = "Custom"; and, if you use it, forcedDifficulty = "Custom";.
  3. Confirm that the launch command still uses the intended -name and -config.
  4. Re-open the profile selected by that -name and check the DifficultyPresets > CustomDifficulty > Options hierarchy.
  5. Start the server again.
  6. Join or administer the server and check the active mission and displayed difficulty. Review startup or server logs for evidence that the intended configuration and profile were loaded.
  7. Test one changed aid, such as friendly or enemy tags, in a controlled mission before opening the server to players.

Restarting and checking the UI or logs is operational practice: the configuration relationship is defined by the server documentation, while the verification step confirms that your particular launch command, directory, mission, and files line up.

Custom versus Recruit, Regular, and Veteran

Since version 1.58, Recruit, Regular, and Veteran are predefined presets. Each preset has an exact value for every difficulty option. Custom is the editable combination used when you need per-option control.

Rank #3
iBUYPOWER Gaming PC Computer Desktop 1000iV2 (Intel i7-10700F 2.9GHz, NVIDIA GeForce RTX 2060 6GB, 16GB DDR4 RAM, 480GB SSD, 2TB HDD, WiFi Ready, Windows 10 Home)
  • 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
Comparison axis Recruit, Regular, or Veteran Custom
Per-option control Fixed predefined values. Individual values are read from CustomDifficulty in the profile.
Visibility and awareness aids Determined by the selected preset’s fixed values. Can be tailored with options such as groupIndicators, friendlyTags, enemyTags, and detectedMines.
Damage or simulation behavior Uses the preset’s defined value. Can be adjusted through options such as reducedDamage, subject to the values documented for your build.
Portability between instances Selecting the same named preset is simple, but it does not carry a unique per-server combination. Requires moving the matching profile definition and reproducing the same -name-to-profile relationship.
Mission-cycle precedence A mission can still provide its own difficulty behavior. A mission-cycle difficulty can override forcedDifficulty; Custom is not an absolute override for every mission.

Changing one value away from a predefined preset also makes the preset Custom. The official configuration wording explains that each preset has exactly defined values and that if any option does not match the preset, the preset changes to Custom. This is why a server can appear to switch to Custom after a single per-option edit.

Where is server.armaprofile?

There is no single filename that is correct for every installation. The profile may be server.armaprofile, USERNAME.Arma3Profile, or a generated profile associated with the value passed to -name. Locate the profile directory used by the running instance, then match the filename to the launch name. If you operate several instances, treat each -name and profile directory as a separate configuration set.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A reliable way to avoid editing the wrong file is to change one harmless, documented Custom option, restart, and check whether the corresponding in-game behavior changes. If it does not, stop and re-check the command line and profile directory before changing more values.

Why Custom difficulty appears to be ignored

The server is not loading the file you edited

  • Check that the launch command includes -config=server.cfg (or the exact filename you use).
  • Check that the path and spelling in -config match the edited file.
  • Check that the process uses the expected -name; a different name selects a different profile.

The profile is in the wrong location or has the wrong name

Find the profile generated for the active -name and edit that file. A correctly formatted Custom block in an unused profile cannot affect the server.

difficulty is not set to Custom

If the configuration still says Recruit, Regular, or Veteran, the server will use that predefined preset rather than your CustomDifficulty values. Confirm the exact line, including the quoted value and semicolon.

The Custom block is malformed

Check braces, class names, and option placement. The options must be inside class Options, which is inside class CustomDifficulty, which is inside class DifficultyPresets. Remove duplicate blocks that could make it unclear which definition is active, then restart.

Rank #4
CyberPowerPC Gamer Xtreme VR Gaming PC, Intel Core i9-13900KF 3.0GHz, GeForce RTX 4070 Ti 12GB, 16GB DDR5, 1TB NVMe PCIe SSD, WiFi Ready & Windows 11 Home (GXiVR8080A34), White
  • 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

A mission cycle supplies another difficulty

The official server-config reference states that mission-cycle difficulty overrides forcedDifficulty. Test with a mission whose cycle does not impose another value, or inspect the mission-cycle configuration before concluding that the profile failed.

The server was not restarted

Stop and start the process after editing both files. Then verify the active mission and difficulty through the server or administrator interface and logs.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Disabling tags, indicators, mine aids, or reduced damage

Use the corresponding numeric options in the Custom profile rather than trying to place them in server.cfg:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
class Options
{
    reducedDamage = 0;
    groupIndicators = 0;
    friendlyTags = 0;
    enemyTags = 0;
    detectedMines = 0;
};

This pattern addresses the documented representative controls. To disable both friendly and enemy tags in the shown configuration, set both tag options to 0. Apply the same approach to group indicators, mine detection, and reduced damage, using the numeric values documented for the exact option and game version.

About third-person view

The supplied profile example does not identify a third-person option, so do not invent a key based on a forum snippet or place an undocumented name in the profile. Third-person availability may be controlled elsewhere in the game, mission, or server rules. For a supported Custom-profile change, use only options present in the current official profile reference and verify the result in the mission you actually run.

Making a Custom profile portable

Custom difficulty is portable when you move the right definition, not merely the difficulty line. For another server instance, reproduce the same relationship:

Best Value
Everon Soldier Arma Gamer Military Army Camping Nature Funny Pullover Hoodie
  • 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
  1. Choose a stable -name for the destination instance.
  2. Ensure the destination launch command points to its intended configuration file with -config.
  3. Set difficulty = "Custom"; in that configuration.
  4. Copy the complete DifficultyPresets > CustomDifficulty > Options definition into the profile selected by the destination -name.
  5. Review the destination’s mission cycle for a difficulty that could override forcedDifficulty.
  6. Restart and test before inviting players.

Keep a short change log containing the profile name, the options changed, and the date. This makes it easier to determine whether a later edit changed an individual value or whether the server accidentally selected a different profile.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A practical configuration checklist

  • Launch identity: The intended -name is present and stable.
  • Config selection: -config points to the file you edited.
  • Preset: difficulty = "Custom"; is present.
  • Optional enforcement: forcedDifficulty = "Custom"; is used only with mission-cycle precedence understood.
  • Profile match: The edited .Arma3Profile belongs to the active -name.
  • Hierarchy: Options are nested under DifficultyPresets, CustomDifficulty, and Options.
  • Values: Every option uses a numeric value permitted by the current profile reference.
  • Completeness: The production profile includes the remaining documented options you intend to control.
  • Restart: The server was stopped and started after the edits.
  • Verification: The active mission, difficulty, and at least one changed behavior were checked.

What Custom difficulty can—and cannot—guarantee

Custom gives the server owner fine-grained control over the documented difficulty options and keeps those values in a profile associated with the server’s launch name. It does not eliminate the need to select Custom in the server configuration, and it does not make forcedDifficulty stronger than a mission cycle that supplies its own difficulty. It also does not provide a universal third-person switch unless that control is documented in the profile options for the relevant game version.

No authoritative published statistic establishes how widely Custom is adopted or what gameplay outcomes it produces. The practical decision is therefore administrative: use a predefined preset when its fixed values are acceptable; use Custom when your community needs a specific combination of visibility aids, damage behavior, mine awareness, and related options.

Recommended end-to-end sequence

For a new dedicated-server instance, the least error-prone order is:

  1. Pick a stable profile name and launch with -name=server -config=server.cfg.
  2. Set difficulty = "Custom"; in the selected server configuration.
  3. Open the profile generated for server.
  4. Add the complete documented DifficultyPresets hierarchy and set the individual options you need.
  5. Decide whether forcedDifficulty = "Custom"; is appropriate, remembering that mission-cycle difficulty can override it.
  6. Restart the server, inspect logs or the administrator UI, and test the mission that players will actually use.

Following that sequence keeps the preset selection, profile identity, option values, and mission precedence visible as separate checks. When a setting fails, you can isolate the failure to one of those four layers instead of repeatedly editing an unknown file.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Bestseller No. 1
ArmA II - PC
ArmA II - PC
Player-driven story; More than 70 weapons; Over 100 different vehicles; Massive online battles
$53.99
SaleBestseller No. 2
CyberPowerPC Gamer Xtreme VR Gaming PC, Intel Core i5-13400F 2.5GHz, GeForce RTX 5060 8GB, 16GB DDR5, 1TB PCIe 4.0 SSD, WiFi Ready & Windows 11 Home (GXiVR8060A40)
CyberPowerPC Gamer Xtreme VR Gaming PC, Intel Core i5-13400F 2.5GHz, GeForce RTX 5060 8GB, 16GB DDR5, 1TB PCIe 4.0 SSD, WiFi Ready & Windows 11 Home (GXiVR8060A40)
Graphics: NVIDIA GeForce RTX 5060 8GB Graphics | 1x HDMI | 2x DisplayPort; Tempered Side Case Panel | Custom RGB Lighting | Keyboard and Mouse
$1,285.00
Bestseller No. 4
CyberPowerPC Gamer Xtreme VR Gaming PC, Intel Core i9-13900KF 3.0GHz, GeForce RTX 4070 Ti 12GB, 16GB DDR5, 1TB NVMe PCIe SSD, WiFi Ready & Windows 11 Home (GXiVR8080A34), White
CyberPowerPC Gamer Xtreme VR Gaming PC, Intel Core i9-13900KF 3.0GHz, GeForce RTX 4070 Ti 12GB, 16GB DDR5, 1TB NVMe PCIe SSD, WiFi Ready & Windows 11 Home (GXiVR8080A34), White
Graphics: NVIDIA GeForce RTX 4070 Ti 12GB Video Card | 1x HDMI | 2x DisplayPorts; 1 year parts and labor | Free lifetime tech support
$3,000.00
Bestseller No. 5

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.