CBATeam / CBA_A3

Community Base Addons for Arma 3
https://github.com/CBATeam/CBA_A3/wiki
GNU General Public License v2.0
367 stars 149 forks source link

(settings) static settings file should be used as defaults and only lock settings from in-game changing in server tab #878

Closed Cuel closed 6 years ago

Cuel commented 6 years ago

Arma 3 Version: 1.80 CBA Version: 3.5.0.171204

Mods:

- CBA_A3
- ACE3

Description: Currently the addon file option (cba_settings pbo) locks down all settings making them non-editable on a server.

It's also great way great for distributing settings to players in a community as it provides the same settings the server use, so mission making is easier for everyone. It can be used to provide community "default" settings for mods. As the pbo also accepts force force certain things can be turned off completely, which is great.

However, when joining the server as an admin and launching a mission, all settings (for us that means pretty much all of them) will be locked and can't be changed, on any tab. It would seem logical that server settings are locked from editing thus overriding the pbo, but what I can't figure out is the reasoning behind locking mission settings from being edited on the fly. The settings system should still take into account if a setting is force force in the pbo, but on the occasion that a setting is not forced, why can the setting not be edited under the mission tab while a mission is running? And later be reset when a new mission is started.

Steps to reproduce:

Where did the issue occur?

RPT log file:

dedmen commented 6 years ago

As we just talked about in ACE slack. Could add something like const forced forced settingName = true to optionally disable settings from being changed by anyone. So the serveradmin has more control than the in-game admins. And also give ability to change mission/server settings so that they get reset at mission restart.

Right now settingsfile disables everything because you cannot save back to the settingsfile so the settings will get lost. If you don't use settingsfile you can edit mission settings mid-mission, But they can also not be saved and will get lost.

So why does settingfile disable it but mission settings themselves are working?

commy2 commented 6 years ago

The mission settings can only be changed in the editor. That is why they are mission settings.

jonpas commented 6 years ago

@commy2 check CBA Slack, I gave you a bullet list of everything that was discussed. It kind of all got mixed in this issue (as always with settings :P).

commy2 commented 6 years ago
commy2 [12:43]
Posting here, because I don't want my review request to be buried.
https://github.com/CBATeam/CBA_A3/issues/878 (edited)
Mission settings editable by the logged in admin during the mission as if he were the mission maker live editing the mission.
They would reset after a mission restart or when a new mission is loaded.
Does this make sense to anyone? The problem I see with this is all those settings that require a mission restart would be incompatible with this method of changing the settings. And my second problem is, this making this whole thing even more confusing. (edited)

alganthe [13:34]
it's making it more confusing, you shouldn't switch settings mid mission imho

pabstmirror [21:56]
We could buffer settings in ace to prevent any problems.
like `settinginit {  GVAR(settingStable) = GVAR(setting) }` and then only use `GVAR(settingStable)` in code

alganthe [21:57]
is it worth it tho

pabstmirror [22:00]
I don't think so

alganthe [22:01]
same here

commy2 [22:13]
Some settings should work on the briefing, e.g. stuff for the map / markers.
Seems like consesus is: close issue, won't fix.
Cuel commented 6 years ago

I haven't played arma in a while but when I wrote the original issue, the issue was that providing a settings file pbo locked settings from being edited. We only wanted to provide the defaults that the server use, but allow mission makers the edit the ones that are not forced forced. What you discussed in slack seems to be a different issue? If mission makers can change settings from the settings file now, as far as I'm concerned the issue can be closed

commy2 commented 6 years ago

Settings in the settings file cannot be edited, doesn't matter if mission settings & mission settings file, or client/server settings & userconfig settings file.

Cuel commented 6 years ago

Ok, then the issue still remains.

What if we had some other way to provide default settings, which aren't locked? Should still be a "no action required" way of doing it

commy2 commented 6 years ago

It would be weird if the defaults change in a random mission or a random server. Sounds very messy.

Cuel commented 6 years ago

Messy in what way? At least for groups it would make sense if server admins can provide default settings in a pbo. These does not get locked and can be changed, if wanted, by mission makers (not during the mission - different issue). The forced settings can still be provided as it works today.

As an example, we'd have BFT enabled by default but allow it to be turned off in certain missions.

commy2 commented 6 years ago

Then just force (once) all settings on the server. That way the mission maker can overwrite...

Dystopian commented 6 years ago

@commy2 some settings shouldn't be forced because clients may want to change them. E.g. ACE interaction menu style.

commy2 commented 6 years ago

/shrug Then don't force those.

commy2 commented 6 years ago

thumb down

Why? If you don't want to force settings, don't force them. "I only what to sometimes apply this setting" is not a thing. CBA doesn't store whether a setting has explicitly changed or was never touched by the user, and I think it is a bad idea if it would do that. It would be very opaque and confusing for the user. "Changing defaults, but don't actually change the settings" isn't a thing either. The very act of changing the default IS changing the setting.

commy2 commented 6 years ago

I also understand that the default interaction menu style is shit. The rows are better than the circle etc. But that is a problem with ACE.

jonpas commented 6 years ago

This issue was my request a long while ago and I still want it.

My use-case:

ACE3 allowed this. Not defending any side here, I just want it. :laughing:

Cuel commented 6 years ago

Then just force (once) all settings on the server. That way the mission maker can overwrite...

Settings in the settings file cannot be edited

?

Dystopian commented 6 years ago

Why?

Here is my use-case. My teammates have the same mod set along with the server. I can force some settings only on server but then when someone wants to test something locally he has to set those settings again. I also can force settings with settings file but then local settings will be locked and to change them player will have to unload settings addon which is quite annoying. Default "recommended" pre-settings would be ideal fix for these situations.

As time showed this feature would be for more than 5 people - even some ACE devs asked for it in slack. So I don't think this issue can be just "Closed, won't fix".

bux commented 6 years ago

Why don't you replicate the server settings inside a mission file and give that mission file to your players that want to test something locally?

Dystopian commented 6 years ago

But they want to test their missions not only mine, they can create it in editor or run vanilla single-player.

bux commented 6 years ago

Then copy the settings part from the unbinned mission.sqm to the unbinned target mission.sqm ¯\(ツ)

jonpas commented 6 years ago

My use-case has nothing to do with testing anything though. ^^