GithubHelp home page GithubHelp logo

joncage / ed-scout Goto Github PK

View Code? Open in Web Editor NEW
133.0 9.0 18.0 2.25 MB

An Elite Dangerous companion app to simplify finding unexplored worlds

License: MIT License

Python 47.55% HTML 15.66% Batchfile 1.11% CSS 2.15% SCSS 1.87% Inno Setup 1.25% JavaScript 30.41%
edsm elite-dangerous elite-journal

ed-scout's Introduction

Elite Dangerous Scout

GitHub Downloads Build Status

Greetings commander and welcome to EDScout; an Elite Dangerous companion app to simplify finding unexplored worlds.

I got sick of jumping into system after system trying to find unexplored worlds to put my name to only to be disappointed because someone had already explored it. This tool is intended to help improve your odds of finding new and interesting systems and worlds to uncover.

Note that many systems out there have already been discovered by commanders who weren't running EDDiscovery / EDSM. Consequently there's no guarantee that the system you're about to leap into is definitely new, but it certainly improves the chances. Conversely, if you're looking for guarantees that systems you're jumping to will make some money with a bit of scanning, this will quickly show you some profitable route options (along the lines of the road to riches but with less typing).

Enjoy this tool? Consider..

..to keep the scout flying :-)

Usage

  1. If you don't already have it, install Google Chrome browser
  2. Download the latest release of ED Scout
  3. Run EDScout.exe
  4. Plot a new route in Galaxy Map and watch EDScout work it's magic; Scouting out which systems in your route have already been explored and how much mapping them is worth.

Nav Route Example

* Note: This refers to whether EDSM knew about the system. There are plenty of systems out there which have been discoverd by console players and PC players not running EDDiscovery etc.

Command line options

If you want to make the web UI available to other devices on your network, you can specify a host (set this to the IP address of the machine running EDSCout) and port as follows:

EDScout.exe -port 12345 -host 192.168.1.31

Assuming your computer's firewall allows it, you should then be able to access it from other devices on the local network. For example here it is displaying on my mobile:

Connecting From Another Device On The Local Network

Troubleshooting

  • No GUI appears.
    • Check you have Chrome installed.
    • Check the logs in C:\Users\<YOUR USER NAME>\AppData\Local\EDScout\Logs\EDScout-YYYY-MM-DD-HH-MM-SS.log for clues.
  • Multiple entries appear in task manager.
    • This is normal (due to the architecture of the software) and is down to the fact we have a Python back end doing the hard work and a chrome instance displaying the results.
  • When I launch multiple copies, the second one crashes.
    • This is due to the way a background watcher looks for changes in the navroute files and (via a local network link) hands over the data to the web service. Don't run more than one copy and it'll work fine :-)

Version History

See https://github.com/joncage/ed-scout/releases

ed-scout's People

Contributors

alewando avatar joncage avatar mrtimbones avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ed-scout's Issues

Suggestions

This is a pretty cool idea. I like how it categorizes the bodies as you scan them. That part is useful because it ensures that you don't miss anything.

But, it skips a couple of important things.

  1. I'd like to be informed if the body has geological or biological features (or any locations, really).
  2. I'd like to be informed if the body has rings, and what kind they are

The navigation path part is useless to me, because I'm out exploring in the black where nothing is discovered. So all I get is a list of question marks.

Also, the navigation path doesn't work if you're travelling by carrier.

So I'd like to just disable that part, it takes up a lot of space for no reason out here.

Lastly, I had to use OnTopReplica to put your window over the ED window. It works well enough, but other similar tools for ED just use a window that can be set to always on top. That would be preferred.

Anyway, I think you're onto something here. Keep it up!

Add EDSM caching

To save unnecessary interactions with EDSM, it would be handy to add some caching of the lookups with some mechanism to check for stale data.

I've never hit their API limits using the tool myself but it would be polite to limit the load.

More cosmetic suggestions

A way to set font sizes, maybe even fonts, and adjust the column widths. Just to further help the user blend it in with the rest of the HUD. Also some internal way to set the window to stay on top and/or have a hot key to bring it to the front while playing. Right now I'm using another program "WindowTop" to do that for me, but for single monitor players a hotkey would be useful. I suppose anyone using Voice Attack could make a command for that, but not everyone runs that.

