Files
hockey_new/agent
..
2026-08-19 15:08:39 +03:00
2026-08-19 15:08:39 +03:00
2026-08-19 15:08:39 +03:00
2026-08-19 15:08:39 +03:00
2026-08-19 15:08:39 +03:00
2026-08-19 15:08:39 +03:00

Hockey vMix Agent 1.5.6

Windows x64: персональный канал между Hockey Web и локальным vMix.

Установка и обновление

  1. Завершите работающий Agent через tray → «Выход».
  2. Сохраните существующий agent_config.json: в нём идентификатор устройства, ключ и адреса подключения.
  3. Для версии ниже 1.5.6 замените agent.exe из текущего архива и запустите его. В BUILD200 используется тот же проверенный Agent 1.5.6; повторная замена уже установленного 1.5.6 не требуется.
  4. Проверьте версию 1.5.6, связь с сервером и vMix, выбранный матч и назначение.

Сброс конфигурации и повторная регистрация при обычном обновлении не нужны.

Адреса

Сервер по умолчанию: http://127.0.0.1:8000. Для удалённого сервера задайте его обычный HTTP/HTTPS-адрес; WebSocket HTTP/HTTPS преобразуется в WS/WSS автоматически. Приоритет: HOCKEY_SERVER_URL, затем server_url.txt рядом с Agent, затем основной и резервный адреса из настроек.

Локальный vMix API по умолчанию: http://127.0.0.1:8088/api/. Связь с vMix проверяется отдельно от соединения с Hockey Web.

Mapping и управление

В BUILD194 сервер согласует с Agent возможность mapping_title_batch_v1. Команды группируются по Input, до 500 команд и 48 КиБ на пакет. В vMix они выполняются отдельными HTTP-запросами; смена всех полей в одном кадре не гарантируется.

Записи одной цели сохраняют порядок, независимые поля обрабатываются ограниченным пулом. Для интерактивных команд выделен отдельный обработчик, WebSocket reader продолжает принимать управление. Очереди ограничены; смена назначения и разрыв соединения отменяют прежнюю работу. Сервер проверяет подтверждение каждой команды. Прежние Agents продолжают получать небольшие пакеты.

В BUILD198 возможность vmix_priority_v1 добавляет срочную очередь для команд native Countdown и снятия Overlay. Из шести HTTP-мест одно зарезервировано для срочных команд; обычные команды и Mapping совместно занимают до пяти. Срочная очередь ограничена 64 задачами вместе с выполняющимися. Задача, ожидающая занятую цель, не занимает рабочий поток или HTTP-место для независимой команды. Команды одной физической цели сохраняют порядок между очередями. Уже начатый HTTP-запрос к этой цели завершается прежде следующей команды; таймаут запроса — 3 с. Переподключение и смена матча отменяют устаревшую очередь. Ожидающее обновление старого Mapping снимается, если для поля принято более новое явное обновление.

Показ титра ожидает подтверждения требуемых данных. Срочный приоритет не заменяет проверку текста перед IN. Замеры очереди и HTTP передаются с ACK и связываются с серверным журналом через trace_id; значения полей и ключи подключения в замеры не включаются.

Структура Inputs/GT-полей отправляется при подключении и изменении схемы. Fingerprint зависит от структуры, а не значений полей: обычная смена счёта или игрока не создаёт новый Mapping. Пустой Value передаётся для очистки поля. Agent также передаёт фактическое состояние Overlay 1–4 из vMix XML.

Диагностика

Проверьте отдельно состояние сервера, vMix и назначения устройства. При сбое сохраните время, матч и имя проблемного Input/поля. Журнал agent.log находится рядом с программой; около 2 МБ он ротируется в agent.log.1. Общий журнал приложения открывается в Hockey Web кнопкой «Журнал».

Сборка

Go, Windows x64, без внешних модулей. Из каталога agent:

set GO111MODULE=off
set GOOS=windows
set GOARCH=amd64
set CGO_ENABLED=0
go build -trimpath -ldflags="-H=windowsgui -s -w" -o agent.exe core.go dispatch.go main_windows.go

main.go — прежний консольный вход; его не включают в GUI-сборку. Локальные проверки диспетчера: go test core.go dispatch.go dispatch_test.go.