Решение проблем

Самые частые проблемы и способы их решения.

Комментарии в коде и имена API оставлены на английском, чтобы совпадать с SDK.

На этой странице

Подключение#

not_configured / NotConfigured

Unity: откройте Tools ▸ Majacloud ▸ Setup и сохраните настройки; ассет должен находиться в Assets/Resources/MajacloudSettings.asset. Godot: заполните Project Settings ▸ Majacloud. Веб: передайте baseUrl, projectId и clientKey.

https_required (HTTP 426)

Использовать http:// можно только с localhost. Перейдите на HTTPS или — только для разработки — задайте ALLOW_INSECURE_HTTP в config.local.php.

В браузере или в WebGL не проходит ни один запрос

Отдавайте игру тоже по HTTPS: браузеры блокируют вызовы http:// со страницы https://. Заголовки CORS API уже отправляет.

Как найти запрос с ошибкой

У каждой ошибки есть ID запроса. Найдите его на странице «Логи» вашего проекта.

Вход#

unauthorized при каждом вызове

Проверьте ID проекта и клиентский ключ на странице «API-ключи». Если вы перевыпустили клиентский ключ, старые сборки перестают работать.

Игроков неожиданно выбрасывает из аккаунта

Сессия, которой не пользовались 30 дней, истекает. Если две копии игры используют одну сессию и обе её обновляют, защита от повторного использования завершает её: пусть сессией владеет один экземпляр SDK.

Страница привязки аккаунта не открывается

Браузеры блокируют вкладки, открытые не по клику. Запускайте привязку из обработчика нажатия кнопки.

Удалённая конфигурация#

signature_invalid / SignatureInvalid

Сохранённый публичный ключ не совпадает с ключом сервера — обычно после переезда на новый сервер или потери storage/keys/. Снова выполните Test connection (или обновите configPublicKey) и выпустите обновление.

Изменения конфигурации не применяются

SDK загружают конфигурацию при запуске. Чтобы получить изменения во время сессии, запустите загрузку ещё раз (например, при возврате в меню).

Лимиты#

plan_limit

Достигнут лимит тарифа. Ничего не удаляется; улучшите тариф или удалите неиспользуемые объекты в панели управления.

rate_limited / quota_exceeded

Подождите Retry-After секунд. Не отправляйте запросы в Update() или игровых циклах — кешируйте результаты.

Godot и веб#

Godot: Identifier "Majacloud" not declared

Включите плагин в Project Settings ▸ Plugins — он добавляет автозагрузку. Убедитесь, что папка называется именно res://addons/majacloud.

Godot: TLS handshake failed

HTTPS-сертификат сервера не считается доверенным (часто это самоподписанный сертификат). Используйте сертификат публичного центра сертификации, например Let's Encrypt.

Веб: «Web Crypto is unavailable»

Страница открыта по обычному HTTP с другого хоста. Отдавайте её по HTTPS (во время разработки подойдёт localhost).

Поиск по названиям страниц, заголовкам и тексту.

↑↓ навигация ↵ открыть Esc закрыть