Skip to main content

RustEdit 2 Server Extension

The RustEdit 2 server extension lets a Rust server use the RustEdit data in your map, such as IO, loot profiles and APC paths. Without it, the server loads only Rust's own part of the map.

Put the map on a server​

Give the exported .map file to your server. How you upload it depends on your server host. See Export Map for how to make the file.

When you exported with an encryption key, the server needs the key to run the map. See Give the server the map's key.

When the server needs the extension​

The server needs the extension when:

A map exported with In the map and at most 6000 m wide runs on any server. See In the map or in RustEdit data.

What the extension does​

Rust itself only places prefabs and sets their category. Everything else needs the extension on the server, and a map exported with In RustEdit data. The extension reads RustEdit's data in the map and uses it on the server.

Game entities

  • Spawns the map's game entities when the server has started: trees, ores, crates, barrels, doors, deployables, building blocks and IO entities.
  • They are not saved. Each start spawns them new from the map, so a restart or a wipe resets them.
  • Respawns an entity that is destroyed or looted. It uses the respawn time you set in RustEdit, or else the config's times for loot containers, trees and ores, junk piles and traps. See Server Extension Settings and Commands.
  • Gives building blocks their grade and skin.
  • Starts an Airwolf pad (Repairable Vehicle Pad) repaired when you set it.

Protection

  • Map entities do not decay and cannot be picked up.
  • Entities with Indestructible on take no damage. Trees, ores and junk piles can always be harvested.
  • Nobody can upgrade or rotate map building blocks. Only admins can demolish them.
  • Only admins can authorize on a map turret.
  • Nobody can change the wires of map IO entities.
  • Map signs are locked.

IO

  • Connects the IO wires you made. The wires work, but no wire line shows in the game.
  • Applies the IO settings: timers, buttons, counters, branches, RF frequencies, card readers, door manipulators, CCTV identifiers and telephone names.
  • Gives each auto turret its weapon, Unlimited Ammo and Peacekeeper Mode.
  • Builds the floors of elevators.
  • Puts the images on signs: a picture from your PC, or a link the server downloads.

Profiles

  • Fills loot containers from their loot profiles, refills them, and respawns them.
  • Sets the orders, stock and prices of NPC vending machines from their vending profiles. A machine shows at most 7 orders.
  • Dresses and arms NPCs from their loadout profiles.

NPCs

  • Spawns and respawns the NPCs of NPC spawners, with their ranges.
  • Makes NPCs walk their NPC paths, wait at the stops, and turn back, start again or stop at the end.
  • Spawns NPC vendors and vehicle vendors. A vehicle vendor sells into the vehicle spawner you linked.

World

For plugins

RustEdit 1 maps

  • Maps exported by RustEdit 1 still run as before.

A server without the extension still loads the map, but the game entities are not spawned and the rest of RustEdit's data is not used.

Install the extension​

The extension is Oxide.Ext.RustEdit.dll, an Oxide extension. See the extension's GitHub page for how to install it.

Coming from RustEdit 1? See RustEdit 1 Maps and Prefabs.

When you publish the map on the RustHQ marketplace, the publish dialog asks if the map needs the extension. See Publish To RustHQ.

Give the server the map's key​

A map you exported with an encryption key has its RustEdit data encrypted. The extension needs the same key to read it. Rust's own part of the map (the terrain and the prefabs) needs no key. See Map Encryption.

Players download the map file when they join a server. The key stays on the server, so nobody can open the map's RustEdit data in RustEdit without it.

Give the server the key in one of these ways:

WhereHowKept
server.cfgAdd the line rustedit.key "your key".For each start, as long as the line is there.
Startup argumentAdd +rustedit.key "your key" to the server's start command.For that start only.
The extension's configIn oxide/config/RustEdit.json, under RustEdit 2 Maps, add the map's name and its key to Map keys.Until you remove it.
The server console, while the server runsType rustedit.key "your key". The extension saves the key for this map in its config. Restart the server to load the map with it.Until you remove it.

A key in server.cfg or in a startup argument is not written to the config.

The config can hold the keys of many maps, so you can change maps without changing the key each time. A new config holds two example lines, "*" and "mapname", both with the key encryptionkey. Replace them with your own:

"RustEdit 2 Maps": {
"Map keys (MapName | Encryption Key) Use * as the name to work on any map": {
"MyIsland": "my secret key",
"MyIsland2": "another key",
"*": "the key for any other map"
}
}

The map's name is its file name, with or without .map. To see the name the server uses, type rustedit.key with no key in the server console. "*" gives one key to every map that has no line of its own.

When the server has more than one key, it uses the first it finds: the key from server.cfg or the startup argument, then the config line with the map's name, then the "*" line.

Key commands​

These need the server console, RCON, or an owner (auth level 2) in the F1 console. All the extension's commands are in Server Extension Settings and Commands.

CommandWhat it does
rustedit.key "your key"In server.cfg or as a startup argument: the key for this start. While the server runs: saves the key for this map in the config. Restart the server to load the map with it.
rustedit.keyShows where the key came from (server.cfg or startup argument, the config, or none) and what the map's RustEdit data holds.
rustedit.key clearRemoves this map's key from the config.
rustedit.infoShows what the map's RustEdit data holds and what the extension made of it.

When the key is missing or wrong​

By default the server still starts. It runs the map without its RustEdit data: no game entities, no IO, no loot or vending profiles, no NPCs and no paths. Then the extension:

  • writes an error to the server log, and repeats it every 10 minutes, and
  • tells each admin who joins: "The map runs without its RustEdit data. Set the key with the console command rustedit.key, then restart".

To stop the server instead, set Stop the server when the map key is missing or wrong. If false, the server will load without any RustEdit data to true under RustEdit 2 Maps in oxide/config/RustEdit.json. It also stops the server when the map's RustEdit data is damaged.

The log says which problem it found:

MessageWhat it means
"... is locked with a key, and the server has none for it"The server has no key for this map. Give it one.
"The key for the map ... is wrong"The key does not match. Check the key you typed when you exported. While the example line "*": "encryptionkey" is still in the config, a map with no line of its own is tried with that key, so the log says "wrong" rather than "none".
"... could not be read: the file is damaged or was changed after the export"The file is not as RustEdit exported it. Export it again and put the new file on the server.

Troubleshooting​

ProblemWhat to do
IO, loot profiles or APCs do not work on the serverThe map was exported with In the map, or the server has no extension. Export again with In RustEdit data, and put the extension on the server.
The server log says the map is locked or the key is wrongGive the server the map's key. See Give the server the map's key.
The server does not load a map larger than 6000 mPut the extension on the server. See Maps larger than 6000 m.