Page MenuHomeSchine - Phabricator

Starmade | Entity flag editing
Closed, FinishedPublic

Description

BUG:
Force-docking a station to a ship results in a portable station, allowing homebase protection (invincible ship), one entity claiming multiple systems, factories aboard ships, shops aboard ship (repairing armor from the shop, as well as bumping trade guild ships to restock it [free items])

To achieve this, you need a tool to convert entities to other states (ship, station, asteroid)
I used http://starmadedock.net/content/blueprinttype-converter.1010/ to achieve this.

First, create a ship (can just a core) and dock it to the ship.
Save the parent ship as a blueprint
use the conversion tool to change ONLY the docked entity to a station.
load the modified blueprint and you'll notice a vivid blue 'docked' entity. This is the docked station.

This station moves with the ship, you can build on it as if it is a station.

Adding a faction module, making it a homebase and claiming systems are all possible with this ship/station hybrid.

Details

Commits
Restricted Diffusion Commit
Task Type
Bug
Testing Results
Affected Gamemode(s)
Single and Multi
Reproducible
Yes
Last tested (version)
0.19331
Category
Engine
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
uncertain
User/Reporter/Contact
URL to Starmadedock thread
http://starmadedock.net/members/crusade.141228/

Event Timeline

Crusade updated the task description. (Show Details)Jul 16 2015, 8:53 PM
Crusade changed Affected Gamemode(s) from none/unspecified to Single and Multi.
Crusade changed Reproducible from uncertain to Yes.
Crusade set Last tested (version) to 0.1932.
Crusade changed Video Card Vendor from uncertain to NVIDIA.
Crusade set Video Card Model to GTX970.
Crusade edited Detected video (Graphicsinfo.txt). (Show Details)
Crusade edited SMC-Report. (Show Details)
Crusade edited Serverconfig (server.cfg). (Show Details)
Crusade edited Clientconfig (settings.cfg). (Show Details)
Crusade edited Java Version (32bit). (Show Details)
Crusade edited Java Version (64bit). (Show Details)
Crusade set URL to Starmadedock thread to http://starmadedock.net/members/crusade.141228/.
Crusade added a subscriber: Crusade.
Crusade created this task.
Restricted Application added a project: Issue Navigation. · View Herald TranscriptJul 16 2015, 8:53 PM

This is a blueprint with the exploit already applied.

issue needs to stay private when processed (exploit)

AndyP claimed this task.Jul 16 2015, 10:31 PM
AndyP changed the visibility from "Custom Policy" to "Custom Policy".
AndyP changed the edit policy from "Task Author" to "Starmade (Project)".
AndyP set Task Type to Bug.
AndyP set Category to Engine.
AndyP set OS-Specific to No.
AndyP set Hardware-Specific to No.
AndyP edited Serverconfig (server.cfg). (Show Details)
AndyP edited Clientconfig (settings.cfg). (Show Details)
AndyP edited Java Version (32bit). (Show Details)
AndyP moved this task from New / Unconfirmed to Open / Validated on the Issue Navigation board.
AndyP added a subscriber: Megacrafter127.
AndyP added a subscriber: AndyP.
AndyP removed AndyP as the assignee of this task.
AndyP triaged this task as Urgent priority.

Validated - added mega as subscriber to allow a preparation to avoid THIS type of conversion

Custom view policy:
Starmade
Author
Subscribers

(to allow private processing)

Megacrafter127 changed Last tested (version) from 0.1932 to 0.19323.Jul 16 2015, 11:55 PM
Megacrafter127 edited a custom field.
Megacrafter127 changed Video Card Vendor from NVIDIA to uncertain.
Megacrafter127 removed Video Card Model.
Megacrafter127 edited Detected video (Graphicsinfo.txt). (Show Details)
Megacrafter127 edited SMC-Report. (Show Details)
Megacrafter127 edited Serverconfig (server.cfg). (Show Details)
Megacrafter127 edited Clientconfig (settings.cfg). (Show Details)
Megacrafter127 edited Java Version (32bit). (Show Details)
Megacrafter127 edited Java Version (64bit). (Show Details)
Megacrafter127 changed the task status from Open to In Queue (Game).Jul 17 2015, 12:03 AM

Issue completely confirmed, removed unrelated data from task.

As for preventing the tool from converting docked entities:

The tool does not overwrite the blueprint, it creates a new one under a different name in the same folder, so unless the user forcefully deleted the original attachment, and renames the converted attachment to the original's name, it will have no effect.
Also, the method the converter uses was disclosed, meaning anyone, who does know the tool can do this, can also do the change manually if the tool does not allow it.
The only permanent solution I can see, would be to have the game automatically change all blueprint attachments to ships, or to simply ignore the entity-type flag on attachments.

Restricted Application edited projects, added Game Development; removed Issue Navigation. · View Herald TranscriptJul 17 2015, 12:03 AM

I'd like to also request, that the fix for this bug be a serverside config-option(ofc as it is an extreme exploit, the fix is enabled by default), seeing as the force-docked-stations function normally and do not risk breaking the game(only its balance).
However, using this exploit, one can create several really interesting contraptions:

  • Factory-ships
  • Almost invincible ships with weakspot(as homebase-protection does not propagate to the mother-entity, its blocks will be the weakpoint, eventually destroying the rail used to dock the station, instantly dropping the station as a normal station in space)[if all parties have it and agree to it, I see no problem]
  • Premanufactured warpgates(the warpgates on docked stations will act normally, however an entity passing through them will not trigger it, until it is undocked and the station is normalized. This allows for easy warpgate deployment, as all that is required is a ship undocking the station at the target location, with the gate being unusable until then) The galaxy map will also update the gate's connection and the station's location if the ship moves, so arrival at the deployed gate will always be possible and is currently not broken.

As all other station related systems also function normally, this list of possibilities is WAY too short.
However, what definetly should be fixed regardless is the issue mentioned in T417.

Restricted Application added a commit: Restricted Diffusion Commit.Jul 18 2015, 7:30 AM
Restricted Application changed the task status from In Queue (Game) to Resolved by committing Restricted Diffusion Commit.
Restricted Application edited projects, added Quality Assurance; removed Game Development. · View Herald TranscriptJul 18 2015, 7:30 AM
Megacrafter127 changed Last tested (version) from 0.19323 to 0.19331.Jul 20 2015, 3:32 AM
Megacrafter127 closed this task as Closed.Jul 20 2015, 3:37 AM

Fix confirmed:
The new option in the server.cfg is "OVERRIDE_INVALID_BLUEPRINT_TYPE", and it is true by default.

If the option is active(true), any attachments of a blueprint will be forced to be ships upon loading. The original blueprint remains unmodified.

If the option is inactive(false), attachments of a blueprint will be loaded as they were stored, and not be forced to be ships, which is the intended behaviour if the option is inactive.

Restricted Application removed a project: Quality Assurance. · View Herald TranscriptJul 20 2015, 3:37 AM
Restricted Application removed a subscriber: AndyP. · View Herald Transcript
Megacrafter127 mentioned this in Unknown Object (Maniphest Task).Jul 31 2015, 8:29 AM
AndyP changed the visibility from "Custom Policy" to "Public (No Login Required)".Aug 4 2015, 7:27 PM
AndyP removed Megacrafter127 as the assignee of this task.Aug 4 2015, 7:31 PM
AndyP shifted this object from the S1 Public space to the S3 Starmade space.Aug 11 2015, 11:31 PM
AndyP changed the edit policy from "Starmade (Project)" to "All Users".
Restricted Application added a project: Engine. · View Herald TranscriptMar 10 2017, 6:30 PM