Refined Storage

Refined Storage

77M Downloads

Inception storage should be blacklisted

LemADEC opened this issue ยท 16 comments

commented

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:

  1. fill a container
  2. 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]

commented

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.

commented

There is plenty of mods who allow nested storage. But I guess some check for complex NBT could be nice.

commented

Nested storage I don't care about, but there must be some checks for NBT size to avoid crashes.

commented

Fix clients crashes doesn't qualify as a Feature request, just saying

commented

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.

commented

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

commented

or maby compress the metadata of similar items as in an metadata table and where and what is stored

commented

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

commented

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.

commented

Metadata doesn't matter, it's the NBT tag size.

commented

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.

commented

What is Item#getShareTag ?

commented

It is a smaller tag used to send to the client. As not all tags need to be sync every time.

commented

Does that mean it needs to be designed as such in the mod? when can we get a version with the actual fix?

commented

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.

commented

This is not an issue anymore with Item#getShareTag.