Map Editor Troubleshooting
Run /rm_diag first. It checks the editor against itself and names what is wrong. rm_mapeditor_diag does the same from the server console for the half the client cannot see.
/mapeditor does nothing
The most common problem, and it is almost always permissions.
Did you add a grant at all?
cfgadd_ace group.admin rm_mapeditor.use allowIs there an
add_principalputting you in that group? This is the usual answer.Does the ACE name in
server.cfgmatchConfig.Permission.Ace?If
Mode = 'vorp', is your character's group inVorpGroups?
rm_mapeditor_diagreports the permission configuration as the server sees it, which settles it.
If the command is not registered at all, check the resource actually started and that Config.Command is what you think it is.
The resource will not start
| Cause | Fix |
|---|---|
| oxmysql not started first | Put ensure oxmysql above it in server.cfg |
| oxmysql cannot reach the database | The same connection string your framework uses |
| Folder renamed | Rename back to rm_mapeditor |
An oxmysql error naming rm_mapeditor_* means the tables could not be created. Nothing else works until that passes.
Every thumbnail is blank
Working as designed, on a server with no outbound access.
The catalogue ships 17,473 model names; the preview images are fetched from GitHub at runtime. Search, categories and the live in-world preview all work without them — you are only missing the pictures.
For images, clients need to reach raw.githubusercontent.com.
A build looks complete to me and incomplete to players
Config.Loader.MaxEntities — 900 by default — is a ceiling across everything a player has loaded.
A dense map inside a small radius hits it before it finishes drawing. You do not see this in the editor because the editor loads differently.
Options, in order of preference:
- Spread the build out, or split it across maps.
- Raise
MaxEntities, accepting the cost on every player's client. - Lower
SpawnDistanceso fewer objects are in play at once.
Objects not appearing at all until you are nearly on top of them is the opposite problem — raise SpawnDistance.
Objects flicker at the edge of the map
Config.Loader.Hysteresis, 40 m by default, is the gap between the spawn and despawn distances. Flickering means it is too small for how fast players move through that area. Raise it.
The camera is stuck, or the interface will not take input
/rm_unstickFrom the server console, for someone else:
rm_mapeditor_unstick <id>Both are safe at any time and touch nothing you have placed.
A key does nothing
/rm_diag keysprints what every binding actually resolved to. A name the game does not recognise does nothing and reports nothing, so this is the only way to tell a broken key from a typo in Config.KeyBindings.
Remember each player can rebind their own in Help → Controls, so check whose keys you are actually looking at.
My custom props are not in the catalogue
| Cause | Fix |
|---|---|
Not listed in Config.CustomProps | Add them |
Their resource starts after rm_mapeditor | Start it first |
| The model name is wrong | Check it against what you stream |
A model the editor could not resolve lands in rm_mapeditor_unavailable. That table is the answer to "why is my prop missing".
An import brought in less than the file had
Check rm_mapeditor_unavailable — models your server does not stream cannot be placed.
Also check the ceilings. A file over 12 MB or 20,000 objects is refused rather than partially read, so a completely empty import is more likely to be that.
A door does not open after export
- Was This is a door ticked on that object?
- Did you export as
ymaporresource?objectloadercarries props only and drops the flag. - Is the door inside an MLO? It needed
mloDoors, and the generated.ytyphas to be streamed. - Does your lock script read the lists in
doors/?
A removed world prop came back
Removals live in rm_mapeditor_removed and are re-applied as players move. If one returns, either the row was deleted, or the sweep is not matching it — SearchRadius is 0.5 m around the recorded position, so a prop the game spawns slightly differently can fall outside it.
I deleted something I should not have
| An object | J undoes 60 steps, if you have not closed the editor |
| A world prop removal | Delete the row in rm_mapeditor_removed, then rm_mapeditor_reload |
| A map | Restore from a backup — there is no undo |
The audit table records who deleted what and when, which at least tells you what you are looking for.
Disable rather than delete
A disabled map keeps every object and comes back exactly as it was.
Nothing reaches Discord
Check ServerConfig.Webhook.Enabled is true and the URL is filled in.
If both are right, remember object_create and object_update are off by default — placing props produces nothing by design. Test with something that is on, like creating a map.
Object messages are also batched every 15 seconds rather than sent immediately.
Exports are not where I expected
rm_mapeditor/exports/ is on the server, not on the machine of whoever pressed the button. You need file access to collect them.
Same for imports — files go in rm_mapeditor/imports/ on the server.
Changes made in the database are not showing
The resource holds its maps in memory and does not poll:
rm_mapeditor_reloadWhat to send when you ask for help
| Send | |
|---|---|
The output of /rm_diag | Answers most of this page |
The output of rm_mapeditor_diag | The server's half |
rm_mapeditor_stats | Scale — maps, objects, sessions |
| Server console output on start | Including any oxmysql error |
| F8 client console errors | |
Your config.lua | And server_config.lua with the webhook URL removed |
| What you expected and what happened |