Хабрахабр

[Из песочницы] Steam, который иногда не работает

Клиент Steam может испытывать большие и продолжительные проблемы в работе, вплоть до потери функциональности. Столкнулся с этим, когда стал получать странную ошибку каждые несколько минут. А еще сломался их магазин. Пришлось немного копнуть


Все началось с ошибки, которая стала появляться каждые несколько минут: “Invalid Json Token. Line: 1 Ch:1”, при этом игра автоматически сворачивалась.

Быстрое гугление показало, что с подобным сталкиваются уже несколько лет (с 2016 или раньше)


Та самая ошибка

Есть множество упоминаний на разных ресурсах. В частности, на форуме steamcommunity

Однако с поиском решения проблемы. Присутствует множество однотипных советов:

  • переустановите;
  • отключите эффекты в игре;
  • очистите кэш и т.д.

Кому-то помогло, однако в основном нет.

Мне повезло встретить пост человека, который написал, что полная переустановка Windows, Steam и выкачивание игры ему не помогли. Потому как у меня намерение переустановить Steam и выкачать все с нуля где-то витало, однако размер игры со всеми дополнениями (250+ GB) мотивировал искать дальше.

Самым информативным был чей-то отзыв о том, что включенный VPN помогает (а еще иногда это делает перезагрузка роутера). Быстрая проверка показала, что способ решения включением VPN действительно рабочий. Попутно заметил также, что их магазин ломается в присутствии ошибки. Предположил, что проблема не в каком-нибудь битом конфиг-файле игры, а нечто более глобальное.


В 2020 нормальный магазин должен выглядеть… иначе

Попробовал в настройках сети установить гугловый DNS, в надежде что это проблемы с DNS на стороне провайдера (сталкивался с таким). Но ошибка осталась.

Вспомнив, что магазин Steam это по сути HTML-страничка, отображаемая в их клиенте, запустил Fiddler:


Fiddler — Requests

Сразу бросаются в глаза запросы со статусом 403 на их CDN. В ответ должны были прийти js-скрипты, CSS, контент, но на все запросы сервер отвечает 403 + некий HTML-текст, который я сохранил и открыл:


Упс...

Собственно, искать долго не пришлось, вот и причина. У меня обычный динамический IP. Почему-то для данного IP (а возможно и для всей подсети) firewall Cloudflare считает необходимым требовать заполнить капчу. Обработку ошибок разработчики Steam не предусмотрели.

И даже если бы добавили капчу. Для тех, кто не пользовался Steam, поясню: у них для всех введена обязательная двухфакторная авторизация с подтверждением через email. После этого вводить в магазине капчу в рандомные моменты было бы как минимум странно.
Их сайт в браузере при этом выглядит аналогичным образом: те же запросы, и капчу негде ввести. Если CDN имеет что-то против вашего IP, грузится чистый HTML без стилей и картинок.

Как бы то ни было, общение с тремя сотрудниками службы поддержки результатов не дало.
Ни подробный сценарий с разъяснением и скриншотами, ни пояснения, что первая ошибка (Invalid Json Token) всего лишь одно из проявлений, привязанное к конкретной игре, а сама глобальная проблема кроется в механизме реализации магазина и сайта, не были ими восприняты.

Ответы поддержки были такими:

  • переустановите;
  • обратитесь к разработчику игры;
  • идите к разработчику игры, также мы не можем воспроизвести локально, так что проблема на вашей стороне.

Подробнее их ответы тут:

support

Сидеть за VPN, это чаще всего увеличивать свой ping и менять страну (что для стима бывает чувствительно в плане совершаемых покупок). Для Cloudflare IP адрес VPN вообще может быть как красная тряпка для быка.

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»