hlysine / create_power_loader

A Create mod add-on adding immersive andesite and brass chunk loaders to Minecraft.
Other
9 stars 7 forks source link

Limit how many chunkloaders are active. #5

Open Nemirel345 opened 9 months ago

Nemirel345 commented 9 months ago

I'd like to suggest a configurable amount of active chunks available per player, and possibly one server-wide.

This will help server owners keep lag in check.

hlysine commented 9 months ago

A server-wide limit might be doable but it's quite hard to visualize the limit without breaking immersion.

For a per-player limit though, it is impossible to accurately track the owner of a chunk loader block. There are always ways to cheat this and the blocks are still there even if the player is offline, so this won't be added.

MarioSMB commented 9 months ago

What about having a "world stress" mechanic of sorts that indicates how many chunks are loaded?
Too many chunks loaded would "overstress" the chunk loaders basically - or at least prevent new ones from being added.

The only problem I see with it (and any limit for that matter) is that it can be abused; someone can fill up the limit so that nobody can make more chunk loaders.
That may be more of a server administation issue whereas having some kind of limit would at least allow chunk loading in moderation!

hlysine commented 8 months ago

Another thing is that Power Loader aims to promote lag-friendly chunk loading by encouraging you to turn off the loader when not in use. If a chunk limit is implemented, turning off a loader is essentially giving up a precious spot, allowing another player to fill up the limit and prevent your loader from working in the future. I don't like how it creates a situation that strongly discourages you from optimizing your loader usage.

I think the most practical way to limit chunk loaders on servers is to modify the crafting recipes to include a special token that has a limited supply, but I'll still leave this issue open for ideas.

MarioSMB commented 8 months ago

Another thing to note is that vanilla chunkloaders can be made without any limits so having a lag-friendly variant that works with trains is probably fine - and indeed a recipe involving a non-renewable resource is the most responsible solution.

Though if you do want to consider a stress mechanic, it could be used for local areas and chained chunk loaders, so having too many in an area would "overstress" them.
That wouldn't impact multiple players but it would help slow down those trying to chunk-load their entire base.

Just a thought, no action is probably the best action in this case since it's already quite optimised!

hlysine commented 8 months ago

Local stress is interesting but it doesn't fit Minecraft's chunk-loading mechanics. Due to load level propagation, it is less taxing on server RAM to load chunks that are closer together than to spread out if you have to load the same number of chunks.

You are very right about vanilla loaders though. It's probably better not to make the modded version too limited, otherwise people may just abuse the vanilla version.

I do have things planned for servers, including commands for admins and better configs. Hopefully, server owners will feel more comfortable enabling this mod if moderation is easier.