eyeonus / Trade-Dangerous

Mozilla Public License 2.0
97 stars 31 forks source link

Unknown Space listed as a System in trade route jump #102

Closed LeakingAmps closed 2 years ago

LeakingAmps commented 2 years ago

Noob here, so correct me if I'm wrong, but "Unknown Space" Doesn't seem to be a spot I can jump to, but it's listed in this trade route:

trade run --fr="LP 931-40/Fernandes Vision" --to="Wyrd/Bokeili Station" --cap=296 --cr=50000000 --ly=12.00 --empty=16.00 --supply=10 --jum=2 --show-jumps --planetary=N --fc=N --od=N --pad=L --hops=20 -vvv --summary --progress

Specifically in this step:

Load from Tau Ceti/Ortiz Moreno City (45ls, BMk:Y, Pad:L, Plt:N, Flc:N, Ody:N, Shp:Y, Out:Y, Ref:Y): 296 x Minerals/Bertrandite 16,515cr vs 21,367cr, 23 hrs vs 44 hrs, total: 4,888,440cr Jump Tau Ceti, 11.94ly -> Unknown Space, 9.88ly -> Duamta Direct: 18.55ly, Trip: 21.82ly Expect to gain 1,436,192cr (4,852cr/ton)

Am I missing something here, or is it just a bug?
eyeonus commented 2 years ago

Unknown Space means TD has no idea what system the station is in.

tl;dr: import the full system list or do the run with fleet carriers excluded (--fc N)

The code that does it was introduced here: https://github.com/eyeonus/Trade-Dangerous/commit/27ab8b397b1276732f1b915cc956792b03bd47ea

Only player-owned stations, that is, fleet carriers, will ever have the system they are in be 'Unknown Space'.

There are two workarounds: Option 1 is to download the entire systems data, rather than just the populated systems data, so that even when a fleet carrier is in an unpopulated system, TD will correctly report the system it is in, rather than stating it is in 'Unknown Space'. Doing this will dramatically increase the size of TD's database, I believe it triples the size, but it is an option in the eddblink import plugin if you want to do that, check the help for what options do what.

Option 2 is to exclude fleet carriers whenever it is possible that your trade starting point, destination, or route passes near the origin point of the map.

(I assume the map origin is the center of the Galaxy, that is, at or near Sagittarius A*, so I wouldn't expect the problem to come up, like, ever, so imagine my surprise when I see this bug report.)

I'll look into finding a different default location for 'Unknown Space' that's better than 0,0,0 if it's a big problem, but there's no way to get rid of thing that causes 'Unknown Space' without having every known system put into the database, which isn't done by default because of space reasons.

LeakingAmps commented 2 years ago

Option 2 is to exclude fleet carriers whenever it is possible that your trade starting point, destination, or route passes near the origin point of the map.

I do have --fc=N in the run options, is that no longer a functional shortcut for no fleet carriers?

Edit: as far as a better location for Unknown Space, could you not just put it like -50k, 10k, -25k? That should be far outside the galaxy, but still in the realm (at least x/z) of coordinates that TD could have to deal with.

eyeonus commented 2 years ago

All I can tell you is that if a station shows up as being in the system 'Unknown Space', that means the system that that station is in, is not a system your instance of TD has in its database.

This is usually caused by fleet carriers, because they can be found in unpopulated systems, and systems with no population are not, by default, imported when importing using the eddblink plugin.

The best advice I can give you is, if you encounter that problem again, do an import, make sure to explicitly import systems, and do the run again.

It is also never a bad idea to do a clean import in case any errors or database corruption have snuck in.

LeakingAmps commented 2 years ago

Yeah, if I run into it again, I'll pull a full, clean import :)

LeakingAmps commented 2 years ago

Whoops, wrong button ^_^;