How to Automate Mining Asteroids in EVE Online

Another error in CMD just before undocking. Something like “no step remaining”. Disappears while undocking.

No, the pointer positions itself on the 'mining" bookmark. This opens the level down submenu where the first choice is “Warp to Location Within 100 km” but the mouse does not move from the mining bookmark and nothing further happens. The desired would be for the pointer to next position itself on the submenu item “Warp to Location” which would open another submenu and then move to click on “Within 0 m” submenu item in this last submenu.

The CMD window last line when bot breaks is" Travel to asteroid belt: click menu entry “Warp to Within”"

This is though getting me to wonder why we actually need the “mining” bookmark. The same menu where the bot finds this bookmark also has an item “Asteroid Belts”. Bot could pick a belt from there instead of a bookmark. It works so well I started using this for manually performing the same mining operation.

This could actually be the first step when U maybe one day develop testing for depleted asteroid belts? Am I thinking in the generally correct direction?

I think this is fixed with commit 36964bc8fecbc70db38a20656b9056178d6caacd and should not appear in any later versions.

Nice :+1:
I changed the bot to follow your process as quoted above:

You can use this version with bot-source bots/implement/applications/eve-online/mutant-wizard-mining-bot at 21ca6ece5d7751769b8fad7d5b24f434530a58cc · Viir/bots · GitHub

Avoiding the dependency on a bookmark seems an improvement to me since it reduces the complexity of the setup required to start using the bot. This would also make the bot usable for a larger group of users.
Regarding the implementation: It seems very simple, no reason to not use this way.
There might be more aspects to consider known to people who play the game.

Ran the latest version several times. We are starting to see the bot doing stuff.

  • First run bot undocks. Not sure why but two subsequent times it wouldn’t undock, After that it always undocked and I couldn’t recreate the failure to undock.
  • It then warped using the “mining” bookmark I created when we started testing . By this time the Asteroid Belt was all depleted and the bot stopped.
  • I created a new bookmark within the Asteroid belt that had plenty of ore.
  • First run with the new bookmark when approaching the Asteroid Belt the bot clicked the Ore Asteroid before warp finished so it didn’t get the Approach menu item and stopped. Subsequent runs it performed this step exactly on warp end clicking on Approach with good timing. It might anyway be worth while checking the trigger for the click to make sure it is linked to a second or two after warp ends.
  • Asking you to wait for the ship to stop before turning on the mining lasers was a mistake. It takes an exhausting several minutes for the ship to completely stop. Maybe you can turn the lasers on when in range. 8 km from the Ore Asteroid works for both Miner I and Miner II. Either that or when the speed drops to below 10 m/s. Either should be ok.
  • Bot is turning on only one Mining Laser. Need to turn on the second one as well.
  • When an Ore Asteroid is depleted there is usually no need to approach another Ore Asteroid since there are mostly a dozen or even more in range. Can just target another unless of course in the rare case when there isn’t one in range.

I think enough for the time being. if we can get this working then we can continue with the rest.

Would you like comments or issue regarding the travel bot here or do you want to create a new thread since the old travel bot thread is obsolete?

Sounds like a problem. There is already a step in the bot to wait until the warp is finished:

Since your test result this seems insufficient. How should the bot decide if warp is finished?
How can we tell if the warp has finished?
The isShipWarpingOrJumping is only looking at the ship UI indication so far:

Depends on: Under what title would the people you want to see it expect to find your feedback under?
As long as someone would expect your post to find under this title:

How to Automate Mining Asteroids in EVE Online

Then this thread is a good place to post it.
However, I understand that you might want to improve visibility of your post even further, so feel free to choose a thread with a title that you find fits even better.

If you have something that should go under another title, you can create a new thread and enter the title there. You do not need to wait for me, as we have a user interface which supports users creating such a thread. You should see a button containing the text New Topic in the upper right corner. This button will lead you to the thread creation form.

The condition part makes sense, it is clear how this could be done in the game.

Two questions remain:

  • Reading your post, I am not sure where you want to place that step. Should this go where this step was before?

