Skip to content

Exporting ​

File → Import / Export → Export. Everything is written to rm_mapeditor/exports/<name>/.

To use an export, copy the folder into your resources folder and ensure it. Needs the export capability.

The four formats ​

FormatCarriesUse it when
resourceEverythingYou want it to just work
ymapProps, as a real ymap the game loads itselfYou want native map loading
objectloaderProps onlyYou already run objectloader
jsonAn exact copyYou are moving a map to another server

resource — the one to use ​

A ready-to-run resource with its own streamer. Drop it in, ensure it, done.

It carries everything: props, people, animals, wagons, removed world props, hidden props, see-through and no-collision settings — all of it.

If you have no particular reason to pick another format, pick this one.

ymap — native loading ​

The props become a real .ymap, loaded by the game itself rather than by a script. That is the most efficient way for the game to handle a static build.

A ymap cannot describe everything

What a ymap has no way to express goes into a small script written into the same folder:

  • People, animals and wagons
  • Removed game props — a ymap can add, not delete
  • See-through, hidden and no-collision props
  • Props explicitly set to be handled by the script

So a ymap export is usually a ymap and a script. Ship both; the folder is designed to be copied whole.

Marked doors are written as real doors, with lists for door lock scripts in doors/. See Doors.

Two settings shape the output:

SettingDefault
YmapStreamingPadding400.0Padding added to the streaming extents
YmapDefaultFlags1572865Flags written on entities

objectloader — props only ​

XML for the objectloader resource. Props and nothing else — no people, no removals, no door flags.

Only worth choosing if objectloader is already how your server loads maps.

There is a rotation-order switch for compatibility with some objectloader builds, off by default:

lua
ServerConfig.Export.ConvertRotationOrderForObjectloader = true

If an objectloader export comes out with props rotated wrongly and everything else correct, that switch is the first thing to try.

json — moving between servers ​

An exact copy of the map, including everything the other formats drop. It is the import format too, so this is the round trip:

Server A:  export json  ->  rm_mapeditor/exports/<name>/
Server B:  put the .json in rm_mapeditor/imports/  ->  File > Import

Use it for backups and for moving a build between your own servers. It is not a format anything else reads.

Exporting several maps at once ​

Up to 50 maps per bundle by default (MaxBundleMaps).

By default you are asked before an existing export is overwritten. Turn that off if you script around it:

lua
ServerConfig.Export.ConfirmOverwrite = false

Turning formats off ​

lua
ServerConfig.Export = {
    Enabled = true,
    Formats = {
        resource     = true,
        objectloader = false,
        json         = true,
        ymap         = true,
    },
}

A format set to false disappears from the export window. Enabled = false removes exporting entirely, whatever anyone's ACEs say.

Two settings on an object that only matter at export ​

SettingDoes
Export even if unchangedInclude an adopted world prop you did not move
In the ymapKeep this object in the ymap rather than handing it to the script

The first matters when you have taken game props into a map purely to have them travel with it. Without it, a prop you adopted and did not touch is assumed to already exist in the world and is left out.

Exports are written on the server ​

rm_mapeditor/exports/ is a folder on the machine running the server, not on the client of whoever pressed the button. You need file access to collect them.

The directory is configurable:

lua
ServerConfig.Export.Directory = 'exports'

Every export is logged ​

With the webhook enabled, export is one of the reported events, and it is on by default. The audit table records it regardless. On a server with several builders that is how you find out which export is the current one.

Documentation for RedMorrow. Scripts are licensed per server — redistribution is not permitted.