[Из песочницы] 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 вообще может быть как красная тряпка для быка.
Игроки остались под сильным впечатлением от тестирования Mortal Shell II
Electronic Arts официально стала частной компанией после завершения сделки на 55 миллиардов долларов
Издательство Crowd Games выпустит настольную игру «Кингспорт. Путеводитель»
Слова основателя Valve 16-летней давности о пиратстве на примере России вновь стали актуальными
Инсайдер раскрыл, какого Призрачного гонщика сыграет Райан Гослинг
Prime 1 Studio открыла предзаказ на статую брахиозавра из фильма «Парк юрского периода»
Игроки жалуются на проблемы с оптимизацией в Beast of Reincarnation от авторов Pokémon
Первую демоверсию игры «Война Миров: Сибирь» привезут на выставку Comic Con Игромир 2026