Skip to content

Core - Revise server settings framework - #452

Open
Kexanone wants to merge 8 commits into
masterfrom
core/revise-settings-framework
Open

Core - Revise server settings framework#452
Kexanone wants to merge 8 commits into
masterfrom
core/revise-settings-framework

Conversation

@Kexanone

@Kexanone Kexanone commented Jun 14, 2026

Copy link
Copy Markdown
Member

When merged this pull request will:

  • Move settings internals from ArmaReforgerScripted to ACE_SettingsSystem.
  • Make settings available to clients by replicating ACE_SettingsConfig instance.
  • Directly work with an array of mod settings instead compiling a map.
  • Add ACE_ModSettings::Init for postprocessing settings.

Notes:

  • Defining settings still works the same way as before (see Basic set-up with settings framework #3):
    1. Derive from ACE_ModSettings and add your settings as attributes there (e.g. ACE_Finger_Settings)
    2. Mod ACE_MissionHeaderSettings to add your settings to the mission header (e.g. Finger's modded ACE_MissionHeaderSettings)
    3. Override Configs/ACE/Settings.conf to add your settings to the config (e.g. Finger's Settings.conf override)
  • In order to get the server config change of a particular setting replicated to clients, the setting has to be added it to the codecs of ACE_SettingsConfig via modded override (For example, see Finger - Replicate settings via config codec #453). Writing codecs manually is a bit annoying, so in future we may want to switch to an attribute "ACE_RplSetting" that can be added to a setting to get it replicated automatically, however this would require runtime reflection to be expanded, e.g. missing setter (see https://feedback.bistudio.com/T174034).
  • Getting settings does not change, i.e. you should still retrieve them via ACE_SettingsHelperT

@Kexanone Kexanone added the kind/feature Release Notes: **ADDED:** label Jun 14, 2026
@Kexanone Kexanone changed the title Core - Revise settings framework Core - Revise server settings framework Jun 14, 2026
@Kexanone Kexanone added kind/cleanup Release Notes: Excluded kind/enhancement Release Notes: **IMPROVED:** and removed kind/feature Release Notes: **ADDED:** kind/cleanup Release Notes: Excluded labels Jun 14, 2026
@Kexanone Kexanone added this to the 1.5.0 milestone Jun 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/enhancement Release Notes: **IMPROVED:**

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant