Решение проблем
Самые частые проблемы и способы их решения.
Комментарии в коде и имена 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).