Builds

Available downloads

Stable is the recommended track for most users. Alpha gets you the newest capabilities first.

Stable 1.9.9774 Alpha 1.9.9980
Windows 10/11 x64 Administrator rights
Release Notes

Track recent changes

Every release stays linked here so you can inspect what changed before you switch versions.

Release

1.4.6607

Permalink 2 years ago

Scripting/tuning/bugfixes

This release contains mostly different improvements and bugfixes from the first week of Behavior Trees being public and people starting doing some scripting in it.

On-screen-display - added Window and Region visualization

In all triggers of a Search family, new option is added which highlights on the screen the window that is being captured as well as the region inside window (if set) that is processed. This helps during debugging/configuration process a lot. Also ALL OSD checkboxes are bindable so you can very easily throw-in some HotkeyIsActive trigger, bind all checkboxes to its IsActive property and voila - you have toggleable overlay with all bounding boxes/regions/labels right on your screen.

Bugfixes/Improvements

  • [Image/Color/ML Search] Now videos that you save can be encoded by H.264 codec which provides a much better quality giving you better training materials
  • [Image/Color/ML Search] Fixed a bug in all *Search triggers with region not being correctly selected when anchor/offset is set
  • [ML Search] Fixed a bug - "Show more" was not working
  • [UI] Removed window transitions - these should speed up opening dialog windows a bit
  • [Crash] Fixed rare crash that sometimes occured when the program tried to acquire title of removed process
  • [Scripting] Exposed ViewportTransforms in all capture triggers - this could be used to transform game coordinates to screen coordinates and vice versa. Very useful if you want to draw an overlay using IOnScreenCanvasScriptingApi or click on in-game object using ISendInputUnstableScriptingApi.
  • [Scripting] Added support of relative path . which will return the aura/folder where the script is running. Refer to this example to get better understanding of what I am talking about
  • [Scripting] Added IsKeyDown/IsMouseDown to ISendInputUnstableScriptingApi - these methods allow to find out whether keyboard key or mouse button are currently pressed or not
  • [YoloEase] Extracted this tool to a separate Github project. Sources will be added a bit later. To those who missed it - this tool allows you to automate process of training machine-learning models by doing most of the work itself. All you have to do is feed it screenshots and labeled data.
  • [YoloEase] Improved quality of screenshots uploaded to CVAT
Release

1.4.6591

Permalink 5 months ago

Behavior Trees — стартует публичная альфа!

После примерно 6 месяцев работы я очень рад наконец открыть публичное тестирование нового инструмента в EyeAurasBehavior Trees.

Если коротко, это новый способ собирать логику ваших ботов и скриптов — по сути, основу любой автоматизации. Раньше для этого приходилось использовать Triggers, которые запускали Actions через секции OnEnter, WhileActive и OnExit. В новом подходе у вас будет намного более мощный набор инструментов: cooldowns, conditions, подпрограммы (или поддеревья) и всё это на базе новой подсистемы скриптов.

Это новый meta-подход, и всё, что уже есть в программе, со временем будет адаптировано под использование в деревьях. Я давно считал, что именно этого механизма EyeAuras не хватало: возможности быстро и удобно моделировать что угодно — от простого кликера до сложной боевой ротации. И красота деревьев как раз в том, что они одинаково хорошо подходят и для того, и для другого.

Да, для работы с ними нужно немного разобраться в принципах, как и с прошлой системой. Но когда у вас уже есть десяток разных скиллов, условий и проверок, управлять всем этим становится гораздо проще. Любой, кто пытался собрать в EyeAuras что-то со множеством условий вроде я жив и навык готов, и HP > 40%, и цель выбрана, и ..., скорее всего сразу поймёт, о чём речь.

Документация / с чего начать

English / Russian

P.S. Я знаю, что английская версия местами сыровата, но поддерживать документацию сразу на двух языках одновременно довольно тяжело, поэтому тут пришлось немного срезать углы и использовать ChatGPT для автоматизации перевода :D В ближайшие месяцы я это постепенно дополирую.

Это всё ещё альфа

Пожалуйста, имейте в виду: BT пока использовались максимум парой десятков человек в рамках закрытого тестирования, так что велика вероятность, что где-то что-то не работает, где-то неудобно, а многое ещё изменится в течение следующего квартала. Если у вас есть замечания или репорты — пожалуйста, не стесняйтесь связаться со мной.

Что планируется в ближайшие недели?

Сейчас в BT пока не хватает нескольких очень важных частей:

  • Прямая интеграция с симуляторами ввода.
    Сейчас, если вам нужно двигать мышь или нажимать кнопки, приходится использовать action SendSequence вместе с узлом behavior tree Execute Aura. Это работает, но не слишком удобно. План — продублировать большую часть actions прямо в деревьях, чтобы их было проще использовать и настраивать.

  • Прямая интеграция с поиском изображений и ML-поиском.
    Здесь ситуация похожая: сейчас, например, приходится использовать trigger Image Search вместе с узлом Aura Is Active. Хочется, чтобы всё это можно было редактировать и настраивать прямо в редакторе дерева.

  • Не хватает некоторых узлов управления потоком.
    Например, Switch, IfThenElse и ещё нескольких. Они не обязательны, но очень удобны.

  • Сам редактор пока тяжеловат.
    Хочется сделать его легче, компактнее и менее прожорливым по месту на экране.

  • Документация.
    Я хочу написать МНОГО документации по разным аспектам BT: как они работают, как их можно и стоит использовать, какие у них плюсы и минусы и так далее.

  • Скриптинг внутри behavior trees.
    Переработка scripting system V2 изначально и делалась ради BT — с самого начала я планировал, что продвинутым пользователям точно захочется писать собственные узлы и условия. И именно это должны закрыть Scripts V3.

bt_l2.spoil.old.png

Исправления и улучшения

  • [YoloEase] Временно удалён из EyeAuras — совсем скоро он будет доступен как небольшой отдельный open-source проект
  • [SendSequence] Добавлена отсутствующая буква "P" в OSD keyboard
Release

1.4.6531

Permalink 5 months ago

Новый крупный релиз

Улучшения производительности

  • Значительно улучшены время запуска, потребление памяти при старте и во время работы. Нагрузка на CPU и GPU при поиске тоже снизилась, но не так заметно.
  • Добавлено несколько систем, которые в текущем релизе отключены по умолчанию, но со следующей недели будут проходить тестирование в Alpha-ветке. Они нацелены на улучшение работы на слабых ПК — например, виртуальных машинах или старых ноутбуках. При желании их уже можно попробовать, включив "File system storage(alpha)" в Settings — но будьте готовы к возможным проблемам.
  • Тесты показывают, что в большинстве сценариев поиск на базе машинного обучения теперь в среднем примерно на ~15% быстрее, а в отдельных экстремальных случаях — до двух раз быстрее, чем раньше. Главное улучшение — это latency, то есть программа теперь заметно быстрее реагирует на происходящее на экране на каждом этапе обработки: захват изображения, применение эффектов/изменение размера, подготовка к ML/анализу изображения и передача результатов анализа (predictions и найденных bounding boxes) в триггеры теперь происходят намного быстрее. В некоторых случаях задержка сократилась с миллисекундного диапазона (то есть 1+ millisecond) до менее чем 100 microseconds. Особенно заметно это будет в высокочастотных сценариях — например, при реакции на объекты на экране (позиции предметов на земле в Path of Exile или мини-игры в стиле aimbot, где нужно отслеживать объект).
  • Это не последняя итерация оптимизаций. Запланировано как минимум ещё два серьёзных улучшения, в основном в области машинного обучения, но они выйдут позже — вероятно, уже после следующего крупного релиза в канале “Stable” в конце февраля.
  • Добавлены секции, а часть продвинутых настроек теперь по умолчанию скрыта (например, offsets/anchors).
  • Серьёзно переработаны выбор области и предпросмотр захваченного изображения.
  • Плавный Zoom — теперь можно приближать и отдалять изображение колёсиком мыши. Удерживайте левую кнопку мыши, чтобы перемещать изображение.
  • Переработан выбор области — теперь можно выделить регион в предпросмотре и с помощью Ctrl+C или кнопки на панели инструментов скопировать часть изображения в буфер обмена либо использовать её как шаблон для поиска.
  • Сохранение screenshot/video — раньше это уже было доступно в окне Effects, но интерфейс изменён, и теперь функция находится прямо в панели предпросмотра для более удобного доступа.
  • Воспроизведение видео — теперь в Preview pane можно загрузить любое видео и использовать его, чтобы вытащить из него шаблонное изображение или подобрать правильную область захвата.

DEMO

Новый Window Finder / селектор позиции клика

  • Старый селектор полностью заменён — он был слишком медленным и ненадёжным. Теперь достаточно просто перетащить иконку в нужное место, и программа сама определит окно/позицию.

ПРИМЕЧАНИЕ: выбор через нажатие на кнопку с последующим указанием окна пока не поддерживается — только перетаскивание. Это будет добавлено в одной из следующих версий.

Image

Scripts v3.0

  • Огромное обновление подсистемы scripting. Всё это было сделано в рамках работы над Behaviour Trees — с самого начала одной из главных целей было получить быстрый и удобный способ писать небольшие фрагменты кода прямо внутри дерева. Текущая реализация для этого слишком тяжеловесна: она мощная, но слишком многословная и перегруженная.
  • Начал писать документацию. Уже доступны несколько примеров: Hello,World, printing text, moving the cursor. Дальше будет больше.
  • Сейчас всё это находится на ранней стадии тестирования, и в ближайшие недели будет ещё много обновлений, связанных со scripting. Но если вы уже хотите начать писать код — смело пробуйте новую систему, а если появятся вопросы, пишите мне в Discord.
  • NuGet packages — поддержка уже есть, но пока отключена. Сначала хочу зачистить возможные внутренние проблемы, и только потом открыть использование внешних зависимостей. Чуть позже это будет включено. Если очень хотите попробовать уже сейчас — свяжитесь со мной в Discord.
  • C# script Action и Trigger уже работают на v3, а вот WebUI пока ещё на v2. Причина в том, что у WebUI есть несколько возможностей, которые ещё нужно перенести с v2 на v3, чтобы всё соответствовало ожидаемой функциональности — например, экспорт/импорт кода как C# project. Это будет реализовано в ближайшие недели и выйдет отдельным обновлением.

Серьёзные улучшения редактора кода — Quick Fixes, подсветка ошибок, tooltips, Signature Help и другое

  • Подсветка ошибок: теперь, если в скрипте возникает ошибка, редактор показывает специальную разметку с указанием проблемного места и подробным описанием. Обратите внимание: это отображается и на scrollbar, и на codemap. Error highlighting
  • Quick fixes для ошибок: если для ошибки есть известный способ исправления — например, добавить дополнительный import (using …) — во всплывающем окне появится кнопка “Quick Fix…”. Нажмите её, и программа предложит один или несколько вариантов быстрого исправления. Названия пока не слишком дружелюбные, это будет доработано в будущих версиях. Errors Quick fixes
  • Улучшения автодополнения кода: добавлен прототип панели документации, которая будет показывать XML docs рядом с именем метода/свойства. Пока это очень ранняя alpha-версия — без нормальной разметки, подсветки и т. д.

Send Input и Send Text больше недоступны в UI

  • Эти 2 действия заменены на Send Sequence. Его проще использовать и настраивать, особенно в простых сценариях. Функция записи макросов пока ещё не полностью готова.
  • Старые действия по-прежнему полностью работают, так что ничего не сломается — изменения коснутся только новых auras.

Image

Новый тип ввода — Granny's Send Input

  • Добавлен новый метод ввода. Он довольно старый, и именно поэтому многие защиты просто забывают о его существовании. Помогает не привлекать лишнего внимания.

Изменён источник загрузки автообновлений

  • Раньше обновления программы загружались из облака Microsoft Azure — предполагалось, что благодаря масштабной инфраструктуре скорость скачивания будет высокой во всех регионах. Но на практике всё оказалось хуже, чем загрузка с одного сервера в Санкт-Петербурге.
  • Начиная с этого обновления, программа будет скачивать обновления с одного из нескольких серверов во Франкфурте, Германия — это крупный хаб, и для большинства пользователей это должно дать как минимум “good enough” скорость загрузки. Посмотрим, как это покажет себя на практике; возможно, позже я расширю этот же подход и перейду к мультирегиональному хостингу. Текущая система позволяет мне полностью контролировать, с какого именно сервера идёт загрузка, так что здесь есть большой простор для управления и дальнейших улучшений.
  • И заодно напомню про очень полезную опцию в SettingsAutomatically download updates. Она, как нетрудно догадаться, автоматически скачивает обновления. Но не устанавливает их! То есть ничего внезапно не сломается: по сравнению с полностью ручным обновлением вы просто экономите время на скачивании.

Image

Broadcasting сетевых сообщений (очень-очень ранняя alpha)

Связка Send Message / Network Message action/trigger — это мощный инструмент, который позволяет собрать собственную управляемую сеть взаимосвязанных EyeAuras. Эта возможность существует уже несколько лет и чаще всего используется для multi-boxing на нескольких ПК.

Главной проблемой всегда была latency — все сообщения проходили через один из серверов EyeAuras, что добавляло задержку. Новый режим broadcasting позволяет обмениваться сообщениями через локальную сеть, что практически убирает эту задержку.

Функция всё ещё находится на очень ранней alpha-стадии и пока довольно сырая в настройке — например, IP нужно указывать вручную. Кроме того, в некоторых конфигурациях она может не работать, если роутер не поддерживает multicast. Также функция пока ещё не протестирована как следует, поэтому используйте её с осторожностью.

Чтобы воспользоваться этой возможностью, укажите ChannelId следующим образом:

  • На Server EyeAuras (том, который принимает сообщения) — broadcast://255.255.255.255/anychannelname
  • На Client EyeAuras (том, который отправляет сообщения) — broadcast://255.255.255.255/anychannelname

p.s. по умолчанию программа использует для связи порт 53082, но при желании можно указать любой другой — сразу после IP в ChannelId (например, broadcast://255.255.255.255:55055/anychannelname)

Behaviour Trees

  • Примерно через 1 неделю эта функциональность станет доступна в alpha-ветке. Это сильно зависит от количества багов, которые будут обнаружены после публикации текущей версии в основной ветке.

Исправления и улучшения

  • [Crash] Исправлен редкий краш во время импорта (ReplaceId NullReferenceException).
  • [Crash] Исправлен редкий краш в LegacyScriptReferencesResolver.
  • [Crash] Исправлен краш, который иногда происходил при запуске: "Container must be defined (Parameter 'container')".
  • [PlaySound] Исправлен баг, из-за которого это действие нельзя было создать через UI.
  • [PlaySound] Исправлен баг, из-за которого выбранное уведомление иногда сбрасывалось в Disabled.
  • [UI] Если у aura только 1 action/trigger/overlay, редактор этого элемента теперь разворачивается на всё доступное пространство. Это должно сделать работу с такими aura заметно удобнее, особенно после того как я адаптирую под это изменение остальные редакторы.
  • [UI] Полностью переписана вторичная панель с логом и переменными.
  • [UI] Все окна и overlays теперь открываются быстрее.
  • [UI] Диалог Import теперь также умеет выполнять Synchronization.
  • [UI] Добавлена панель Getting Started, которая показывается в пустых Auras. В ней есть кнопки Import/Subscribe, что должно упростить жизнь тем, кто просто хочет пользоваться чужими aura pack.
  • [UI] Исправлена ошибка, мешавшая Cloning и перемещению элементов вверх и вниз.
  • [UI] Исправлена проблема, из-за которой Replay работал некорректно при низком FPS.
  • [WindowSelector] WindowSelector теперь сохраняет имя процесса как финальный аргумент. Раньше при выборе окна программа сохраняла “Window handle OR Window Title”. Теперь — “Window Handle OR Window Title OR Process Name”.
  • [Scripting] Многочисленные улучшения подсистемы scripting — теперь она быстрее и экономнее по памяти.
  • [Scripting] В SDK добавлена библиотека ImageSharp. В некоторых задачах она удобнее, чем OpenCV, и, вероятно, будущие API будут строиться вокруг неё.
  • [Scripting] Сделано так, что при успешной компиляции скрипта предыдущие ошибки очищаются.
  • [Scripting] Исправлена проблема, из-за которой вкладки Code editor некорректно выбирали файлы после изменений.
  • [General] Повышена точность всех ожиданий и задержек — теперь погрешность укладывается в 1ms.
  • [Search Triggers] Исправлен баг с некоторыми источниками захвата (например, Shared Surface), который возникал при включённом Capture Borderless.
  • [Search Triggers] Изменена логика работы опции Capture Borderless. Она всё ещё далека от идеала, но теперь должна покрывать больше сценариев, особенно если окна не делают ничего необычного со своими границами и title bar.
  • [Search Triggers] Исправлено отображение исключения “Task canceled” в UI.
  • [Text Search] Исправлен краш, который происходил, если триггер с работающим распознаванием текста отключался через enabling condition.
  • [Bugfix] Исправлен баг, который в некоторых случаях приводил к взаимной блокировке программы при запуске (очень старый и неприятный баг, надеюсь, теперь он наконец мёртв).
  • [Bugfix] Исправлен баг в окне выбора aura — в некоторых случаях auras скрывались и были недоступны для выбора.
  • [Bugfix] Исправлен баг, из-за которого UI падал при изменении порядка элементов.
  • [Bugfix] Исправлен баг в overlays Replica — опция Keep Aspect Ratio неправильно рассчитывала ширину/высоту overlay, когда источник менял размер.
  • [EventLog] Исправлена проблема, из-за которой event log отображался за пределами окна приложения.
  • [EventLog] Добавлена категория “Inputs”, содержащая ввод, сгенерированный программой.
  • [Synchronization] Исправлен баг, из-за которого программа падала, если synchronization добавлялась внутрь папки, которая уже синхронизировалась.
  • [Synchronization] Исправлен баг, из-за которого auras не сохранялись после загрузки новой версии sync.
  • [Effects] Исправлено несохранение статуса IsEnabled в конфиге (отключённые effects снова включались при запуске).
  • [Enabling Conditions] Исправлено некорректное сохранение/загрузка свойств enabling conditions в некоторых ситуациях.
  • [Overlays] Исправлено “дёргание” overlays, когда пользователь или скрипт меняли положение/размер overlay.
  • [SendInputs] Исправлена проблема с позиционированием в “Granny's Send Input” (мышь перемещалась неправильно в конфигурациях с несколькими мониторами).
  • Все методы ввода теперь должны работать надёжнее с точки зрения позиционирования мыши — изменён способ расчёта координат.
  • [C# Action/Trigger] Добавлено ещё несколько опций, включая автоматическую остановку скрипта, если он работает слишком долго, плюс ещё несколько UI/UX-улучшений.
  • Обновлена часть документации — изменения уже отражены и в SDK, и на website. В ближайшие недели выйдет ещё много статей и примеров с фокусом на начинающих пользователей.
Release

1.4.6530

Permalink one year ago

ИСПРАВЛЕНИЯ ОШИБОК/УЛУЧШЕНИЯ

  • [SendSequence] Исправляет проблему с некорректной работой этого действия при использовании в дереве поведения
Release

1.4.6523

Permalink 2 years ago

BUGFIXES/IMPROVEMENTS

  • [Crash] Fixed crash which happened sometimes during startup "Container must be defined (Parameter 'container')"
Release

1.4.6518

Permalink 2 years ago

Release candidate

One of final versions before moving everything to main branch.

BUGFIXES/IMPROVEMENTS

  • [UI] Fixed a problem with Replay not working correctly with low FPS
  • [Script] Fixed a problem in Code editor tabs
Release

1.3.6491

Permalink 2 years ago

Further code editor improvements - added code formatting and showing exact script lines where an error has occurred

Including line number into error messages

Whenever scripting subsystem encounters and error, it will log the exact line of code that led to this and this info will be shown in both application logs(file) and event log.

Code Formatting

Writing code without any kind of automatic formatting is a painful process and this feature addresses that. Now you can either press Ctrl+Alt+Enter or use context menu to format the document automatically. It will put in additional line breaks, missing spaces, indentation, etc.

The current version is quite simple, but it is still much better than doing everything manually

BUGFIXES/IMPROVEMENTS

  • [Event Log] Few UI tweaks here and there to make it look prettier
  • [Bugfix] Fixed crash which sometimes happened during startup ("Item list of type …")
Release

1.3.6487

Permalink one year ago

Дальнейшие улучшения редактора кода - добавлено форматирование кода и показ точных строк скрипта, где произошла ошибка

Включение номера строки в сообщения об ошибках

Всякий раз, когда подсистема скриптов сталкивается с ошибкой, она записывает точную строку кода, которая привела к этому, и эта информация будет отображаться как в журналах приложения (файл) так и в журнале событий.

Image

 

Форматирование кода

Написание кода без какого-либо автоматического форматирования - это тяжелый процесс, и эта функция решает эту проблему. Теперь вы можете либо нажать Ctrl+Alt+Enter, либо использовать контекстное меню, чтобы автоматически отформатировать документ. Он добавит дополнительные переносы строк, пропущенные пробелы, отступы и т.д.

Текущая версия довольно проста, но это все равно гораздо лучше, чем делать все вручную

Image

 

ИСПРАВЛЕНИЕ ОШИБОК/УЛУЧШЕНИЯ

  • [Журнал событий] Несколько корректировок пользовательского интерфейса здесь и там, чтобы сделать его более красивым
  • [Исправление ошибок] Исправлен сбой, который иногда происходил при запуске ("Список элементов типа ...")
Release

1.3.6447

Permalink one year ago

Значительные улучшения редактора кода - быстрые исправления, подсветка ошибок, всплывающие подсказки, помощь в подписи и т.д.

Много улучшений в том, как выглядит редактор кода и что он может делать.

Подсветка ошибок

Теперь, когда в скрипте обнаруживается ошибка, будет специальная разметка, показывающая, что в коде что-то не так, с подробным описанием ошибки. Обратите внимание, что это отражается как на полосе прокрутки, так и на карте кода.

Подсветка ошибок

Быстрые исправления ошибок

Если есть какой-то известный способ исправить ошибку, например, добавить дополнительный импорт (using …), во всплывающем окне будет показана специальная кнопка под названием "Быстрое исправление...", нажмите на нее, и программа предложит вам одно или несколько потенциальных быстрых исправлений. Названия на данный момент не очень понятны для человека, и я буду работать над этим в одной из будущих версий.

Быстрые исправления ошибок

Улучшения автозавершения кода

Прототип панели документации, которая будет показывать XML-документы прямо рядом с именем метода/свойства. В настоящее время находится в очень сыром альфа-этапе, без разметки, без подсветки и т.д. В следующие недели будет проверяться, что механизм подготовки этих документов работает.

Улучшения автозавершения кода

Всплывающая подсказка

Добавлена всплывающая подсказка при наведении

Всплывающая подсказка

Помощь в подписи

Когда вы будете работать с методами, появится специальное всплывающее окно, показывающее текущий параметр, его описание и т.д.

Помощь в подписи

ИСПРАВЛЕНИЕ ОШИБОК/УЛУЧШЕНИЯ

  • [Исправление ошибок] Несколько незначительных исправлений ошибок пользовательского интерфейса, связанных с триггерами обработки изображений
Release

1.3.6435

Permalink 2 years ago

Changed auto-update download source

Previously, updates for the program were downloaded from Microsoft Azure cloud, the expectation was that due to vast infrastructure capabilities, download speed will be great in all regions, but… it ended up being worse than from a single server in Saint-Petersburg.

Since this update, the program will download its updates from one of multiple servers located in Frankfurt, Germany, which is a major hub and this should give most users at least “good enough” download speed. We'll see how it goes and maybe I'll scale up that same approach and use multi-regional hosting as well. The current system allows me to fully control from which exact server the download will happen, so there is a wide range of control and possible improvements.

By the way, I'd want to remind about very-very useful option, located in Settings, called Automatically download updates. What it does is, well, it downloads updates… automatically. But does not apply them! Meaning that it won't break anything, the only difference from fully manual update is that you will skip download time.

Image