Page MenuHomeSchine - Phabricator

Starmade | Unable to spawn deleted blueprint
Closed, RejectedPublic

Description

If purchased blueprint is deleted from catalog, you can no longer add items into it. If the blueprint is already filled, then attempts to spawn it result in all contents dropping.

My expectation is that a purchased blueprint is good until discarded or spawned, and that loaded resources are not at the mercy of whomever uploaded it.

Thanks to TheGeek007 for finding this bug.

Details

Task Type
Bug
Testing Results
Affected Gamemode(s)
Single and Multi
Reproducible
Yes
Last tested (version)
0.197.48
Category
Engine
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
uncertain
User/Reporter/Contact
Username on Registry
ErthParadine
Steps to reproduce
  1. Purchase blueprint from shop.
  2. Add a few items to the blueprint, or fill it, just don't spawn it.
  3. Delete blueprint from Catalog.
  4. Attempts to add additional items will fail with the error "The blueprint for this item doesn't exist in the catalog". Players have no way to retrieve items already added to the blueprint.
  5. If filled prior to catalog deletion, attempts to spawn a post-deletion but filled blueprint will result in all items dropping into space.
Tester information (Internal use only)

solution would be to transfer the content in that case to one of these storage overflow meta items
(even though that is exploitable then i guess)


Attempts to spawn a filled blueprint deleted from the catalog results in dropped items and can not add items to an incomplete blueprint missing from the catalog.

WORKAROUND: If a new blueprint with the same name and layout is re-uploaded to the catalog then the previous blueprints will regain their function.

https://youtu.be/lFvAU3Ls7KI

WORKAROUND 2: If you can not remember the exact layout to recreate the previous blueprint you can recover the items from a partially filled blueprint by blueprinting a ship core under the partial filled prints name then you can continue to fill the partial print and once complete attempting to spawn it will dump the items in space.

https://youtu.be/ePLho3ZLLks

Serverconfig (server.cfg)
<replace this line with the file content>
Clientconfig (settings.cfg)
<replace this line with the file content>

Event Timeline

Restricted Application added a project: Issue Navigation. · View Herald TranscriptApr 23 2016, 2:18 AM
erthparadine updated the task description. (Show Details)Apr 23 2016, 7:49 PM
SmilingDemon shifted this object from the S1 Public space to the S3 Starmade space.Apr 23 2016, 8:44 PM
SmilingDemon changed the visibility from "Custom Policy" to "Public (No Login Required)".
SmilingDemon changed the edit policy from "Task Author" to "Starmade (Project)".
SmilingDemon edited Tester information (Internal use only). (Show Details)
SmilingDemon changed Affected Gamemode(s) from none/unspecified to Single and Multi.
SmilingDemon changed Category from none/unspecified to Engine.
SmilingDemon triaged this task as High priority.
Restricted Application added a subscriber: AndyP. · View Herald TranscriptApr 23 2016, 8:44 PM
SmilingDemon removed SmilingDemon as the assignee of this task.

-validated-

spunkie claimed this task.Apr 24 2016, 1:41 PM
spunkie changed the task status from Open to In Queue (Game).Apr 24 2016, 3:06 PM

-Confirmed-

Attempts to spawn a filled blueprint deleted from the catalog results in dropped items and can not add items to an incomplete blueprint missing from the catalog.

WORKAROUND: If a new blueprint with the same name and layout is re-uploaded to the catalog then the previous blueprints will regain their function.

https://youtu.be/lFvAU3Ls7KI

WORKAROUND 2: If you can not remember the exact layout to recreate the previous blueprint you can recover the items from a partially filled blueprint by blueprinting a ship core under the partial filled prints name then you can continue to fill the partial print and once complete attempting to spawn it will dump the items in space.

https://youtu.be/ePLho3ZLLks

