Troubleshooting
Work through the sections in order; the first three cover nearly every report.
Nothing renders / the resource misbehaves at start
Read the server console from the last rm_scenes start:
ox_lib 3.30.0 or higher recommended/oxmysql 2.10.0 or higher recommended: update the dependency; older versions are the usual cause of odd callback failures.cfg.bridge.<category> = <name> but no adapter registered: the value doesn't match a file inrm_scenes/bridge/. Check the spelling against the files inbridge/notification/.No
loaded N scenesline: the database connection never came up; fix oxmysql first.
Also make sure the player didn't flip Disable scene rendering in the scene list; it's per-client and easy to forget.
One specific scene doesn't render
Check its row in the scene list first. The eye icon lights up while the scene actually renders near you (line-of-sight aware), which quickly separates "not rendering" from "rendering somewhere you're not looking".
Attached to a missing object. The scene's details show Attached to object; it only renders while that object exists near its spot. Detach it from the list to pin it at its world position.
Expired or pruned. Expiry (
deletedOn) and the unseen-scene cleanup (cfg.scenes.deleteUnseenAfter) both remove scenes at resource start. If it's gone from the list, it's gone from the database.Out of range or occluded. Scenes render within
cfg.scenes.renderDistance; withcfg.scenes.occlusion = truethey're also skipped behind walls. Setocclusion = falsebriefly to rule that out.
Saving fails
The error notification tells you why:
Invalid data: the image failed server-side validation. Animated sources (GIF/APNG) are rejected, as is anything that isn't a real png/webp or is oversized.
Rate limited: each player gets a budget of 20 scene mutations (saves, edits, moves, copies, URL downloads) per minute.
No permission:
cfg.authblocks the player, or a job/ganglocationsrestriction doesn't cover the spot; the zone check runs server-side on every save, move and copy.Scene limit reached:
cfg.scenes.limitPerPerson; the player must delete an old scene first (merging your own scenes never blocks on the limit).Request timed out: very large drawings stream to the server at
cfg.scenes.imageBps; if timeouts persist on legit saves, raise that value.Database error: the save was rejected because a query failed; the server console shows the exact SQL error at that moment.
For the exact verdict behind a generic "Scene could not be saved.", run
setr ox:printlevel:rm_scenes verboseand read the client console (F8): every save logs its payload size, timeout and the server's reply (no_permission,db_error,timeout, ...).
URL images won't load in the editor
The download runs on the server, with hard rules: https only (cfg.scenes.allowHttpImageUrls = true also permits plain http), 15 MB cap (cfg.scenes.maxImageUrlBytes adjusts it), at most 3 redirects, and the file's actual bytes must be webp/png/jpg. Animated GIF/APNG are rejected on purpose (only a single frame would bake into the drawing). Hosts that resolve to private or internal addresses are refused; link images from a proper public host (imgur, discord CDN, your web server behind a public DNS name).
Still stuck? Open a ticket in our Discord with your server console output from a fresh resource start and a short clip or screenshot of the issue.
Last updated