The only thing you `need` to know, is the **name of the ship/station**.
In the new world, spawn a core of the exact same name,
fly it to a place, where the old ship would fit.
For this we assume the ship-name to recover is:
"//SomeShipName//"
Browse to the NEW world folder, it should look like this:
{F11504}
In the subdirectory named DATA it should look like this:
{F11506}
Browse to the OLD world folder, it should look like this:
{F11508}
Copy all files named "ENTITY_SHIP_SomeShipName*.ent" over to the new world folder.
The files with names r0, r1 represent docked entities, copy them over too.
If your OS asks for confirmation to overwrite the file:
//ENTITY_SHIP_SomeShipName.ent//
you did everything right, confirm this, and tell it you want to overwrite the file.
In the subdirectory named DATA it should look like this:
{F11510}
Copy all files named "//ENTITY_SHIP_SomeShipName*.<somecoordinates>.smd2//" over to the new world folder.
The files with names r0, r1 represent docked entities, copy them over too.
If a ship has different coordinates like 0.0.1: ALso copy them over to the new world.
If your OS asks for confirmation to overwrite the file:
//ENTITY_SHIP_SomeShipName.0.0.0.smd2//
you did everything right, confirm this, and tell it you want to overwrite the file.
Start the installation with the "new world" and reclaim your ship, to save a blueprint of it.
=Technical details
In a corrupted world the entities are in a blueprint like format, however, if there is no reference to the files, they wont get loaded in a new world.
This way/trick you create a reference in the new world to load a ship with name "SomeShipName" in the new world, and place the files from the old world in the same position.
Once the new world loads the old files, it does not care about the fact it saved only a core, the naming and some meta in the files will tell the server to go from the .ent and .smd3 files to the docked entities and other chunks.
So all you need to do is to create an entry point for the server to load the old files.