A Simpler Way to Make EVE Online Bots

I found a way to simplify the process of developing bots for EVE Online:
This is an interactive development tool which helps you discover and test building blocks and combine them into a bot, step-by-step with feedback along the way.

So the main advantage is that you get feedback on your ideas within seconds, to help you answer questions like:

  • What is the best way to find this object in game?
  • Does this code module that interacts with the game client work as intended?

It simply helps you test your code fast: Just type the code to test into the app, and it is executed right away. So you can test individual functions before composing them into bot.

When you experiment with the memory reading side of things, you have two options: You can read from a live EVE Online client, or you can read from a process sample file. Using a process sample file allows you to experiment with the sensing (memory reading) side without having to start an EVE Online client. Both approaches to memory reading are demonstrated in the included sample script.

You can download the development tool from https://botengine.blob.core.windows.net/blob-library/by-name/2019-04-13T10.repl.zip
In the zip-archive you find a file called BotEngine.Windows.App.exe, this is the development tool.

To use the BotEngine.Windows.App.exe, you need the following software installed on your system:

  • Windows 10 x64
  • .NET Core 2.2 SDK for Windows x64
  • .NET Framework 4.7.2 Developer Pack for Windows x64

You can download installers for .NET from .NET Downloads (Linux, macOS, and Windows)

If no version of .NET Core 2.2 is installed, the app might display an error message like the following on startup:

It was not possible to find any compatible framework version
The specified framework ‘Microsoft.NETCore.App’, version ‘2.2.0’ was not found.

If the .NET Core 2.2 SDK is not installed, the app might display an error message like the following:

Unable to restore packages from ‘C:\Users\TheAdmin\AppData\Local\Temp\scripts\C\Users\TheAdmin\Documents\repl-directory\REPL\interactive\interactive\script.csproj’. Make sure that all script files contains valid NuGet references

  • Dotnet.Script.DependencyModel.Context.DotnetRestorer.Restore(string, string)
  • Dotnet.Script.DependencyModel.Context.ProfiledRestorer.Restore(string, string)
  • Dotnet.Script.DependencyModel.Context.ScriptDependencyInfoProvider.GetDependencyInfo(string, string)
    […]

Once you have done installed these dependencies, you can start BotEngine.Windows.App.exe.
I included two files in the zip-archive to demonstrate how this tool can be used:

  • setup-sanderling.csx: This script file defines memorable names for common functionality from the Sanderling framework (https://github.com/Arcitectus/Sanderling). It includes the good stuff from the Sanderling framework, such as finding information in the game clients’ memory and interacting with objects in the game window. As long as you work with the EVE Online client, you probably always want to load this first.
  • demo-eve-online.csx: This builds on the other script file mentioned above to demonstrate actual use-cases. This file contains statements in the same form you can type into the interactive development tool. Some use-cases demonstrated in this file are:
    • How to read memory contents from a process sample from a file.
    • How to inspect a live EVE Online client and find stuff in its memory.
    • How to click on a UI element in the game client.
2 Likes

I updated the guide to the newest version of Sanderling memory reading and improved versions of the demo scripts.
The download link to the Archive containing all the files is now https://botengine.blob.core.windows.net/blob-library/by-name/2019-04-13T10.repl.zip

1 Like

A post was split to a new topic: How safe is it to use on Eve Online?