After some feedback from new people who have tried to set up their own Refresh instances, we have started to consider to split larger config files (especially refreshGameServer.json and integrations.json) into smaller, multiple files.
Even if there were actual documentation on the config options, these two config files would still be kind of confusing due to their large number of options, and they've gotten more confusing the more options we've added on top. Also, we should avoid nesting too much (e.g. role perms), as these files are (mainly) supposed to be edited using text editors, and with too much nesting, it can easily get difficult to keep track of which config comes from where and what it does in context.
One idea on how to split this up would be to have a config file for every individual integration (SMTP, Discord etc), one file for each role's perms, and then split the main config further into separate categories, one file per category (e.g. game settings, auth settings, instance metadata etc.)
Maybe we should also look into having configs in sub-directories. Maybe also just have all configs in a refreshConfigs sub-directory of BUNKUM_DATA_FOLDER and have further sub-directories there; would more obviously show instance owners that their configs are now in sub-directories.
This would be a first real usecase for our Bunkum fork (#1094), since Bunkum's current config system is limited to the point where migrating settings across config files is not really possible.
After some feedback from new people who have tried to set up their own Refresh instances, we have started to consider to split larger config files (especially
refreshGameServer.jsonandintegrations.json) into smaller, multiple files.Even if there were actual documentation on the config options, these two config files would still be kind of confusing due to their large number of options, and they've gotten more confusing the more options we've added on top. Also, we should avoid nesting too much (e.g. role perms), as these files are (mainly) supposed to be edited using text editors, and with too much nesting, it can easily get difficult to keep track of which config comes from where and what it does in context.
One idea on how to split this up would be to have a config file for every individual integration (SMTP, Discord etc), one file for each role's perms, and then split the main config further into separate categories, one file per category (e.g. game settings, auth settings, instance metadata etc.)
Maybe we should also look into having configs in sub-directories. Maybe also just have all configs in a
refreshConfigssub-directory ofBUNKUM_DATA_FOLDERand have further sub-directories there; would more obviously show instance owners that their configs are now in sub-directories.This would be a first real usecase for our Bunkum fork (#1094), since Bunkum's current config system is limited to the point where migrating settings across config files is not really possible.