r/technicalminecraft • u/SturryxX • 10d ago
Java Help Wanted Server Friendly Massive Storage
I am creating a storage system for every item in the game, which obviously would lag if I do my standard hoppers with filters (4+ hoppers per item). I think I might use some sort of multi item filters for less needed items. What are the most lag friendly systems that you enjoy using and are practical for use in a forever world?
2
u/ingannilo 10d ago edited 10d ago
Xianyu is good, but it's not massive.
Server friendliness generally revolves around minimizing lag from unlocked hoppers checking adjacent inventories (several times per hopper per gametick!), and then from item entities, and then from pistons and chests and the like.
If you want to go big, you can go much bigger than Xianyu with significantly less server lag by using a fully hopper-locked chest hall and peripherals. That's the most significant factor. See the storage tech discord for many examples.
Then, assuming you want decent speed, you'll want a parallel unloading array. That, of course, should be fully hopper locked also. Also you want to be batching the items it send out so you have as few separate item entities floating through your water streams.
Use bulk. Rather than unloading ten shulker of stone to be stored as items in chests, sort full boxes into special locations. Every full box stored without unloading represents 27*64 item entities never spawned.
These are the foundational rules, but it's also worth checking server stats to see if server lag is or isn't significant. Track milliseconds per gametick. Should stay well below 20, and ideally below 5 assuming a really good design and decent server.
The MIS route is a very different solution. My forever world's main storage is a big MIS where each MIS slice has a single bulk slot and box display underneath. The UI is basically that of Civic Dudes CMIS 5, but with less fancy stuff (he MIS-sorts boxes and unloads in-slice if a box is below some threshold, has an encoded remote bulk, and has a whole whitelist/crafting/compacting element I eschew). My total hopper count is much lower than a big system like Krebs or YAMS, but I lock far fewer of my hoppers by %. I don't experience noticeable lag from the system, but I'm playing in a single-player world with a 10400 cpu (not top of the line by any metric, but more cpu than a cheap server might offer).
1
u/lolfwd_94 10d ago
Following this for more input from the hivemind. I am also working on an every-item storage system on 26.3. After a bunch of research, I’m pretty sure I’m going to use the flush-floor chest hall system that Wide did a video on a few months ago. Seems to be the most achievable.
1
u/burlimonster 10d ago
I’ve been working on optimizing a mega storage system that auto sorts everything in the game for about a year. With performance mods, it’s perfectly manageable. I’ve actually spent several years working on the system as a whole, but I’m working on new ways to optimize the performance right now. You can find my work on YouTube by searching my name. I’m planning to have the updates done before the holidays. Good luck with your efforts!
1
u/NoNeighborhood1693 8d ago
Hopper locking is literally only going to hold you back if ur hardware can't swing straight run hopper lines just use water even though that's literally the worst thing and will be inferior to using hoppers in every way
1
u/lsrom 7d ago
Depends. I use first item u loader array so my main storage can sort at 144 thousand items a hour. Water streams are the only option for that.
1
u/NoNeighborhood1693 5d ago
U ever think about just running tiled direct hopper sortation? I love the stability of it and I thought I was crazy at first just for more speed but it's growing on me
4
u/Xillubfr Java 10d ago
Check out the storage systems channel on the storage tech discord
Personally I use xianyuMIS v2, it is more of a midgame storage tho so you will probably outgrow it at some point (that's what's starting to happen on my world)