Carpet

Carpet

2M Downloads

Make default_carpet.conf work on servers

obj-obj opened this issue · 5 comments

commented

Would be useful to make sure your friends (hosting the server) have the correct config without having to ask them to drop the file in every time they make a new world

commented

I don't fully understand the use case. The reason I made the default config only work on the client was because on the server you usually only have a single world (from where the config is loaded, that is), so there seemed to be no point in having a "default" one for worlds without a config. Therefore in servers with only few mods there wouldn't be a useless config folder that would never get used, or that could be confusing given that when a world has a config file, the default one is completely skipped.

commented

I think what they're doing is re-creating worlds often, which means the default config would actually help them. I mean, it's a simple change. And the idea of a world specific config overriding the default one makes sense, I don't think it's that confusing. Maybe carpet should first read from the world config file, then the default one, then the hardcoded defaults. That way you only have to store the config options in the world that differ from the global settings. This might also open up dimension-specific configs where you treat each dimension as a separate world similar to the way Spigot does.

commented

Problem isn't that the world's config applying over the global makes more sense, but that if you know nothing about where configs are stored, and see a config folder in your server's root containing a mention to Carpet, you'll likely assume that's the config file and not look at the world's folder, while that's not how it works and won't hold true as soon as you change something in-game or you use a world with configs (and also the config folder isn't even created in many configurations where Carpet is used currently, just querying the folder creates it because of how Fabric does it).

Currently the hierarchy is that, but for full configs instead, global is only loaded if there's no world specific config. I don't think it's a good idea to load also the global one when there's a world one given that (in singleplayer) that could cause you to unwillingly add/remove some settings from a world you didn't want to by touching the global (and people expecting things to keep working like they do now may get broken worlds). Currently settings from the globals file are already selected and copied to worlds without a config (and the global file is kept in use for as long as a world doesn't have a specific config).

commented

That could also work like that. But also, you need to stop worrying so much about users being careless. At a certain point you just have to accept that sometimes there will be a problem existing between the chair and the keyboard.

commented

I agree, this would be really useful. Iʼm trying to make a modpack that includes chainstone (among other things) and having that work by default on a server would be really nice.