Color customization

Simplest thing to do without creating a settings menu would be to have the css between the <style> tags in the index.html be separate in its own .css file located where the .exe is. The user can tweak the numbers there without having to rebuild the file.

Windows Defender

Windows defender marks EDScout.exe as "Win32/DefenseEvasion.WI!ml"

Kill off old chrome processes on startup.

Had some thoughts from the discussion in #54 - We know the PID when we launch chrome I believe so we could write that value to a file each time we launch one. That way we can recall current chrome launches and kill those off too. Simple and should be effective.

EDSM http-502 errors crash EDScout

Looks like their API might be down and it's causing crashes:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python37-32\Lib\threading.py", line 917, in _bootstrap_inner
    self.run()
  File "C:\Program Files (x86)\Python37-32\Lib\threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "C:/Users/Jon/Documents/EDScout/EDScoutWebUI/EDScout.py", line 146, in receive_and_forward
    scout.trigger_current_journal_check()
  File "C:\Users\Jon\Documents\EDScout\EDScoutCore\EDScout.py", line 48, in trigger_current_journal_check
    self.journalWatcher.trigger_current_journal_check()
  File "C:\Users\Jon\Documents\EDScout\EDScoutCore\JournalInterface.py", line 189, in trigger_current_journal_check
    self._on_journal_change(self.latest_journal)
  File "C:\Users\Jon\Documents\EDScout\EDScoutCore\JournalInterface.py", line 193, in _on_journal_change
    self.report_journal_change(altered_file)
  File "C:\Users\Jon\Documents\EDScout\EDScoutCore\EDScout.py", line 169, in on_journal_change
    self.process_new_journal_entries(entries_with_populated_nav_route)
  File "C:\Users\Jon\Documents\EDScout\EDScoutCore\EDScout.py", line 175, in process_new_journal_entries
    self.process_journal_change(new_entry)
  File "C:\Users\Jon\Documents\EDScout\EDScoutCore\EDScout.py", line 153, in process_journal_change
    self.report_new_info(EDScout.create_system_report(new_entry))
  File "C:\Users\Jon\Documents\EDScout\EDScoutCore\EDScout.py", line 94, in create_system_report
    system = EDSMInterface.get_system(system_name)
  File "C:\Users\Jon\Documents\EDScout\EDScoutCore\EDSMInterface.py", line 34, in get_system
    raise Exception("request returned bad response code %d" % (data.status_code))
Exception: request returned bad response code 502

Mark non-scoopable systems in trip list

As the star class is given like [M] in the trip list, maybe color the non-scoopable (aka all other star class than OBAFGKM) the star class symbol in red?
So that it is clearly visible when there's a non-fuel gap ahead where you definitely want to start with full fuel tanks.

[M]- default color from HUD
[TTS] - red color from HUD

Enhancement request: Help plotting an undiscovered route

Certainly a large enhancement, but it would be amazing to have the tool plot the route for you through an area and identify the undiscovered systems. This would be especially useful when you are in a nebular is often many of the stars have already been discovered, so you can spend hours hopping around to find ones that are undiscovered. Another useful item would be to say plot me an optimal route to map every system within X lys. Then you just get going and it will track which ones you have already done and which are next.

Replace text with icons

For star type and planet type, it would look neater to add some icons instead of just plain text.

There are probably other aspects of the UI that would benefit from this too.

Not pulling route as it changes, not closing process when closed

The second part is like it was doing with 1.0, I can close the window but the two processes remain in Task Manager usually until I kill them. I can open and close and get a whole bunch of EDScouts in the manager.

