Troubleshooting
The problems people hit most often, and how to fix them.
On this page
Connection#
not_configured / NotConfigured
Unity: open Tools ▸ Majacloud ▸ Setup and save; the asset must be at Assets/Resources/MajacloudSettings.asset. Godot: fill in Project Settings ▸ Majacloud. Web: pass baseUrl, projectId and clientKey.
https_required (HTTP 426)
Only localhost may use http://. Use HTTPS, or for development only set ALLOW_INSECURE_HTTP in config.local.php.
Every request fails in the browser or on WebGL
Serve the game over HTTPS too: browsers block http:// calls from an https:// page. The API already sends the CORS headers.
Find a failing request
Every error has a request ID. Search for it on the Logs page of your project.
Sign-in#
unauthorized on every call
Check the Project ID and client key on the API keys page. If you rotated the client key, older builds stop working.
Players are signed out unexpectedly
A session that is not used for 30 days expires. If two copies of the game share one session and both refresh it, the reuse protection signs it out: let one SDK instance own the session.
The account-linking page does not open
Browsers block tabs that are not opened from a click. Start linking from a button handler.
Remote config#
signature_invalid / SignatureInvalid
The stored public key does not match the server, usually after moving to a new server or losing storage/keys/. Run Test connection again (or update configPublicKey) and ship an update.
Config changes do not show up
The SDKs fetch at startup. Call fetch again (for example when returning to the menu) to pick up changes during a session.
Limits#
plan_limit
A plan limit was reached. Nothing is deleted; upgrade or remove unused items in the dashboard.
rate_limited / quota_exceeded
Wait the Retry-After seconds. Avoid fetching in Update() or game loops; cache results instead.
Godot and web#
Godot: Identifier "Majacloud" not declared
Enable the plugin under Project Settings ▸ Plugins; it adds the autoload. Check that the folder is exactly res://addons/majacloud.
Godot: TLS handshake failed
The server's HTTPS certificate is not trusted (often a self-signed certificate). Use a certificate from a public authority such as Let's Encrypt.
Web: "Web Crypto is unavailable"
The page is served over plain HTTP from another host. Serve it over HTTPS (localhost is fine while developing).