Сказка навсегда остановлена.

Мы безмерно благодарны каждому из вас за время, которое вы подарили нашей игре, истории, которые вы создали, поддержку, которую оказывали друг другу и нам.

Надеемся, Сказка останется светлым и добрым воспоминанием в вашей жизни, и вы будете вспоминать наши приключения с улыбкой.

Это были замечательные тринадцать лет. Спасибо вам за них.

С любовью, команда Сказки.

CrazyNiger
[DRAGO] Магистр
могущество: 9737
длань судьбы
мужчина Злобный Дракон
261 уровня
Hamster
Ставь try {} catch {} на попытку распарсить json. или проверяй Content-Type ответа.
Hamster
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
102 уровня
CrazyNiger
Костыли, значит, вместо нормального решения.



Сообщение изменено
CrazyNiger
[DRAGO] Магистр
могущество: 9737
длань судьбы
мужчина Злобный Дракон
261 уровня
Hamster
Почему костыль, нормальный вариант. Внешним данным доверять нельзя (сервер мог упасть совсем, и на все запросы выводиться общая заглушка "Ой"). А при разборе json'а всегда нужно учитывать тот вариант, что он может быть не валидным... или совсем не json'ом.
CrazyNiger
[DRAGO] Магистр
могущество: 9737
длань судьбы
мужчина Злобный Дракон
261 уровня
Hamster
Возможны сценарии, на которые Тиендил повлиять не может:
  • провайдер решил, что the-tale.org что-то там нарушает и все запросы к нему заворачивает на заглушку.
  • проблемы на канале связи, данные от сервера пришли не полностью.




Сообщение изменено
Hamster
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
102 уровня
CrazyNiger
Почему костыль, нормальный вариант.
Потому что сервер не упал, он работает и способен выдавать адекватные ответы.

Внешним данным доверять нельзя (сервер мог упасть совсем, и на все запросы выводиться общая заглушка "Ой"). А при разборе json'а всегда нужно учитывать тот вариант, что он может быть не валидным... или совсем не json'ом.
Спасибо за ликбез. А мужики-то и не знали.

Все же хотелось бы получить ответ от Тиендила.

Кстати, в описании API есть такие слова:
"game_state": <целое число>, // состояние игры (остановлена/запущена, см. в описании API)
При каких условиях может прийти "game_state":0?
Hamster
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
102 уровня
CrazyNiger
Hamster
Возможны сценарии, на которые Тиендил повлиять не может:
  • провайдер решил, что the-tale.org что-то там нарушает и все запросы к нему заворачивает на заглушку.
  • проблемы на канале связи, данные от сервера пришли не полностью.
Не, ты серьезно считаешь, что заглушка об обновлении - это инициатива провайдера или проблемы с каналом связи?
Experienced
[CϺ] Магистр
могущество: 10507
длань судьбы
мужчина Experienced
411 уровня
Hamster
При каких условиях может прийти "game_state":0?
"game_state": <целое число>, // состояние игры (остановлена(0)/запущена(1))
Hamster
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
102 уровня
Experienced
Hamster
При каких условиях может прийти "game_state":0?
"game_state": <целое число>, // состояние игры (остановлена(0)/запущена(1))
Да, документацию я читать умею, вопрос был, когда игра остановлена, какие критерии или признаки этого есть. Потому что я ни разу вроде бы не видел, чтобы там 0 пришел.
Experienced
[CϺ] Магистр
могущество: 10507
длань судьбы
мужчина Experienced
411 уровня
Данные на странице "Игра" не изменяются, так как расчет ходов остановлен. В остальном (если не ошибаюсь) сайт функционирует нормально.
Hamster
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
102 уровня
Experienced
Данные на странице "Игра" не изменяются, так как расчет ходов остановлен. В остальном (если не ошибаюсь) сайт функционирует нормально.
Точно, бывало. Благодарю)
CrazyNiger
[DRAGO] Магистр
могущество: 9737
длань судьбы
мужчина Злобный Дракон
261 уровня
Hamster
CrazyNiger
Hamster
Возможны сценарии, на которые Тиендил повлиять не может:
  • провайдер решил, что the-tale.org что-то там нарушает и все запросы к нему заворачивает на заглушку.
  • проблемы на канале связи, данные от сервера пришли не полностью.
Не, ты серьезно считаешь, что заглушка об обновлении - это инициатива провайдера или проблемы с каналом связи?
Конечно нет, я просто описал варианты, при которых ответ сервера будет "неожиданным" (ведь заглушка может быть не про обновление, а про "запрашиваемый вами ресурс недоступен бла-бла-бла)", какие бы меры Тиендил не предпринимал.




Сообщение изменено
Hamster
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
102 уровня
CrazyNiger
Конечно нет, я просто описал варианты, при которых ответ сервера будет "неожиданным" (ведь заглушка может быть не про обновление, а про "запрашиваемый вами ресурс недоступен бла-бла-бла)", какие бы меры Тиендил не предпринимал.
То есть, к моему изначальному вопросу это никак не относилось? И к чему это тогда было?
mayorovp
без гильдии
могущество: 95

эльфийка Shebang
47 уровня
Hamster
CrazyNiger
Конечно нет, я просто описал варианты, при которых ответ сервера будет "неожиданным" (ведь заглушка может быть не про обновление, а про "запрашиваемый вами ресурс недоступен бла-бла-бла)", какие бы меры Тиендил не предпринимал.
То есть, к моему изначальному вопросу это никак не относилось? И к чему это тогда было?
Это было объяснение того факта, почему исключение ловить надо в любом случае. Ну а если код для его ловли все равно есть - зачем тогда вообще нужен "status": "error", кроме как для красоты?
Hamster
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
102 уровня
mayorovp
Это было объяснение того факта, почему исключение ловить надо в любом случае. Ну а если код для его ловли все равно есть - зачем тогда вообще нужен "status": "error", кроме как для красоты?
Да, для красоты. Ну, если Тиендилу пофиг на удобство и понимание пользователей - тогда, конечно, ок. И раз пользователи сами так хотят.
А в подобных объяснениях не нуждаюсь, спасибо.
Tiendil
[НБ] Магистр
могущество: 14696
разработчик
дварф Халлр
106 уровня
Hamster
Я думаю в этом случае правильнее ориентироваться на 503-ий код ошибки, чем на ответ сервера. Если я когда-нибудь сделаю какую-нибудь продвинутую систему с информированием пользователя о конкретной причине остановки, то сделаю для этого и апи. А пока таких пояснений нет, не знаю какую дополнительную информацию (кроме 503-его кода) имеет смысл передавать.