Inception storage should be blacklisted
LemADEC opened this issue ยท 16 comments
Issue description:
Infinite storage and player crash
What happens:
Filled Storage drives can be stored into other storage drives/blocks.
This is a balance issue and leads eventually to client crashes.
What you expected to happen:
Blacklist storage containers from being added, including but not limited to:
- filled storage crates from IE or other mods
- filled storage drives and blocks from Refined storages
- filled backpacks etc.
As a minimum, prevent to store items that are too complex (NBT size bigger than 500 bytes or something).
Steps to reproduce:
- fill a container
- try to place it into another
Version (Make sure you are on the latest version before reporting):
- Minecraft: 1.10.2
- Forge: forge1.10.2-12.18.1.2094
- Refined Storage: refinedstorage-1.1.1
Does this issue occur on a server? [yes/no]
I'd say that just having a storage item/block that has any inventory filled up should be blacklisted, but even if it is just that, I would think that you would need to integrate multiple mods and check if any of the items/blocks have any items in them.
There is plenty of mods who allow nested storage. But I guess some check for complex NBT could be nice.
Nested storage I don't care about, but there must be some checks for NBT size to avoid crashes.
He makes a pretty good point. Maybe set a specific limit to how full, or how much metadata one specific item or block has. Maybe a cap of 50 items, so that there is no crash, and that "b." that was listed above. Or maybe a set limit on the amount of metadata a specific item or block has. That is also an idea, so if you have many nested drives.
sometimes storage nesting things like this is a really bad idea example storing forestry saplings in your refined storage causes bad things to happen because of the lots of metadata and if u have to mutch metadata it leads to a. crashing b.notbeingable to login due to the metadata cap being reached and picking up the disk with said metadata can make it imposible to log in XD
i have no issue with storing blank disks tho in disks but ya not full 64k drives
or maby compress the metadata of similar items as in an metadata table and where and what is stored
We had a similar problem on a ftb server I moderated a while back, players would go to move bases and put all of their 64k storage drives (may have use the larges ones from the extra cells mod?) in their inventory and their player file size would get to big and they would crash out of the server and ultimately loose their inventory, and this was with the original AE in 1.7.10
So yeah. Not sure if compression of metadata is possible, but maybe a filter for putting storage in your inventory, or storage system, so that the crash, and whole inventory deletion does not have to happen.
Player's inventory has a limited size, the same way AE disk are limited in storage capacity.
Allowing inceptions is allowing unlimited storage. We have to remain consistent in our design.
It is a smaller tag used to send to the client. As not all tags need to be sync every time.
Does that mean it needs to be designed as such in the mod? when can we get a version with the actual fix?
I don't think this is actually fix with this tho. As there will still be an NBT overflow on the server side. But I'll be discussing it with @raoulvdberge when he wakes up.