Отправка сетевого сообщения

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

Отправка сетевого сообщения

Действие Send Network Message в EyeAuras позволяет отправлять произвольные сообщения по указанным сетевым каналам. Это удобно для самых разных сценариев: координации между несколькими экземплярами приложения, запуска событий в других приложениях, а также интеграции со сторонними сервисами и программами.

Send Network Message Action

Схема draw.io
Нажмите на схему для увеличения.

Параметры

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

Message: само сообщение, которое будет отправлено в канал. Это может быть любая строка.

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

Укажите канал и сообщение: в интерфейсе EyeAuras задайте сетевой канал и текст сообщения, которое должно отправляться при выполнении действия.

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

Примите сообщение: любой экземпляр EyeAuras, который слушает этот же канал, сможет получить сообщение и запустить собственный набор действий. Для этого используется триггер Network Message Trigger, настроенный на прослушивание указанного канала.

Действие Send Network Message универсально и подходит как для игровых, так и для неигровых сценариев. Например, с его помощью можно синхронизировать действия между несколькими экземплярами игры.

Помните: чтобы принимать и обрабатывать сетевые сообщения, нужно настроить триггер Network Message Trigger, который будет слушать нужный канал, и задать действия, выполняемые при получении сообщения. Подробнее см. в документации по Network Message Trigger.

Сетевые сообщения через LAN

Схема draw.io
Нажмите на схему для увеличения.

Пара Send Message / Network Message — это мощный инструмент для построения собственной управляемой сети взаимосвязанных экземпляров EyeAuras. Функция существует уже несколько лет и чаще всего используется для мультибокса на нескольких ПК.

Основной проблемой всегда была задержка: все сообщения проходили через один из серверов EyeAuras, что добавляло latency. Новый режим broadcast позволяет обмениваться сообщениями по локальной сети между ПК напрямую. Это практически устраняет задержку.

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

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

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

Важно! 192.168.1.255 — это только пример. Замените 192.168.1 на свою реальную подсеть. Последнее значение “255” можно оставить без изменений: так программа будет рассылать сообщение по всей подсети, а не на один конкретный IP.

P.S. По умолчанию программа использует для связи порт 53082. При желании можно указать любой другой порт сразу после IP в ChannelId (например: broadcast://172.16.15.255:55055/mychannel)

Пример реального botting-сетапа

Что нужно:

  • 1 основной ПК, который будет управлять 5 дочерними ПК с ботами
  • 5 дочерних ПК, на которых запущены follow-боты и которые получают команды вроде «зайти в портал», «принять группу» и т. п.

Цель:

  • отправлять команды на Child PC с Main PC

Сам сетап очень простой:

  • выберите уникальное имя канала — обычно достаточно того, которое сгенерировано по умолчанию
  • настройте на Child PC прослушивание разных команд через триггер Network Message
  • на Main PC используйте Send Network Message для отправки команд на Child PC — обычно это делается через горячие клавиши

И всё. Сообщения будут отправляться и распределяться через серверы EyeAuras. Задержка обычно составляет 30–50 мс, чего более чем достаточно для обычных botting-сетапов.
Если нужно ещё быстрее — читайте ниже.

Пример реального botting-сетапа через LAN, без центрального сервера EyeAuras

Что нужно:

  • 1 основной ПК, который будет управлять 5 дочерними ПК с ботами
  • 5 дочерних ПК в виде виртуальных машин Hyper-V

Цель:

  • отправлять команды на Child PC БЕЗ использования центрального сервера EyeAuras, чтобы убрать любую задержку

Для этого нужно настроить статические IP на виртуальных машинах — команды будут отправляться напрямую, поэтому адреса должны быть известны.

В Hyper-V по умолчанию Virtual Switch обычно работает в bridge-режиме, и для нашей задачи это неудобно: виртуальные машины не регистрируются на роутере как отдельные устройства, поэтому отправлять им сообщения напрямую проблематично. Поэтому потребуется небольшая перенастройка.

Настройка статических IP на виртуальных машинах

  1. Откройте Virtual Switch Manager
    External → Create Virtual Switch
    Name: vLAN, External network: ваша основная сетевая карта, во многих случаях там будет только один вариант
    Нажмите Apply

Setting up new virtual switch

  1. На ВСЕХ виртуальных машинах откройте Network Adapter и переключите его на vLAN

  1. Теперь назначьте статические IP на ВСЕХ виртуальных машинах. Убедитесь, что выбранные адреса не используются другими устройствами в сети.

Network Settings → Ethernet
IP: Edit

Обязательно выбирайте уникальные и свободные IP-адреса. В этом примере IP — 192.168.0.21 (на второй ВМ будет 192.168.0.22 и т. д.).
Mask — 255.255.255.0 ← одинаково для всех устройств
Gateway — обычно адрес вашего роутера, в этом примере 192.168.0.1 ← одинаково для всех устройств
На каждой виртуальной машине должен быть свой IP-адрес, остальные параметры — как на скриншоте.

После этого перезагрузите ПК, на котором размещены виртуальные машины.

Network settings Ethernet settings IP address configuration 1 IP address configuration 2

  1. Теперь настройте EyeAuras НА ВИРТУАЛЬНЫХ МАШИНАХ
    Нажмите на папку, где находится ваш бот → Folder Properties
    Установите Channel Id: broadcast://255.255.255.255
    Так EyeAuras будет слушать все входящие сетевые команды.

Channel Id

  1. На MAIN PC настройте EyeAuras на отправку Network Message в одну или сразу во все виртуальные машины.
    Channel Id должен быть broadcast://192.168.0.21 (или IP той ВМ, которая должна получить команду)

  2. Теперь попробуйте отправить команду (любую) — виртуальная машина должна её получить. Если не сработало, перезагрузите ПК, на котором запущены виртуальные машины.

Example

Примеры

Управление несколькими персонажами в MMO
Если вы управляете несколькими персонажами в MMO на разных ПК, можно связать триггер HotkeyIsActive с действием Send network message и управлять всеми персонажами одновременно. Например, сообщение "start" может заставить персонажей следовать за вами, ассистить, собирать лут и т. д. Сообщение "stop" — останавливать их действия.

Сбор информации
В похожем сценарии можно настроить ботов так, чтобы они реагировали на определённое сообщение, например "report". Получив его, они могут отправить обратно данные вроде времени онлайна, общего количества нафармленного EXP/золота с момента последнего отчёта и т. д. Это позволяет быстро собирать информацию без необходимости заходить на каждый ПК по отдельности.