“(for reliability wait until ship stopped)”

  • Also, I am not so sure about the effect:

turn the lasers on

Could we achieve that by clicking on the modules in that step?

How can we tell if the warp has finished?

Possible multiple options.
Ship UI displays (warping) while the ship is warping and then starts to display speed in m/s when it drops out of warp. Absence of warping could be one method, reading ship speed in m/s could be another method. A third method could be 3 lines of above the ship UI. While warping it displays in the first line “WARP DRIVE ACTIVE” second line displays destination and third line displays distance to destination. When it drops out of warp these 3 lines disappear completely.

Yes instead of waiting for the for 0.0 speed you can replace it with one of the other conditions, less than 10 m/s or with less than 8,000 m distance to the ore asteroid.

yes, bot already clicks one laser module, only needs to click the second one right next to it.

Implemented this now here:

Implemented this here:

You can load the updated bot from bots/implement/applications/eve-online/mutant-wizard-mining-bot at f6cd8219e8cb1e27b26e0bc0894f9dba46eba10b · Viir/bots · GitHub

Bot doesn’t run any more. CMD response in the shot.

https://photos.app.goo.gl/SUVFAfapW7mBASSh8

Can you copy the text output from the CMD window and post it here?

The application to execute does not exist: ‘C:\Users\Wizard\AppData\Local\Temp.net\BotEngine\gj3n0oct.plz\BotEngine.dll’.

C:\WINDOWS\system32>C:\EVE\BotEngine\BotEngine.exe start-bot --bot-source=“bots/implement/applications/eve-online/mutant-wizard-mining-bot at f6cd8219e8cb1e27b26e0bc0894f9dba46eba10b · Viir/bots · GitHub
The application to execute does not exist: ‘C:\Users\Wizard\AppData\Local\Temp.net\BotEngine\gj3n0oct.plz\BotEngine.dll’.

C:\WINDOWS\system32>

Exactly the same output when trying to use the travel bot.

Interesting. Looks like I might find more information on the web when searching for this:

Yes, the output you get seems not related to the bot-source. I guess it is even the same when you only start the botengine.exe without giving it any arguments.

I was curious what is in this directory, so I looked into C:\Users\John\AppData\Local, but I see no subdirectory Temp.net in there :confused: It also does not seem to appear there when I run the botengine app.

Seems other people encountered this problem before: Publishing A Single EXE File In .NET Core 3.0 – .NET Core Tutorials

Do you see anything in this directory:

C:\Users\Wizard\AppData\Local\Temp.net\BotEngine

?

The reported path is wrong. The actual path is somehow changed by the forum text formating. In the actual directory path which you see below there is back slash between Temp and .net. Not sure why forum takes out the back slash??? If you have a look at the CMD shot I posted you will see the actual directory path.
C:\Users\Wizard\AppData\Local\Temp.net\BotEngine\gj3n0oct.plz\

The last directory gj3n0oct.plz is empty.

Anyway this is way over my head so cant help.

Ok, now I see an analog here, I have a directory at C:\Users\John\AppData\Local\Temp\.net\BotEngine. I do not see anything in there and that does not change during running of the app.

The problem you are seeing might be related to the single-file executable packaging recently introduced. As I understand the .NET tooling, at least some versions of this packaging cause some unpackaging to files before actually starting the program: https://github.com/dotnet/designs/blob/02237ac97879db431e4ffe1a3277432745c53e6b/accepted/single-file/staging.md#1-self-extractor

Maybe I can fix it by building a new version without the single-file packaging.

I uploaded such a version at https://botengine.blob.core.windows.net/blob-library/by-name/2019-10-21.BotEngine.Console.publish.debug.zip

If you run the BotEngine executable file contained in that zip-archive, what output do you get in the console?

Yup that will do it, now I’ll just play around with the bot for a while to see how it works.

Thanks for the feedback, glad to read that works.

Regarding the mining bot: Now that I see how these steps have accumulated in the bot over the recent iterations, I think we could find a way to model a mining bot in a simpler way.
Looking again at the latest version I suspect for example module clicks could be simplified: