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.10036
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.6.8079

Permalink 6 months ago

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

  • [UI] Небольшие исправления для функции PopOut, добавленной в предыдущей версии
  • [UI] В Aura Tree добавлена опция Move To Parent
Release

1.6.8077

Permalink 6 months ago

Macro/BehaviorTrees — PopOut

Добавили новую удобную функцию — PopOut для BT и макросов. Эта кнопка позволяет открыть ваш макрос или BT в отдельном окне в режиме только для чтения.

В отдельном окне в реальном времени отображается текущее состояние, а также можно вручную запускать дерево/макрос.

UI

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

  • [UI] Исправлено выравнивание CodeEditor в развернутом виде
Release

1.6.8074

Permalink one year ago

Macro editor - node removal

Improved item removal UX and aligned it with other parts of the program Item removal

Changed how Enabling Conditions and References in BTs and Macros look like:

P.S. Note the icon to the left of the path - by clicking on it, you will be taken to that specific item.

Double-clicks in Macros

  • C# Script node - when double clicked, code editor will be Maximized
  • Nodes with Links in them - when double clicked, you will be taken to the first link in the list

Bugfixes/Improvements

  • [UI] Fixed a crash which happened if invalid aura name was set
  • [Scripting] Fixed(?) a problem with LoginWidget not working properly
  • [UI] Fixed a problem with script messages being duplicated in Event Log
Release

1.6.8065

Permalink 6 months ago

Захват экрана — ВАЖНОЕ ИЗМЕНЕНИЕ

Много лет Target Window был обязательным параметром для всех триггеров Capture (Image/Color/Text/ML) — EyeAuras умел работать только с окнами.
Начиная с этой версии мы пробуем другой подход:

  • Если Target Window не задан, EA начнет захватывать основной экран

Что это значит на практике?

  • Раньше очистка Target Window фактически останавливала работу триггеров. Теперь это просто переключает режим на захват основного экрана. Для управления захватом рекомендуется использовать Enabling Conditions. Это очень важно! Проверьте свои старые триггеры и убедитесь, что среди них не осталось "тестовых" или забытых — теперь они начнут потреблять CPU.
  • Это убирает один лишний шаг при настройке под личное использование: во многих случаях Target Window больше не нужен, особенно если вы играете в режиме Borderless Windowed или похожем режиме, где игра занимает весь экран.
  • Как только мы убираем из схемы привязку к окну, работа с координатами мыши становится проще — все координаты становятся абсолютными.
  • Всё, что связано с кликами по объектам на экране, продолжит работать как и раньше. Если заметите какие-либо проблемы — пожалуйста, сообщите.

ВАЖНО! Конфигурации с несколькими мониторами пока не поддерживаются. Захватываться будет только основной экран. Поддержка будет расширена в будущем.

UI

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

  • [Capture] Исправлена проблема с выбором FPS — он работал некорректно и показывал селектор диапазона даже в случае, когда опция "Min" не была задана.
Release

1.6.8061

Permalink one year ago

Authentication improvements

First steps toward offline mode - added new option in Settings which allows the client to function without connectivity to the server, even if the client gets restarted. For now, this is just a few hours, but as soon as I will be sure that the system properly works, this will be extended to days. This option will be removed in the future and will become default behavior of the client.

UI

Bugfixes/Improvements

  • [UI] Fixed a problem with Start Minimized not working properly under some conditions
Release

1.6.8055

Permalink 6 months ago

Упаковка: добавлены Start Minimized и Minimize To Tray

В Packaging появились две новые опции. Обе рассчитаны в первую очередь на сборки с собственными скриптами и своим UI.

Используя триггер Lifecycle Events и C#-скрипт, который создает собственное окно Blazor, можно сделать так, чтобы вместо интерфейса EyeAuras отображался ВАШ пользовательский интерфейс.

Packing options

Start Minimized

Если включено, после полной загрузки приложения главное окно будет свернуто.

Minimize To Tray

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

Tray

C# Scripting: LoginWidget

Добавлены два новых примера на базе BlazorWindows — Basic Window и Custom Login.

Login Widget позволяет очень просто встроить аутентификацию EyeAuras в ваше приложение. В будущем он станет более настраиваемым и расширяемым, когда появится первая обратная связь.

Login Widget

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

  • [BlazorWindows] Исправлена проблема с прозрачным фоном: если он был включен, окно становилось некликабельным
Release

1.6.8052

Permalink 6 months ago

Новый триггер — События жизненного цикла

Этот триггер создан для сценариев со скриптами, например когда нужно запустить скрипт сразу после открытия приложения. Пока доступны только два события. Посмотрим, окажутся ли полезными и другие варианты, такие как AppFocused.

Триггер Lifecycle Events

Вместе с другими возможностями, связанными с упаковкой и скриптингом, я хочу упростить создание мини-приложений и сделать так, чтобы основной интерфейс EyeAuras вообще не нужно было запускать. Это один из шагов в этом направлении.

Подробная информация доступна здесь

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

  • [UI] Небольшая оптимизация времени запуска
Release

1.6.8047

Permalink one year ago

C# Scripting - NuGet packing

Using NuGet packages in scripts opens up a lot of new possibilities and is hard to underestimate its importance. But downloading and unpacking packages takes time - not much, but noticeable for end-user. From now on, when you're downloading any Pack, EyeAuras server will analyze your code and pre-download all needed packages.

