Skip to content
RustMapCDN

How to add a custom map to your Rust server

Updated 19 September 2026

Upload the .map file somewhere that serves it as a direct download, then start your server with+server.levelurl "your link" instead of a world size and seed. Your server and every player who joins download the map from that link, so it has to stay online.

What you need

  • The map file, ending in .map. Make one in RustEdit, or get one from a map maker or marketplace.
  • A direct download link to that file. Open it in a browser: if the download starts on its own, it works. If a page appears first, Rust cannot use it.
  • Access to your server's startup settings, whether that is a game panel, a startup script or server.cfg.

Step 1: get a direct link

The link is the part that catches people out. Facepunch's own guidance is blunt about it: players download the map from that URL, not from your server, so if the link stops working, anyone who has not already downloaded the map cannot join.

You can host the file yourself, or use RustMapCDN, which is free: log in with Discord, create an organisation, upload the map, and copy the link. It looks like this:

https://rustmapcdn.com/your-server/e6c1b0a2-5d1f-4c7e-9a3b-2f8d6e4c1a90.map

Every upload gets its own link, so an updated map never shares a link with the old one. Whatever you use, test the link in a private browser window before you put it in your server settings.

Step 2: set server.levelurl

The setting is server.levelurl. Where you put it depends on how your server is run.

Pterodactyl and most game panels

  1. Stop the server and open the Startup tab.
  2. Paste your link into the Custom Map URL field. Some panels call it Level URL or Map URL.
  3. No such field? Put the line below in Additional Arguments instead.
+server.levelurl "https://rustmapcdn.com/your-server/your-map.map"

With a custom map set, the World Size and World Seed fields no longer apply. The current Rust egg ignores them for you.

A startup command or script

Add server.levelurl to the command that starts RustDedicated, and remove the procedural map settings:

RustDedicated -batchmode +server.port 28015 \
  +server.hostname "My Rust server" \
  +server.levelurl "https://rustmapcdn.com/your-server/your-map.map" \
  +server.maxplayers 100

Delete any +server.seed, +server.worldsize and +server.level arguments. Leaving them in is one of the most common reasons a custom map does not load.

server.cfg

If your host only lets you edit server.cfg, add the line there, with the whole link in straight double quotes:

server.levelurl "https://rustmapcdn.com/your-server/your-map.map"

Facepunch documents the startup argument rather than this, so if the map does not change after a restart, move the setting into your startup command.

Step 3: restart and check

  1. Start the server and watch the console. It downloads the map before the world loads, and any failure is printed there.
  2. Join the server yourself. New players see the map download once, then it is cached on their machine.
  3. If it fails, work through the troubleshooting checklist.

Changing the map later

Upload the new file, copy the new link, change server.levelurl and restart. A different map means a different world, so do it at a wipe rather than mid-month. Keep the old link live until the new map is running, in case you want to switch back.

Wipe day tip. Upload the map a few days early and test the link then. Wipe day is when hundreds of players download the map at once, and it is the worst possible time to discover the link is broken.