Citizen_Dan 2 Posted July 21, 2016 Hi everyone,Just a heads-up regarding custom difficulty settings, as specified in the .Arma3Profile, on a Linux dedicated server. Some people out there may have had problems getting these to load. At the very least I had.I did some testing and eventually got the settings to load through the creation of a custom server profile with a new name. It is quite a strange story, so I apologise in advance for approaching this from an entirely empirical perspective. I absolutely can not give any insights as to why this is working. And I am probably embarrassing myself a little with such a superficial post (BIS difficulty programmer guy, are you reading this?) - but perhaps it does help a few people out there. The problem: The Linux dedicated server would routinely ignore changes to the entries made in $HOME/.local/share/Arma 3 - Other Profiles/server.Arma3Profile. The custom difficulty could be enforced through the server.cfg but "default" values for "class CustomDifficulty" were loaded regardless1. The solution: Launched the server under a new name, using the parameter "-name=servername", then replaced the automatically created "servername/servername.Arma3Profile"2 with the user-modified Arma wiki template. Subsequently restarted the server and selected/enforced "Custom" difficulty. Example:Originally, I would launch the server via: ./arma3server -name=server -config=server.cfg -mod=@mod1;@mod2;@mod3; In this case, any user-made changes specified under "class CustomDifficulty" were not used, even when saved in a write-protected .Arma3profile.After some tinkering, the server would be launched under a new name using "-name=" - and, optionally, with the additional "-profiles=" parameter: ./arma3server -profiles=/home/apps/steam/arma3/profiles -name=custom -config=server.cfg -mod=@mod1;@mod2;@mod3; By launching the server a new folder ("/arma3/profiles/home/custom") was created in arma3 root. It contained a tiny "custom.Arma3Profile", ordinarily consisting of 6-10 lines of basic option entries (soundFX=1, etc.)2.The content of .Arma3Profile would now be replaced with a test profile using exclusively the exact example server difficulty profile template, but with all values set to 1 (or 2, if applicable) to easily check for changes. class DifficultyPresets{ class CustomDifficulty { class Options { /* Simulation */ reducedDamage = 1; // Reduced damage /* Situational awareness */ groupIndicators = 2; // Group indicators (0 = never, 1 = limited distance, 2 = always) friendlyTags = 2; // Friendly name tags (0 = never, 1 = limited distance, 2 = always) enemyTags = 2; // Enemy name tags (0 = never, 1 = limited distance, 2 = always) detectedMines = 2; // Detected mines (0 = never, 1 = limited distance, 2 = always) commands = 2; // Commands (0 = never, 1 = fade out, 2 = always) waypoints = 2; // Waypoints (0 = never, 1 = fade out, 2 = always) /* Personal awareness */ weaponInfo = 2; // Weapon info (0 = never, 1 = fade out, 2 = always) stanceIndicator = 2; // Stance indicator (0 = never, 1 = fade out, 2 = always) staminaBar = 1; // Stamina bar weaponCrosshair = 1; // Weapon crosshair visionAid = 1; // Vision aid squadRadar = 1; // Squad radar /* View */ thirdPersonView = 1; // 3rd person view cameraShake = 1; // Camera shake /* Multiplayer */ scoreTable = 1; // Score table deathMessages = 1; // Killed by vonID = 1; // VoN ID /* Misc */ mapContent = 1; // Extended map content autoReport = 1; // Automatic reporting multipleSaves = 1; // Multiple saves }; // aiLevelPreset defines AI skill level and is counted from 0 and can have following values: 0 (Low), 1 (Normal), 2 (High), 3 (Custom). // when 3 (Custom) is chosen, values of skill and precision are taken from the class CustomAILevel. aiLevelPreset = 2; }; class CustomAILevel { skillAI = 1; precisionAI = 1; }; }; The server would then be restarted, which automatically reformatted the "custom.Arma3Profile" to this: class DifficultyPresets{ class CustomDifficulty { class Options { reducedDamage=0; groupIndicators=0; friendlyTags=0; enemyTags=0; detectedMines=0; commands=0; waypoints=0; weaponInfo=0; stanceIndicator=0; staminaBar=0; weaponCrosshair=0; visionAid=0; squadRadar=0; thirdPersonView=0; cameraShake=1; scoreTable=0; deathMessages=0; vonID=0; mapContent=0; autoReport=0; multipleSaves=0; }; aiLevelPreset=3; }; class CustomAILevel { skillAI=1; precisionAI=0.36000001; }; };volumeCD=5;volumeFX=5;volumeSpeech=5;singleVoice=0;soundEnableEAX=1;soundEnableHW=0; Running a test mission at custom difficulty, all settings were loaded correctly. There was a crosshair, third person mode (yuck!), a stance indicator, and a score table. In previous tests, using the original .local/share/[name].Arma3Profile none of these options were ever loaded3. Repeating this process, a new "freshly"-named server was then created with our desired custom difficulty setup.Is anybody able to reproduce this? I would like to hear some feedback, in particular from people who tried to make changes to their Linux dedicated server .Arma3Profile.Thanks!1 It is not clear to me where these defaults are coming from.2 Oddly enough, the number of lines in this file varied each time a new profile is created.3 However, changing entries within this file a second time and restarting the server would always result in reverting to the reformatted file and its settings. A new server name ("-name=custom_2") had to be created to enforce new custom difficulty settings. 2 Share this post Link to post Share on other sites
BeJleC 0 Posted January 13, 2021 Thanks! It works in 2021 :D Arma 3 2.0, Debian 10 Share this post Link to post Share on other sites