Run a custom map on your Rust server
A custom map replaces Rust’s procedural world with a .map file you made or bought. Your server downloads it from a link at startup, and so does every player who joins. It comes down to one startup setting and, for most maps, one server extension.
server.seed and server.worldsize. Remove those two.Set up your custom map
Follow these in order. Each step says what to check before you move on.
Get your .map file ready
Export it from RustEdit with File → Export Map, or download the map you bought. You need the .map file, not a .scene file. A scene is the editor’s project file, and the server can’t load it.
Give the file a short, unique name with no spaces, like MyIsland_v1.map. Put a version number in it from the start. Each time you change the map, you’ll upload it under a new name (see updates).
Download the RustEdit extension safely
The extension is one file, Oxide.Ext.RustEdit.dll. It spawns everything the map maker placed in the editor: loot, NPCs, vending machines, IO, APC and cargo paths.
Download it only from the official GitHub page:
github.com/k1lly0u/Oxide.Ext.RustEdit
- Use the release marked Latest. It’s rebuilt after Rust updates, so older versions can break on a current server.
- Download the
.dllfrom the release’s Assets list. Don’t download the source code archives. - Don’t take the DLL from a Discord upload, a map seller’s zip or a “fixed” re-upload. A server extension runs with full access to your server and its files, so a modified DLL can do anything.
Install the extension
Stop your server first. Then upload the DLL with your host’s file manager, SFTP or FTP to this folder:
Oxide has to be installed already. The extension is loaded by Oxide, so it does nothing on a vanilla server.
Carbon loads Oxide extensions from its own extensions folder and leaves Managed as Facepunch shipped it. If you’re moving from Oxide, Carbon moves extension DLLs out of Managed for you the first time it starts.
Upload the map to a direct link
Upload your .map to a host that’s public and online all the time, and get a direct download link. Dropbox and GitHub releases both work. How to get the link from each.
Test it: paste the link into a private browser window. The download should start by itself. If you see a preview page, a sign-in or a “Download” button, the server can’t use the link.
Paste your link into the link checker below to fix the most common problems and build your startup line.
Point your server at the map
Add +server.levelurl to your server’s startup command, with your link in straight double quotes. Then remove +server.seed and +server.worldsize, since the map file decides both.
RustDedicated.exe -batchmode +server.identity "myserver" +server.levelurl "https://www.dropbox.com/scl/fi/abc123/MyIsland_v1.map?rlkey=xyz&dl=1" +server.maxplayers 100 +server.hostname "My Server"
Using a game host? Most panels have a Custom Map URL or Level URL field on the Startup page. Paste the link there, and clear or ignore the seed and world size fields.
Start the server and check it
Start the server and watch the console. It downloads the map before it loads the world, so the first start takes a little longer. When it’s up, run these in the server console or RCON:
Check the map loaded
rustedit.infoShows the RustEdit data the map contains. If the command isn’t found, the extension isn’t loaded. Go back to step 3.
rustedit.checkupdateChecks GitHub for a newer extension version.
Then join the server yourself. You should download the map on the loading screen and spawn on your custom world.
Map link checker
Paste the share link for your .map file. The checker fixes Dropbox links, flags links that won’t download, and builds the startup line for you. Nothing is sent anywhere. It all runs in your browser.
Hosting the map
The link has to stay online 24/7 and serve the raw file. If it goes down, new players can’t join, and the server can’t download the map after a restart.
Dropbox
Upload the file, choose Share → Copy link, and set access to Anyone with the link. Then change dl=0 at the end to dl=1. Keep the rlkey= part, because the link stops working without it.
GitHub release
Create a public repository, publish a release and attach the .map as an asset. Right-click the asset → Copy link address. It looks like github.com/you/maps/releases/download/v1/MyIsland_v1.map.
- Works
https://www.dropbox.com/scl/fi/abc123/MyIsland_v1.map?rlkey=xyz&dl=1Dropbox link ending in
dl=1. - Works
https://github.com/you/maps/releases/download/v1/MyIsland_v1.mapRelease asset in a public repository.
- Won’t work
https://www.dropbox.com/scl/fi/abc123/MyIsland_v1.map?rlkey=xyz&dl=0Opens Dropbox’s preview page instead of the file.
- Won’t work
https://drive.google.com/file/d/abc123/viewGoogle Drive and MEGA links open a page, and large files show a warning page first.
+server.levelurl "file:///C:/maps/MyIsland_v1.map". Other players can’t download it from there, so switch to a public link before you open the server.Updates & map changes
After every Rust update
Check for a new extension release before you start the server on a forced wipe or patch day. RustEdit is rebuilt for Rust updates, and an outdated DLL can fail to load or break map features.
rustedit.checkupdate checks for a new version. Installing it works the same way as the first time: stop the server, replace the DLL, start the server.
Editing or changing the map
Every time the map changes, upload it with a new file name and a new link (MyIsland_v2.map), update server.levelurl, and wipe. If you replace the file behind the same link, players who already have the old version downloaded get a mismatch and can’t join.
+server.levelurl and add +server.seed and +server.worldsize again. You can leave the extension installed. It does nothing on a procedural map.Troubleshooting
The server errors while downloading the map
The link isn’t a direct download. Open it in a private browser window: if a page appears instead of a download starting, fix the link (Dropbox needs dl=1), or move the file to a different host. Also check that the link is in straight quotes ", not curly quotes copied from a document.
The server still generates a procedural map
The server isn’t seeing +server.levelurl. Check it’s in the startup command or your panel’s Custom Map URL field, spelled exactly, and that the startup line saved. Remove +server.seed and +server.worldsize while you’re there.
The map loads, but loot, NPCs or vendors are missing
The RustEdit extension isn’t loaded or can’t read the map’s data. Run rustedit.info. If the command doesn’t exist, check the DLL is in RustDedicated_Data/Managedcarbon/extensions, that it’s the latest release, and that OxideCarbon is running.
Players can’t join after I updated the map
They have the old version downloaded under the same name. Upload the new version with a new file name and link, update server.levelurl, and wipe. See map changes.
Players are stuck downloading the map
Players download the map from your link, so a slow or rate-limited host slows down every join. Large maps and busy wipe days make it worse. If Dropbox starts limiting the link, move the file to a GitHub release.
Take your server further
High performance Rust plugins for Oxide / Carbon, with support on Discord.
