GTNewHorizons / GT-New-Horizons-Modpack

New Modpack with Gregtech, Thaumcraft and Witchery
https://www.gtnewhorizons.com/
Other
965 stars 298 forks source link

Update the released modpack files, so that the config directory is unchanged when launching the game. #15897

Closed tomprince closed 2 months ago

tomprince commented 6 months ago

Your GTNH Discord Username

No response

Your Pack Version

2.5.1

Your Proposal

Update the modpack configuration, either in source control, or on release, so that the released configs match what you get after first running the modpack.

Your Goal

I'm running a server in a docker container, and would like to check what, if any, changes have been made locally to the configuration, vs what is the various mods populating default configuration values that were not specified in the released configuration.

Your Vision

This would make it easier to maintain a dedicated server, and in particular, update a dedicated server while preserving any local configuration changes that have been made.

Final Checklist

chochem commented 6 months ago

That would double the size of the already large config folder. I am against it.

tomprince commented 6 months ago

That would double the size of the already large config folder. I am against it.

I was curious what the actual impact of this would be, so I downloaded 2.6.0 beta 2 (here) and did some experiments.

Dowloaded After First Run After first run w/o coretweaks cache or extracted mods
zip 393M 420M[^1] 393M
config 35M 39M 39M

So, it looks like the config directory is about 12% larger after the first run. Most of the difference is in config/GregTech/Recipes.cfg which is 20% bigger. But that change has minimal impact on download size due to compression of the zip.

So, this change would have no impact on end-users. It might have a small impact on developers, in terms of size of config, but that could potentially be avoided by doing this process as part of the release process.

[^1]: Most of the size difference is due to the coretweaks/ directory, ~1M is due to the unpacked ic2/EJML-core-0.26.jar.

chochem commented 6 months ago

I guess the server one is a good bit smaller, I was just checking SP.

chochem commented 6 months ago

I should note that there are plans to kill the GregTech/Recipes.cfg entirely :P

tomprince commented 6 months ago

I guess the server one is a good bit smaller, I was just checking SP.

A quick check of the client pack for 2.6.0 beta 2 (here) shows 120M before and 132M after, so about 10% growth. I suspect that compression would probably cover all that difference as well.

I should note that there are plans to kill the GregTech/Recipes.cfg entirely :P

So even less difference in size. :upside_down_face:

chochem commented 6 months ago

I think what I checked didnt include the localizations, but it seems they are distributed anyway, so ignore that.

Soo back to topic in that case: maybe what you propose is an option (just work for dream I guess), but if the goal is update a dedicated server while preserving any local configuration changes that have been made., then -in theory at least- that should be covered by the default config mod. Make sure to keep your localconfig.cfg in the main folder. that preserves your local configs.

tomprince commented 6 months ago

Soo back to topic in that case: maybe what you propose is an option (just work for dream I guess),

This is presumably something that could be automated.

but if the goal is update a dedicated server while preserving any local configuration changes that have been made., then -in theory at least- that should be covered by the default config mod. Make sure to keep your localconfig.cfg in the main folder. that preserves your local configs.

That would might be a useful option for somebody looking to change a config in a way that is preserved over updates (although I don't see any[^1] documentation on the wiki about it). That doesn't help for the situation I am in, which is: "I don't think I've made any changes to the configs, let me check against what I downloaded", see pages and pages of diff output.

[^1]: There are a couple of mentions of the file, but only to say that it should be preserved on upgrade.

Caedis commented 6 months ago

What most of us do is have the configs handled in a git repo and whenever the pack repo config changes, we merge any changes we might have locally/fix any conflicts.

glowredman commented 6 months ago

@tomprince If I have some time this evening, I might be able to add a wiki to the default cofigs repo.

tomprince commented 5 months ago

What most of us do is have the configs handled in a git repo and whenever the pack repo config changes, we merge any changes we might have locally/fix any conflicts.

I don't think that would have helped me, without knowing that you need to make a commit after running the game for the first time.

If I have some time this evening, I might be able to add a wiki to the default cofigs repo.

Documentation is probably useful, but I think for it to be discoverable, some mention need to be somewhere like Installing GTNH and/or Server setup guide. I was unaware that the mod even existed, let alone knowing how to use it.


I do want to reiterate that I was prompted to file this issue because I had been playing this pack for a while, and wanted to know if I had changed any config. (Partly this is not knowing what changes might be part of the world save vs what is a config change). So, anything that would've require pre-planning on my part wouldn't have helped.

Now that I know about the problem, I can work around it. But, I filed the issue to make it easier for next person, who might not be a software developer (and also easier for me).

github-actions[bot] commented 2 months ago

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 3 days