Guides

How to Install a Custom Map on Your Rust Server

Aerial view of a ruined city of tower blocks and roads beside a rocky ridge, on the custom Rust map Extraction

Installing a custom map on a Rust server takes one line. Getting that line wrong is why most people give up on the second attempt, stare at a server that will not boot, and go back to procedural.

The whole job: put the .map file on a public web host that gives a direct download, add +server.levelurl "https://…/yourmap.map" to the startup line, delete +server.worldsize and +server.seed, and wipe. Everything below is the detail and the ways it fails.

This works the same on a box you rent, a box you own and every control panel, because it is a Rust server setting rather than a feature of your host. Where your host differs is only in where it lets you type it.

What has to be true before you start

Three things, and the first one is the one people miss:

  • Your players download the map, not your server. Every client that joins fetches the file from the address you give. If that address is slow, private, or down, nobody new can get in.
  • The address has to be a direct download. Paste it into a browser: if the file starts downloading, it is right. If a page loads with a button on it, it is wrong, and the server will save that page as your map and fail.
  • The host has to be up all the time. Not your desktop, not a link that expires.

Facepunch documents this on the Hosting a custom map page of the Rust wiki. If something here ever disagrees with that page, that page wins.

Step 1: put the file where the internet can reach it

Somewhere that serves the file itself, with no interstitial page. In rough order of how much trouble they cause:

  1. Your host’s own map upload. Most Rust hosts now have a field for this and hand you back a working address. Use it if it is there; it is one less thing that can go down separately from the server.
  2. A GitHub release. Free, permanent, fast, and the download link is direct. Facepunch names it as a workable option.
  3. Cloud storage. Works, but most of them serve a preview page by default. Dropbox needs the link to end in ?dl=1. Google Drive share links do not work as-is.
  4. Your own web server. Fine, if it is up as reliably as the game server.

There is a file:///path/to/your.map form, and it does load locally. Nobody else can connect to a server using it, because their client cannot read a path on your disk. It is for testing on your own machine, nothing else.

Step 2: point the server at it

On the startup command line:

+server.levelurl "https://yourhost.com/maps/yourmap.map"

Or, if your host has you edit server.cfg instead, the same setting without the plus:

server.levelurl "https://yourhost.com/maps/yourmap.map"

Keep the quotes. An address with a query string in it — anything with a ? — will be cut in half without them, and the server will go looking for a file that does not exist.

Step 3: delete the procedural settings

A Rust server builds a procedural map from a seed and a size. If those settings are still there, you have told it to do two contradictory things. Remove both:

  • +server.worldsize
  • +server.seed

Not set to zero. Removed. This is the single most common reason a custom map “does not work” — the server quietly generates a procedural map instead and everybody joins a world nobody recognises.

Satellite dishes and rows of military vehicles and tents at sunset with silhouetted trees, on the custom Rust map The Last Siege

Dishes on the skyline, vehicles in rows below. Read from a distance, it tells you what is worth the walk. The Last Siege.

Step 4: wipe, and understand why

The map is the terrain. Your players’ bases are stored as positions on it. Change the terrain without wiping and those positions still exist — inside a cliff, thirty metres in the air, or in the sea.

So delete the server save before the first boot on a new map. On most hosts that is a wipe button; by hand it is the .sav files in the server identity folder.

Announce the map change before the wipe, not after. People forgive a wipe they were told about on Tuesday and resent one they discover on Friday. A screenshot of the new map in your Discord does more for the first day’s population than any amount of advertising.

When it does not work

Nearly every failure is one of these five.

The server boots into a procedural map

The worldsize or seed argument is still on the command line, or your control panel is adding it for you from a form field you have not cleared.

The server will not start, or starts and immediately stops

The address is not a direct download and the server has saved an HTML page as a map file. Paste the address into a private browser window: if you see a page instead of a download, that is your answer.

You can join but nobody else can

The file is somewhere only you can reach — a local path, a private repository, a link that needs a login.

Everyone gets a long download and then an error

The file is being served but is incomplete or corrupt. Re-upload it and compare the byte size against the copy on your disk.

It worked, then stopped working weeks later

The host of the file went away, or the link rotated. This is why the file should live somewhere as permanent as the server.

Changing map later

Point levelurl at the new file and wipe. That is all. Keep the old file online for a while anyway: people reconnecting from a cached client sometimes want it, and it costs nothing to leave a file where it is.

If you rotate between several maps, give each one its own permanent address rather than overwriting one file. Overwriting means a client that cached the old version under that address may refuse the new one.

The checklist

  • The .map file is on a public host, and pasting the address into a browser starts a download
  • +server.levelurl "…" is on the startup line, in quotes
  • +server.worldsize and +server.seed are gone
  • The server save is wiped
  • Somebody who is not you has joined successfully

That last one is the only real test. A server owner testing his own server is testing the one machine that already has the map.

Where the map itself comes from

Everything above is plumbing, and it is the same whoever made the map. The part that decides whether people stay is the map.

Radio masts and industrial ruins on a hillside at sunset, with a green beam of light and a column of smoke, on the custom Rust map Extraction

A monument that announces itself from a kilometre away: masts on a ridge, a beam, smoke. Extraction.

I build them — custom maps, monuments, prefabs and arenas for Rust servers. Every map is a single .map file that goes straight into the process above.

From the store

Maps, monuments, prefabs and plugins for the servers this guide is about.

View all