Отправьте этот раздел своим игрокам
Легитимность, а не слежка
Инструмент, который читает работающую игру, обязан сказать, что именно он делает — и чего он не делает. И то и другое ниже.
- Только чтение, и это заложено в архитектуре
- Никаких внедрений, никаких перехватов, ничего не пишется в процесс игры. Измерения показали, что ни движение, ни бой этого не требуют, поэтому инструмент построен без них.
- К игроку никогда ничего не возвращается
- Пути из трансляции на машину любого из игроков не существует. Поток идёт только в одну сторону.
- Нет согласия — нет матча, ни для кого
- Пока у каждого места нет подключённого агента и зарегистрированного пароля, матча не существует: его нет в списке, нет в сокете и нет даже как имени. Никто не выведет в эфир чужую игру.
- Задержка — это число, которое видят оба игрока
- Одно значение на всю сессию, показанное в обоих агентах ещё до старта и до самого конца. По умолчанию три минуты; ноль — только если оба на это согласны.
- Два независимых чтения одного мира
- Оба агента описывают одно и то же состояние, поэтому сервер видит, когда они расходятся. Трансляция, которую кормит один подменённый агент, не станет правдой втихую.
- На неизвестной сборке игры он отказывается работать
- Новый выпуск HotA — это сборка, которую мы не измеряли. Агент проверяет сам исполняемый файл игры; если тот изменился, агент не запустится. Если наследование разрешено, он выполняет каждое чтение двумя способами и останавливается, не отправив ни единого байта, как только два способа разойдутся.
- Сломанная трансляция говорит, что она сломана
- Если агент отвалился посреди матча, матч показывается как Половина, а не «В эфире», и картинка замирает с указанием причины. Половину матча здесь никогда не выдают за целый.
- Что нельзя определить, остаётся видимо неопределённым
- Правило, на котором стоит весь проект: мы не рисуем ничего, что не пришло из настоящих данных игры. Ваши зрители никогда не услышат того, чего данные не сказали.