This benefits:

  • startup speed - because all nuget packages are included by default into pack
  • stability - because even if something will happen with that specific version of NuGet package that you've used OR there are some Internet problems, your downloaded pack will still work just fine

That change IS NOT retroactive - it will affect only new revisions of packs.

Bugfixes/Improvements

  • [UI] Fixed bug which made so Import links taken from AuraLibrary page won't work under some circumstances
Release

1.6.8029

Permalink 6 months ago

C# Scripting — защита скриптов — Closed Alpha

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

Как это использовать

Script Protection находится в разделе Packaging options и доступна только если для Compilation Mode выбрано Binaries Only — применять её к бинарникам не имеет особого смысла, если вы распространяете исходный код.

Всё, что нужно сделать: выбрать нужный режим, сохранить настройки и загрузить свои ауры, как и раньше. В идеале для конечного пользователя ничего не должно измениться.
packaging options

Обратите внимание: инфраструктура этого сервиса пока крайне нестабильна, и проблемы могут возникать где угодно. Даже если у вас уже есть доступ к этой функции, возможно, ей стоит дать немного времени «остыть».

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

  • [UI] Использование точек (".") в названиях аур исторически приводило к целой группе проблем, так как EA сохраняет ауры на локальной файловой системе, используя эти имена. Обычно точка отделяет имя файла от его расширения. Пока что я сделал так, что EA будет показывать ошибку, если вы пытаетесь переименовать ауру в имя с точкой — так же, как сейчас это происходит для некорректных имён со специальными символами.
Release

1.6.8021

Permalink 6 months ago

C#-скриптинг: предкомпиляция для паков

Это большое обновление, которое открывает много новых возможностей. Если коротко: теперь при экспорте новой версии пака — будь то auction sniper, L2 helper или любой другой пак из Library — можно настроить EyeAuras так, чтобы он заранее компилировал все скрипты, входящие в этот пак, и включал бинарные файлы в экспортируемые данные.

Это не только убирает затраты на компиляцию у конечных пользователей, но и позволяет полностью исключить исходный код скриптов из экспортируемого проекта!

Опция

ВАЖНО! Чтобы применить новый режим компиляции, сначала выберите нужный режим, сохраните настройки, а затем загрузите (Upload) новую ревизию пака. Пока что компиляция выполняется на стороне клиента. Со временем она будет перенесена на серверную сторону, как и остальная конфигурация Packing, но это уже задача на 2026 год.

Бинарники и скрипты

Я уже подробно разбирал это здесь.

Коротко: скрипты — это текстовая версия вашей программы. Бинарники — это уже скомпилированная программа. Во время компиляции много информации теряется намеренно, но в случае .NET при желании всё ещё можно восстановить большую часть программы.

Сейчас EA включает «чистые» бинарники, без каких-либо дополнительных изменений. Это хорошо с точки зрения производительности и уже является шагом в сторону защиты скриптов, но человек, который понимает, что делает, всё ещё может восстановить текст программы с помощью инструментов, называемых decompilers.

Например, вот так выглядит декомпилированный код одного из паков для PoE2 — для программиста это практически открытая книга.

PoE2 Helper

Режимы компиляции

На странице конфигурации пака появился новый переключатель, который позволяет выбрать один из трёх режимов компиляции. У каждого из них есть свои плюсы и минусы.

Только скрипт

Это режим по умолчанию. Всё работает так же, как и последние годы: при экспорте весь ваш скриптовый код уходит как есть и компилируется по требованию на ПК конечного пользователя.

Плюсы:

  • скрипт может легко редактировать любой пользователь

Минусы:

  • есть затраты на компиляцию, которые могут занимать сотни, а иногда и тысячи миллисекунд, из-за чего весь UX ощущается более «тяжёлым»
  • скрипт может легко редактировать любой пользователь

Скрипт и бинарники

Плюсы:

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

Минусы:

  • скрипт может легко редактировать любой пользователь

Только бинарники

Плюсы:

  • скрипт больше недоступен вообще: он физически никогда не попадает на ПК конечного пользователя
  • нет вообще никаких затрат на компиляцию: при запуске программы всё уже скомпилировано и готово к работе. Компиляция произойдёт только если вы внесёте изменения в скрипт
  • появляется возможность защитить код и усложнить кражу вашей интеллектуальной собственности

Минусы:

  • конечный пользователь больше не сможет редактировать скрипт. Вместо кода будет показываться только техническая информация в режиме read-only

Что дальше?

Больше уровней защиты.

Как только текущая функциональность станет достаточно стабильной, я добавлю ещё одну возможность — автоматическую obfuscation кода. С хорошим обфускатором восстановить программу до исходного («чистого») состояния становится крайне сложно.

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

PoE2 Helper Obfuscated1

PoE2 Helper Obfuscated1

Для пользователей EA это будет просто ещё одна галочка в настройках. Для самой EA — это уже большой новый compilation pipeline с множеством сервисов и инструментов.

Со временем поверх обфускации появятся и дополнительные уровни защиты, например native compilation и virtualization. Подробнее расскажу позже в этом году.

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

  • [SendSequence] Исправлена проблема с SendSequences: при некоторых условиях последовательности нажатий клавиш могли преждевременно прерываться, из-за чего отправлялась только часть последовательности. Спасибо @Rowenor, что нашёл это!
  • [Macros] Узел Comment больше не выбрасывает исключение при выполнении — раньше это полностью ломало саму идею существования этого узла в дереве