-
Notifications
You must be signed in to change notification settings - Fork 598
Description
(Opening an issue for my idea in https://irc.minetest.net/luanti/2025-02-21#i_6244281 to get opinions and possibly a "concept approval". This has also been proposed in luanti-org/luanti#15633 (comment).)
Problem
We have recently started to remove some client-side settings in Luanti in favor of giving games full control via the modding API. This is good.
- Remove or restrict some client settings luanti#15633:
enable_clouds - Make bloom parameters server-controlled luanti#15231: bloom strength etc. (which also means you can no longer have volumetric lighting while having very little bloom configured)
However, this was done with the premise that the user would still be in control of these settings if the the game didn't care, since the game could just give control back to the user via a formspec or chatcommand. MTG is a game that doesn't care ... yet it doesn't give control back to the user.
This is effectively a regression now, with MTG players no longer being able to change these settings unless they (or the relevant server admin) install additional mods.
Since Luanti still has more client-side settings that arguably shouldn't be user choice and that we might want to make fully game-controlled in the future, this problem is also bound to come up again.
Solution proposal
The different options I see for dealing with this problem are:
-
Do nothing
- This means accepting the regression and asking MTG players, servers and mod soups to add mods to deal with it themselves.
- This would result in different solutions on different servers.
- For the
enable_cloudscase, there are already two mods available: https://content.luanti.org/packages/ROllerozxa/cloud_control/ and https://cheapiesystems.com/git/playersettings/ + https://cheapiesystems.com/git/creativesettings/. It shouldn't be much work for server owners to add one of them. - Not all of the people we ask to deal with this themselves would actually do so.
- This would make it hard to remove more client-side settings in the future in good conscience.
- This means accepting the regression and asking MTG players, servers and mod soups to add mods to deal with it themselves.
-
Implement a solution in the engine: Give games the option to explicitly say "I don't care" and re-introduce client-side settings
- This would result in having to invest additional work into each of these settings: API design, network protocol, backwards compatibility, etc.
- This would make it complicated to remove more client-side settings in the future, since each of them would need to go through this process too.
-
Implement a solution in MTG: Add a player settings menu
- This would result in no additional work on the engine side.
- This would be cheaply extensible for more settings in the future.
- An API for mods to disable parts of the menu or the whole thing would be necessary.
- There is existing code the implementation could possibly be based on (https://cheapiesystems.com/git/playersettings/ + https://cheapiesystems.com/git/creativesettings/ mentioned above).
- (The menu could later be migrated to an engine API for per-player game/mod settings in the pause menu, if such a thing is ever implemented: "Settings in the pause menu" to-do list luanti#15701 (comment))
So in my opinion, adding a player settings menu to MTG is the best option.
What about MTG being in "bugfixes, maintenance only" mode (#2710)?
I would argue that this is necessary maintenance for MTG to keep up with engine development. The engine has given a new responsibility to games, and as one of the most used games, MTG needs to adapt.
It would fix a regression, bringing the feature set of vanilla MTG back to the feature set it had before recent engine changes.