SteamChat в access.log — не автономный краулер, который решил обойти сайт по расписанию, а разовая реакция на действие живого человека: кто-то в чате Steam вставил ссылку на вашу страницу, и клиент Valve сходил за превью. В каталоге TrafficVeil бот отмечен как легитимный — и в отличие от многих соседей по категории «Прочие краулеры и сервисы», здесь оператор известен совершенно точно.
Зачем SteamChat приходит на сайт
Функция у бота узкая и понятная: когда пользователь Steam делится ссылкой в чате клиента, SteamChat забирает страницу, чтобы собрать карточку предпросмотра — заголовок, описание и картинку, обычно из Open Graph или Twitter Card тегов. Отсюда ключевое отличие от классических краулеров: SteamChat не сканирует сайт систематически и не ходит по своей инициативе — он реагирует на конкретное действие пользователя и запрашивает именно ту страницу, ссылку на которую вставили в переписку.
Практическое следствие для владельца сайта: если у страницы нет корректных мета-тегов Open Graph или превью-изображение недоступно для бота, ссылки, которыми делятся пользователи Steam, будут отображаться в чате сломанными или со стандартной заглушкой вместо превью — это прямой репутационный минус, если ваша аудитория активно общается в Steam.
Что такое SteamChat
| Параметр | Значение |
| Название | SteamChat |
| User-Agent / паттерн | steamchat (встречаются полные строки: Valve/Steam HTTP Client 1.0 (SteamChatURLLookup), SteamChatImageProxy) |
| Оператор | Valve Corporation (Steam) |
| Роль | Генерация карточек предпросмотра для ссылок, которыми пользователи делятся в чате Steam |
| Документация / ориентир | Официальный сайт store.steampowered.com; поведение задокументировано в открытых каталогах ботов |
| Список IP | ❌ Отдельного публичного списка IP нет; проверяйте ASN и не доверяйте только строке UA |
| robots.txt | Признанное правило: User-agent: SteamChat / Disallow: /; на практике бот запрашивает только конкретный расшаренный URL, а не весь сайт |
| Пометка TrafficVeil | Легитимный / Прочие краулеры и сервисы |
Как найти SteamChat в логах
Ищите конкретный токен steamchat, а не общее слово «bot» — так меньше риск зацепить посторонние строки.
# Базовый поиск
grep -i "steamchat" /var/log/nginx/access.log
# Топ URL, которые вычитывает бот
grep -i "steamchat" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
# Топ IP за этим UA
grep -i "steamchat" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
# Суточная активность
grep -i "steamchat" /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f1 | sort | uniq -c
Поскольку это реактивный, а не системный обход, характерный паттерн выглядит иначе, чем у обычных краулеров: единичные обращения к разным URL без глубокого прохода по каталогу и без явной регулярности по времени суток — каждый запрос совпадает с моментом, когда кто-то в Steam поделился именно этой ссылкой. Для верификации всё равно стоит смотреть связку UA + IP + поведение, а не одну строку заголовка:
IP="1.2.3.4" whois -h whois.cymru.com " -v $IP" dig +short -x "$IP"
robots.txt для SteamChat
# Жёсткий запрет User-agent: steamchat Disallow: / # Разрешить всё User-agent: steamchat Allow: / # Компромисс: закрыть деньги/кабинет, оставить публичную часть User-agent: steamchat Disallow: /admin/ Disallow: /cart/ Disallow: /checkout/ Disallow: /account/ Disallow: /api/ Allow: /
Важная оговорка: закрыв SteamChat через robots.txt, вы не остановите поток трафика в привычном смысле — вы просто лишите пользователей Steam корректных превью для ссылок на ваш сайт. Если публичные страницы (например, обзоры бонусов или гайды) активно расшариваются в игровых сообществах, такой запрет стоит взвесить особенно внимательно.
Блокировка вручную и через TrafficVeil
Nginx
if ($http_user_agent ~* "steamchat") {
return 403;
}
limit_req_zone $binary_remote_addr zone=steamchat:10m rate=10r/m;
location / {
if ($http_user_agent ~* "steamchat") {
limit_req zone=steamchat burst=20 nodelay;
}
}
Apache (.htaccess)
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} steamchat [NC]
RewriteRule ^ - [F,L]
TrafficVeil
- найдите steamchat / SteamChat в ботах домена или в
/system/bots; - для полного запрета превью — категория «запретить»; жёсткий rate-limit здесь обычно избыточен, так как трафик и так штучный;
- allow оставляйте, если для вас важно, чтобы ссылки корректно отображались при шаринге в Steam;
- после изменения сверьте логи: хиты SteamChat должны уйти в блок, а поисковые роботы Google/Yandex остаться нетронутыми.
Нагрузка и риски
Из-за реактивной природы бота нагрузка от SteamChat почти никогда не бывает проблемой сама по себе — это не системный обход, а единичные запросы вслед за реальными действиями пользователей. Тем не менее на отдельных доменах, где ссылки массово репостят в игровых Steam-группах, короткие серии запросов могут выглядеть как маленькие волны автоматизации без единой конверсии в аналитике — стоит смотреть на:
- узость набора URL — SteamChat почти никогда не трогает пагинацию или служебные разделы, только конкретные расшаренные страницы;
- отсутствие cookie и сессии, типичное для любого fetcher-бота;
- всплески, которые по времени совпадают с активностью в конкретных Steam-сообществах, а не с равномерным фоном.
С кем не путать SteamChat
| Бот / сосед | Кластер | UA | Комментарий |
| 2ip Bot | Прочие краулеры и сервисы | 2ip bot | легитимный |
| AccessStatus | Прочие краулеры и сервисы | accessstatus | легитимный |
| AddThis.com | Прочие краулеры и сервисы | addthis.com | легитимный |
| Agent | Прочие краулеры и сервисы | agent | легитимный |
| AgentReadinessScanner | Прочие краулеры и сервисы | agentreadinessscanner | легитимный |
Стратегия allow/deny для SteamChat
| Ситуация | Действие |
| Важно, чтобы ссылки корректно превьюлись в Steam-чатах | Allow + проверить, что Open Graph теги отдаются корректно |
| Превью в Steam не имеют значения для аудитории сайта | Disallow + запрет в TrafficVeil, заметного трафика при этом не потеряете |
| Нужен избирательный доступ только к публичным разделам | Disallow /admin /cart /account /api, Allow остальное |
| Непонятно, откуда вообще взялись хиты SteamChat | Проверить логи на предмет реальных Steam-репостов, прежде чем менять правила |
| Подозрение на спуфинг UA под SteamChat | Не доверять строке UA; смотреть IP/ASN и характер запросов |
Главное, что стоит помнить про SteamChat: это не угроза ресурсам сервера, а вопрос того, как ваш контент выглядит при шаринге в одной конкретной экосистеме. Решение allow/deny здесь логичнее принимать не по нагрузке, а по тому, важна ли вам корректная карточка предпросмотра именно в Steam.