Restricted Application edited projects, added Starmade, Game Development; removed Issue Navigation. · View Herald TranscriptApr 24 2016, 3:06 PM
spunkie edited Tester information (Internal use only). (Show Details)Apr 24 2016, 3:10 PM
spunkie changed Reproducible from uncertain to Yes.
spunkie set Last tested (version) to 0.197.48.
AndyP closed this task as Rejected.EditedApr 24 2016, 9:42 PM

-Rejected-

Intended behaviour ->
Reason:

The blueprint metaitems are only there to hold the blocks and a reference to a blueprint name.
If they are filled, and the blocks they carry match the blueprint name they can spawn, if not (blueprint removed/renamed/changed) they drop the blocks to cancel the spawn.
Making the blueprint persist with the metaitem,
its almost impossible to keep track which blueprints are "still referenced" and which have no references left. So the metaitem holds the name and cant link to the blueprint.

Restricted Application removed a project: Game Development. · View Herald TranscriptApr 24 2016, 9:42 PM
Restricted Application removed a subscriber: AndyP. · View Herald Transcript
AndyP moved this task from Unclassed to Archived on the Starmade board.Apr 25 2016, 6:19 PM

I have mixed feelings about the position taken here.

On one hand, as an admin, this makes it much easier to remove abusive blueprints from the game.

On the other hand, we now must advise players to not hold blueprints in their personal/storage inventories. Otherwise players are putting credits into an item that can disappear out from under them without warning, at any moment.

As a "workaround" I would suggest changing the terminology around blueprints: to say that players are "purchasing" a blueprint is misleading and incorrect when you consider the game mechanics. Instead I would suggest phrasing akin to "renting a copy", "purchasing a copy", etc...

Regardless of how it's phrased, it unfair to not inform them that what they purchased really isn't theirs to possess in perpetuity.

Purchase shouldnt be possible on normal settings anyway?
and the "purchase" of the blueprint itself is without any costs.

the spent blocks are being dropped into space after it cant be spawned from a full blueprint

the only thing i would like to see is a button to check if the BP is still valid and if not drop the already spent blocks tehn if that fails

AndyP added a comment.EditedApr 28 2016, 3:13 PM

T1376#53908
I agree to that in some ways,
however, any "abuse" is prevented by refunding the blocks if the blueprint changed for some reason.

Making the metaitem copy several MB of blueprint data is also not an option, as they can get dropped to space or have multiple copies of one blueprint, this will not help in general database size and also keeping it consistent.
As long as you can trust the one you bought the meta item from there is nothing to be concerned about.

There is a cost for station blueprints, using normal settings. Although ship blueprints are free.

Filling blueprints with items, moving them across the universe, and then making it easy to retrieve those items from a blueprint circumvents storage block mechanics, especially for couriers/traders - something that players are just starting to figure out. Perhaps blueprints should bear a mass/size that matches what they hold?

AndyP added a comment.Apr 28 2016, 3:28 PM

The station cost should be refunded as well. (Or is it charged on actually spawning the station?)

Anyway, making the metaitem represent the real mass of the containing blocks, would result in the need for heavy recalculation on every change of its contents and also on any load (as the blockconfig may have changed)

Its currently not "perfect" true,
but works currently reliable enough allow changes/finetuning at a later point.
(There are other features with higher demand for work on them =))

Charge occurs at time of blueprint purchase, just tested this.

Not expecting perfection, and I respect that there's other higher priority tasks. We'll just advise players that purchased blueprints are not actually purchased; either use them ASAP, trust the original owner, or save a duplicate into the catalog as yourself.

...Or copy to a design using a shipyard.

AndyP added a comment.Apr 28 2016, 4:48 PM

yeah, good idea to do this.

Make the blueprint require its mass and volume regardless of how filled it is.

Disposing of a blueprint should drop its items into space, or into the inventory it resides in, and refund credits if it's a station blueprint.

This should remove the constant recalc and trying to use blueprints as a way to avoid storage limits.

Restricted Application added a project: Engine. · View Herald TranscriptMar 10 2017, 6:14 PM