Веб-радар на телефоне или планшете
Сервер веб-радара на втором ПК отдаёт радар в браузер телефона. Находим локальный адрес ПК, открываем порт в брандмауэре, подключаем телефон и разбираем риски открытого порта.
Коротко
Веб-радар — это HTTP- и WebSocket-сервер на втором ПК, открытый для любого браузера в вашей сети. Ему не нужны ни фьюзер, ни карта захвата — только локальный адрес ПК, правило брандмауэра для порта и устройство в той же сети.
На странице10
- Как работает веб-радар?
- Что нужно веб-радару?
- Как настроить веб-радар
- Команды, чтобы узнать адрес и открыть порт
- Почему веб-радару не нужны фьюзер и карта захвата
- Чего не умеет веб-радар?
- Почему телефон не подключается?
- Кто ещё может открыть ваш веб-радар?
- Что проверить, прежде чем оставить его работать
- Частые вопросы о веб-радарах
Как работает веб-радар?
Софт радара на втором ПК запускает небольшой веб-сервер из двух частей. Одна часть отдаёт страницу из HTML, JavaScript и изображения карты. Другая — это WebSocket-эндпоинт, который держит соединение открытым и отправляет обновления позиций по мере того, как их выдаёт ридер. Браузер загружает страницу один раз, а дальше получает по этому сокету поток координат — поэтому радар двигается плавно, а страница ни разу не перезагружается. Реализации обычно привязываются к localhost на порту по умолчанию; в нескольких опубликованных проектах это порт 80. В большинстве из них есть поле настроек для имени хоста или адреса, к которому привязывается сервер.
Что нужно веб-радару?
Требований шесть, и последнее — главная причина вообще выбирать этот вариант.
- Рабочее чтение памяти
- Веб-радар — это второй интерфейс того же ридера. Если ридер не цепляется к игре, ни один браузер ничего не покажет
- Локальный адрес второго ПК
- Адрес, к которому подключаются другие устройства. Обычно что-то вида 192.168.x.x или 10.x.x.x
- Адрес привязки, отличный от localhost
- Сервер, привязанный к localhost, отвечает только машине, на которой запущен. Доступным его делает привязка к локальному адресу или ко всем интерфейсам
- Одно входящее правило брандмауэра
- Windows Defender Firewall (брандмауэр Защитника Windows) по умолчанию блокирует порт. Достаточно одного разрешающего правила для этого TCP-порта в частном профиле
- Устройство для просмотра в той же сети
- Тот же роутер, та же подсеть. Телефон на мобильном интернете до него не достучится, а гостевые сети обычно изолированы от основной
- Больше ничего
- Ни фьюзера, ни устройства захвата, ни второго видеокабеля. Этот вариант полностью обходит проблему вывода изображения
Как настроить веб-радар
Сначала добейтесь, чтобы заработал десктопный радар на втором ПК: каждый шаг ниже предполагает, что он уже работает.
- Убедитесь, что ридер нормально работает на втором ПК, а десктопный радар показывает игру
- Узнайте локальный адрес второго ПК командой ipconfig и запишите IPv4-адрес активного адаптера
- В настройках веб-радара в софте укажите этот адрес как хост привязки (или все интерфейсы, если такая опция есть) и запишите порт
- Добавьте на втором ПК входящее правило брандмауэра для этого TCP-порта, ограниченное частным сетевым профилем
- Сначала откройте страницу на самом втором ПК по адресу localhost и порту: если это не работает, проблема в софте, а не в сети
- На телефоне откройте браузер и введите адрес и порт второго ПК
- Найдите телефону постоянное место — на подставке рядом с монитором — и выключите автоблокировку экрана
- Если сокет отваливается между матчами, перезапустите радар и обновите страницу: несколько опубликованных реализаций закрывают сокет в конце раунда или рейда
Команды, чтобы узнать адрес и открыть порт
Выполните эти команды в командной строке от имени администратора на ВТОРОМ ПК.
REM Find this machine's LAN address
ipconfig
REM Look for the active adapter's IPv4 Address, e.g. 192.168.1.42
REM Allow the web radar's port inbound, private networks only
netsh advfirewall firewall add rule name="Web radar" dir=in action=allow protocol=TCP localport=8080 profile=private
REM Then open this on the phone, substituting your own address and port
REM http://192.168.1.42:8080
REM Remove the rule when you are done
netsh advfirewall firewall delete rule name="Web radar"Почему веб-радару не нужны фьюзер и карта захвата
Обе эти коробки существуют ради одной задачи — вывести картинку второго ПК вам перед глазами. Веб-радар решает её тем, что вообще не формирует картинку на втором ПК: он отдаёт страницу, а отобразить её может любой экран с браузером. Телефон на подставке рядом с монитором, планшет, старый ноутбук и окно браузера на втором дисплее работают одинаково. Нет видеоцепочки, нет EDID, нет порядка кабелей и нет общего потолка частоты, поэтому для сборки только с радаром это самый дешёвый и надёжный способ вывода, какой вообще бывает.
Справка
Чего не умеет веб-радар?
Веб-радар — это карта, а не оверлей. Он не может рисовать боксы на картинке игры, потому что вообще не касается видеотракта игры, и именно поэтому он такой простой. Если вам нужен ESP (ВХ) поверх игры на основном мониторе, сетевые настройки этого не дадут, и вы возвращаетесь к фьюзеру или карте захвата.
Почему телефон не подключается?
Первые две строки покрывают подавляющее большинство обращений.
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Страница открывается на втором ПК, но не на телефоне | Сервер привязан к localhost и поэтому отвечает только своей машине | Смените хост привязки на локальный адрес или на все интерфейсы, затем перезапустите радар |
| С телефона соединение отваливается по тайм-ауту | Windows Defender Firewall отбрасывает входящее соединение | Добавьте входящее разрешающее правило TCP для этого порта и убедитесь, что сеть отмечена как Private (частная), а не Public (общедоступная) |
| Соединение сразу отклоняется | На этом порту никто не слушает — порт не тот, или сервер не запущен | Перепроверьте порт в настройках софта и убедитесь, что функция веб-радара действительно включена |
| Телефон подключён к Wi-Fi, но всё равно не может достучаться до сервера | Гостевая сеть или изоляция клиентов на роутере, либо телефон находится в отдельной подсети | Подключите телефон к той же сети, что и второй ПК, и отключите изоляцию клиентов для этой сети |
| Страница открывается, но карта пустая | Страница отдаётся, но WebSocket ничего не передаёт, или ридер не в матче | Сначала проверьте ридер: если десктопный радар тоже пуст, проблема не в сети |
| Радар замирает в конце каждого раунда | Несколько реализаций закрывают сокет, когда матч заканчивается | Перезапустите радар и обновите страницу. Это задокументированное поведение, а не неисправность |
| На ПК всё плавно, на телефоне рывками | Качество Wi-Fi или интервал обновления, который забивает слабый канал | Перейдите на 5 ГГц или ближе к роутеру, затем увеличивайте интервал обновления, пока радар не начнёт работать стабильно |
Внимание
Кто ещё может открыть ваш веб-радар?
Вы запускаете на своей машине веб-сервер без аутентификации, так что открыть радар может кто угодно в той же сети, кто знает или угадает адрес и порт. Это касается соседей по квартире, гостей в том же Wi-Fi и любых других подключённых к нему устройств. Несколько опубликованных проектов идут дальше и советуют пробросить порт на роутере, чтобы могли подключаться друзья. Прежде чем это делать, поймите, что это значит. Проброшенный порт доступен из открытого интернета, а трафик идёт открытым HTTP, если перед сервером ничего не поставить. Кроме того, слушающий сервис — это тот же код, который читает вашу игру. Держите его в локальной сети, ограничьте правило брандмауэра частным профилем и удалите правило, когда перестанете им пользоваться.
Что проверить, прежде чем оставить его работать
- Правило брандмауэра ограничено частным профилем, а не действует для всех профилей
- На роутере не проброшен ни один порт, если только вы сознательно не решили на это пойти
- Сеть, в которой находится второй ПК, отмечена в Windows как частная (Private)
- Вы знаете порт и сможете удалить правило, когда закончите
- Телефон в той же сети, стоит на подставке, автоблокировка экрана выключена
- Десктопный радар сначала проверен и работает, поэтому у пустой страницы одна причина, а не три
Частые вопросы о веб-радарах
Нужен ли фьюзер, если я пользуюсь веб-радаром?
Нет. Веб-радар и фьюзер — два разных ответа на одну и ту же потребность. Веб-радар даёт карту на другом экране, а фьюзер — оверлей на основном.
Можно подключить телефон через мобильный интернет?
Только если сделать сервер доступным из интернета, а это проброс порта со всеми вытекающими последствиями. В том же Wi-Fi не нужно ничего, кроме правила брандмауэра.
Какой порт использовать?
Тот, который использует ваш софт; в опубликованных проектах по умолчанию часто стоит порт 80. Если этот порт на машине уже занят чем-то другим, смените порт в софте, а не пытайтесь его отвоевать.
Безопасно ли поделиться ссылкой с другом?
В вашей собственной локальной сети всё сводится к тому, кто находится у вас дома. Через интернет это значит открыть порт к серверу без аутентификации, который читает память вашей игры, — на такой шаг не идут между делом.
Влияет ли веб-сервер на втором ПК на игровой ПК?
Нет. Он работает на втором ПК и общается с браузерами по вашей сети. Игровой ПК в этом не участвует, и ничего лишнего, что он мог бы увидеть, на нём нет.
Источники
Опубликованных проектов радаров, на которые мы ссылаемся, нет в нашем проверенном списке источников, а правило брандмауэра и шаги для телефона взяты из нашей работы на стенде.
Читать дальше
Не получилось? Откройте тикет в Discord
Все гайды