[Из песочницы] Steam, который иногда не работает
![[Из песочницы] Steam, который иногда не работает [Из песочницы] Steam, который иногда не работает](https://habrastorage.org/webt/j9/pk/vu/j9pkvuylip6_e_slq3jm0gqp1iq.png)
Все началось с ошибки, которая стала появляться каждые несколько минут: “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) всего лишь одно из проявлений, привязанное к конкретной игре, а сама глобальная проблема кроется в механизме реализации магазина и сайта, не были ими восприняты.
Ответы поддержки были такими:
- переустановите;
- обратитесь к разработчику игры;
- идите к разработчику игры, также мы не можем воспроизвести локально, так что проблема на вашей стороне.
Подробнее их ответы тут:
Сидеть за VPN, это чаще всего увеличивать свой ping и менять страну (что для стима бывает чувствительно в плане совершаемых покупок). Для Cloudflare IP адрес VPN вообще может быть как красная тряпка для быка.
Инсайдер назвал Marvel’s Wolverine второй по стоимости игрой Insomniac Games
Blizzard дала фанатам новый повод ждать выхода World of Warcraft на консолях
Даниэль Вавра встал на защиту DLSS из-за того, что в Kingdom Come: Deliverance II технология позволила реализовать его видение
Низкая оценка Marvel’s Wolverine может лишить Sony главной номинации на The Game Awards
Экшен X-Men Origins: Wolverine удалось разработать без переработок благодаря переносу фильма
Разработчик Total War Warhammer 40000 рассказал о влиянии настольной игры на стратегию
Для модификации Dawn of the Tiberium Age вышла новая фанатская кампания
Blizzard внедрила онлайн-DRM в Warcraft III: Reforged после релиза кампании Forsaken Kingdom