Just caught up with this thread after missing maybe a half dozen pages.
For all of those doubting bots exist or how difficult they would be to write, I know HOW I would do it.
Using something like OPEN CV which is a freely available Computer Vision package to read the screen. Everything you need to steer the ship is visible on screen such as the compass and various warnings.
Write a few simple algorithms to steer the ship in SC, align to a FSD target, avoid the big easy to see shiny sun etc and then make that algorithm mimic a key press input.
Throw in a a few random delays or a little bit of white noise in the steering input and this would be nearly undetectable by frontier because you aren't hacking anything you simply have a simple automaton reading the screen and pressing buttons. And you can make it slightly random so the inputs don't look too perfect.
You do realize though, that it is a pretty easy matter to read things like system memory and look for things like CV running. While this alone may not warrant actionable responses, it does lay the foundation for an actionable response. Think of it like this: It may be perfectly legal to own bolt cutters, grounding rods, jumper cables, a lock pick set, latex gloves, super glue, packing tape, carbon powder and a ski mask. You can even drive around with all these things in your car, at night. But, if you happen to get stopped by your local police, they can, and regularly do, charge people, especially those with a documented criminal history with "Possession of burglary tools", because these are the tools a burglar would have.
In the same token, CV is something a botter would have running, at the same time as Elite. And there are already pre-written packages out there specifically designed to look for things like this running at the same time as various games. So there is validity to this.
The only way to find them would be to laboriously track suspect commanders and search log files to find long gaming periods with very little variance on activity. but crucially fdev would have to have some idea of where to look. Remember as well that the instancing and peer to peer set up of the game means that fdev servers do NOT see every keystroke you make, only those that require a server response. I am guessing this is limited to calls for new star system load and calls such as 'landing completed', mission accepted/completed... That would mean fdev could only track suspected commanders based on elapsed gaming time or repetition of the same mission types.
Clearly not.
The only slightly more complex part of this approach would be the ability to read navigate and choose missions. But with all the screens in a fixed layout and the fonts can be read through OCR, this is still very doable. It is debateable whether running tourist passenger missions is easier or harder, it would make more cash. Trickiest part of passenger missions would be identifying and tracking the tourist beacon to scan before returning.
This is all WELL within the range of a Highschool / A level student studying computer science. I reckon I could pull the necessary resources from google searches within a couple of hours, and coding/training the bot is maybe a day or two's work.
Yes, the docking computer makes things easier, but docking is not hard. the compass tells you where to fly to to get to the station, the trickiest bit is getting in front of the station with just visual cues, but once there the whole slot is lit up like a beacon and easy to track. Leaving the station is pretty easy as the slot is lit up and easy to track and the path you take from the pad you launch from is perpendicular to the slot.
The only real risk to such a bot would be being PvE interdicted - ie anything that disturbs the routine. I thinkin that instance I would simply program the bot to return to the main screen wait the 15 seconds and log out. Remember the bot account would be rated harmless, but because of the earning power could easily be in a clipper, so it is not going to attract attention of any NPC likely to be able to destroy it in 15 seconds. then simply login again, replot course and off we go.
I think inside a week you could have a bot running capable of 24/7/365 doing cargo missions between predetermined (human chosen) systems and stations that have been bookmarked. Or more accurately I could have several bots running simultaneously.
That makes you a shed full of money in the early part of the week, which you can then use to buy tons of PowerPlay assets in the later part of the week and basically run the same processes to deliver the PP assets 24/7
Your views on whether you think this si cheating or not are your own. However for the avoidance of doubt FDev have explicitly stated it is against their terms of service so it IS cheating. The inability for anyone to rigorously police this though does leave the whole issue unresolved.
Frontier has also demonstrated in the past the ability to detect "Long Running Macros", and let's not forget about their glorious sweep of the module engineering exploit. It's just that these things have to be prioritized, investigated, documented - there's an entire process that needs to be worked before action can or should be taken. And it takes more than a simple "Wah, someone cheated!" post here with an expectation of what? That person so accused is instantly banned? A special MI-6 task force is dispatched to their home to drag them out of bed and give them a flogging? Or the magical "I Win" button appears on your screen?
Let's put this into a better perspective - we can all agree that Frontier does not want, welcome or condone cheating. Now where does this factor in to a much bigger picture? That is, how do you prioritize addressing this in comparison to something like: If anyone equips this particular module and then attempts to engineer it, it applies the wrong modification, and the next time that person tries to log in, their client crashes because of this (happened during the Engineers beta), or If more than 4 people enter an instance in this particular system at the same time, a memory leak starts in the Matchmaking Server and destabilizes the game for everyone.
Clearly, if you are a rational, even moderately intelligent person, you realize that game-breaking, server-crashing, wide-reaching issues need to be addressed before something as relatively minor as this - and yes, this really is relatively minor in comparison. This doesn't break the game, just the arbitrary rules that are not required to make the software functional, but exist merely to attempt to reign in human behaviors.
Here's another way to look at it - the word: "******", but let's just assume that whatever that word happens to be, was not filtered by profanity filter. It's vulgar, makes some people cry to see, and yet, for some reason, the chat filter lets it right on through. Should all work on all other areas of the game be stopped to fix this? Does the word "******" showing up render the game unplayable? No, it doesn't. Sure, you may not like seeing "******" on your screen, but that doesn't stop you from being able to play.
On the flip side, something like "******" might make its way up to the top of a fix-list a lot sooner than something like "In the flavor text for missions hauling biowaste, biowaste is mis-spelled as "biowaist".
Is cheating a problem? Sure. Is it game-breaking, universe-ending, insolvency-causing? No.