The first - Version 1.1 was pulling perfectly, I could change a route in the map and would see the update right away. With 1.2 it doesn't show activity if it's up and running. If I close it (and that's where I noticed the process problem) and reopen it will usually pull the route I had last plotted. A few time it pulled up several previous routes, cleared, and finally showed the last one. So it's not tracking the json file as well as it was before I guess.

EDScout crashes if a user's save games are relocated to another drive

E:\dstru\Downloads\EDScout-DiagnosticBuild\EDScout>EDScout.exe
Traceback (most recent call last):
  File "EDScoutWebUI\EDScout.py", line 217, in <module>
  File "EDScoutCore\EDScout.py", line 29, in __init__
  File "EDScoutCore\JournalInterface.py", line 168, in __init__
  File "EDScoutCore\JournalInterface.py", line 197, in _configure_watchers
Exception: Unable to start watching; Path does not exist: C:\Users\dstru\Saved Games/Frontier Developments/Elite Dangerous
[19600] Failed to execute script EDScout

The error is correct -- that path does not exist. My saved games are stored at E:\dstru\Saved Games using the standard Windows method of relocating user folders
image

This is the first application I've encountered with issues following the redirect and have been using this feature since Windows Vista.

Originally posted by @Ketris in #77 (comment)

Add detection and reporting of planetary features (biological, geological, ruins)

As per the discussion in #93 from @artig4n:

  • Geological is easy enough, just volcanism + landable.
  • Biological apparently there's some hints in the codex that may indicate the requirements for life we can use. I have at least one journal that entries from a body that includes biological signals to look at but really need more data to do this reliably.
  • Ruins I'm less sure about. Need some examples.

Tidy up layout.

  • A few elements look a bit clunky / mismatched like the box holding the distance, text-justification and the way systems line up with scans.
  • Need an icon for gas giants.
  • Need an icon for rocky bodies.
  • Need an icon for ammonia worlds (or re-use water)?
  • Need an icon for unmapped worlds.
  • Could do with a better icon for belt clusters.
  • Would be good to use more of the width of the page if possible.

We should tidy that up and anything else anyone spots.

HUD color

Path being used is "C:\Users\Jon\AppData..."

Crash on startup when attempting to open chrome UI

Reported by fenland_idiot:

Hi JonCage, Im interstered in using ED-Scout but it keeps erroring out / not starting. This is my latest log file: 2020-08-22T18:32:22.407Z - EDScoutWebUI-EDScout - INFO - ED Scout v1.2.4 Starting 2020-08-22T18:32:22.762Z - EDScoutWebUI-EDScout - INFO - Found existing Scout instance PID:7524, killing off before continuing 2020-08-22T18:32:22.784Z - EDScoutWebUI-EDScout - INFO - No HUD overrides file detected (C:\Users\Ben\AppData\Local\Frontier Developments\Elite Dangerous\Options\Graphics\GraphicsConfigurationOverride.xml)

Any Ideas? I do have a job load of other ED plugs, such as Dr Kai's profile launcher, EDDiscovery and ED Market connector, but I still get a crash with none of those launched?


defaultconfig_file=C:\Users\Ben\AppData\Local\Frontier Developments\Elite Dangerous\Options\Graphics\GraphicsConfigurationOverride.xml Exception in thread Thread-2: Traceback (most recent call last): File "threading.py", line 917, in _bootstrap_inner File "threading.py", line 865, in run File "flaskwebgui.py", line 192, in open_browser File "subprocess.py", line 769, in _init File "subprocess.py", line 1172, in _execute_child OSError: [WinError 87] The parameter is incorrect

Integrate journal files to show next FSD target info

Currently the application just watches for nav route changes but we could do more by reading the journal files to pick up the next jump target.

This would mean:

  • Simpler scanning for the next jump (and less load on EDSM) without reloading the whole nav route.
  • Ability to show current system (and details of it).
  • Ability to show your progress through the nav route.

Investigate what system value of zero means.

I saw one system marked as zero mapped value that turned out to have several unmapped HMC worlds worth a fair bit. Maybe we should treat zero value as unexplored? Needs more investigation.

1.5.1 Does Not Start

image
Windows 10 build 20206.1000
Downloaded tagged 1.5.1 release just now (redownloaded twice to be sure)
Chrome is (and always was) installed and set as default browser.

Prevent re-plotting the route if the start / end didn't change

Going to the galaxy map causes a new navroute entry in the journal (I think) and the result is that it replots the whole route in the scout which can be a little annoying when you just wanted to check a single item.

We should therefore remember the start and end of the last nav route and suppress sending those events if nothing changed.

1.4 seems completely broken

The current location and nav route are not updating at all.

The web server isn't providing any data at all.

This all worked in version 1.3.

Update
For unknown reasons, after a restart of the app, it is now updating with data and the web server is working.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.