Wiping a Rust server

Map wipes and blueprint wipes on a Rust server, exactly which files to delete for each, in what order, and how the forced monthly wipe works.

Game servers5 min read

On this page
  1. Map wipe versus blueprint wipe
  2. Find your files first
  3. Do the wipe
  4. The forced monthly wipe
  5. Related

A wipe deletes server-side state so the world starts over. There are two independent kinds, they delete different files, and doing them in the wrong order means the wipe silently does not take. Stop the server first, always.

Map wipe versus blueprint wipe

A map wipe clears the world. Every base, box, deployable, and item on the ground is gone, and the server generates or reloads a map with nobody on it. What players have learned is untouched, so they start over with their tech tree intact. This is the common wipe and the one that is forced on you monthly.

A blueprint wipe, usually shortened to BP wipe, clears what players have learned. Everyone goes back to researching from nothing. This is a choice, not something the game forces on a schedule, and it is the difference between a server that feels like a fresh start and one where week-one players are already building the endgame.

The two are independent. You can wipe the map without the blueprints, which most servers do weekly, and you can do both together, which is what people mean by a "full wipe".

Find your files first

Everything lives in the identity directory, which is your install directory, then server, then whatever you passed to +server.identity. For the install in Installing a Rust server on Linux with the identity myserver, that is:

/home/rust/server/server/myserver/

The doubled server in that path is correct. List it before you delete anything, because several filenames contain your own values and a version number that moves with Rust updates:

Shell
ls -la /home/rust/server/server/myserver/

You are looking at four groups:

FileHoldsWiped by
proceduralmap.<worldsize>.<seed>.<version>.savThe world. Every player-placed entity.Map wipe
proceduralmap.<worldsize>.<seed>.<version>.mapThe generated terrain itself.Optional
player.blueprints.<n>.dbWhat every player has learned.Blueprint wipe
player.deaths.<n>.db, player.states.<n>.db, player.identities.<n>.dbOther per-player state.Optional
cfg/server.cfg, users.cfg, bans.cfg.Never. Keep these.

The .sav file also has numbered rotations next to it, .sav.1, .sav.2, and so on, which are the previous saves. A map wipe has to take those too, or the server can load an old one back.

The <n> in the player.*.db names is a version number that Facepunch changes with the game, so never type it from memory. Match on the pattern instead, which is why every command below uses a glob.

Map wipeFull wipeIn the identity directoryproceduralmap.*.savThe world: every player-placedentityproceduralmap.*.sav.*Earlier saves the server could loadbackproceduralmap.*.mapGenerated terrain. Delete whenchanging seed or sizeplayer.blueprints.*.dbWhat every player has learnedplayer.deaths.*.db and othersDeaths, states, identities. Mostservers keep themcfg/server.cfg, users.cfg, bans.cfg.Never deletedDeletedKeptOptional
The same directory under each wipe, by the globs the commands use. A map wipe takes the world and its earlier saves and leaves the blueprints; a full wipe takes the blueprints too. The config folder survives both. Illustration of this page's file table.

Do the wipe

  1. Announce it

    Give players warning, in whatever place they actually read: Discord, and the server itself. From RCON, or the console:

    say Wipe in 30 minutes. Server will restart.

    Put the schedule where people see it before they connect, in +server.hostname and +server.description. Rust players pick servers on wipe schedule, and an unannounced wipe reads as a server that broke.

  2. Stop the server

    Shell
    sudo systemctl stop rust

    This is the step people skip, and skipping it is why a wipe sometimes does not appear to work. A running server holds the world in memory and writes it back on its next autosave and again on shutdown, so files deleted underneath a live process come straight back. Confirm it is actually stopped before continuing:

    Shell
    systemctl is-active rust
    Deleted while it runsThe .sav files are deletedThe server is still running.The world is still in memoryThe running server holds all of it.The next autosave writes it backAnd again on shutdown.The old world is backThe wipe did not take.Stopped firstStop it, and confirmsystemctl is-active rustBack up, then deleteNothing in memory to write back.Start itIt generates the world again, which takesseveral minutes.A new .sav appearsAfter the first save interval.
    Why the wipe sometimes does not take. Delete the files under a running server and it writes the world straight back from memory; stop it first and there is nothing left to write back. Illustration.
  3. Back up the identity directory

    One command, and it is the only copy of the old world you will have:

    Shell
    sudo tar czf /home/rust/wipe-$(date +%F).tar.gz \
      -C /home/rust/server/server myserver

    Copy it off the server if the wipe is one you might want to reverse. Clouduxe's own backups are a separate, whole-server thing and are not a substitute for this one, see Backups.

  4. Delete the files for a map wipe

    Shell
    cd /home/rust/server/server/myserver
    sudo rm -f proceduralmap.*.sav proceduralmap.*.sav.*

    That is the whole map wipe. Blueprints survive it.

    Deleting the matching .map file as well is optional. It only holds the generated terrain, so removing it makes the server rebuild the same map from the same seed and size at the next boot, which costs a few minutes and changes nothing. Delete it if you are also changing the seed or the world size, so the old one is not left occupying disk.

  5. Delete the blueprints too, if this is a full wipe

    Shell
    sudo rm -f player.blueprints.*.db

    Skip this step for a map-only wipe. The other player.*.db files hold deaths, states, and identities rather than learned items, and most servers leave them alone.

  6. Wipe plugin data, if you run Oxide or Carbon

    Plugins keep their own state, clans, homes, economy balances, and permissions, in the framework's data directory, separate from anything above. Many plugins detect a new save and clear themselves, and many do not.

    Check that directory after a wipe rather than assuming. Data that refers to bases which no longer exist is a common source of odd behaviour in the first days of a wipe. Permissions and admin groups are usually the one thing you want to keep.

  7. Start it and check

    Shell
    sudo systemctl start rust
    journalctl -u rust -f

    A map wipe means the server regenerates the world, so the first boot after one takes several minutes, exactly like a first install. When it is up, confirm a new .sav appears in the identity directory after the first save interval passes. If the old world is still there, the server was running when you deleted the files. Go back to step two.

The forced monthly wipe

Facepunch ships a mandatory update on the first Thursday of each month. It changes the network protocol, so clients update and cannot connect until they do, and the existing save is not carried across. Every Rust server in the world wipes its map that day, whether the owner planned to or not.

What this means in practice:

  • The map wipe is not optional. Your job is to update Rust, update Oxide or Carbon behind it, and start clean.
  • Blueprints are still your call. The monthly update does not force a BP wipe by itself. Facepunch does force one occasionally alongside larger changes, and it is announced when it happens.
  • The hour moves. The build lands during the working day in the studio's time zone and the exact time varies month to month. Watch your console and the announcement on the day rather than scheduling a restart to a fixed clock.
  • This is your maintenance window. Plugins break on update day more than any other day, so keep the evening free and update the framework before starting the server, not after.

The update itself is the sequence in Installing a Rust server on Linux: stop, run SteamCMD against app 258550, update the framework, start.

Need a server, or a hand with one?

Pick a plan to deploy a server, or open a ticket in the panel. Support runs 24/7/365.