RE:NODE

Guides10 min read

Terraria world backup and server transfer

Find your Terraria .wld files, move a world to a dedicated server and back, handle tModLoader .twld and TShock data, and keep backups you can restore.

0 readers

A Terraria world is one file with a .wld extension, plus a .wld.bak holding the previous save. Moving a world to a dedicated server is uploading that file into the server's world folder with the server stopped, then pointing the world line in serverconfig.txt at it. Moving it back is downloading the same file. tModLoader adds a second file, .twld, which must always travel with its .wld; TShock adds a database whose protected regions are tied to the world. Characters are separate .plr files on each player's PC and never need moving. The only common way to lose a Terraria world is to rely on the .bak file as a backup - it is overwritten on every save, on the same disk. This guide covers where worlds live on every platform, each direction of transfer, the modded and TShock cases, and a backup routine that actually restores.

For serverconfig.txt itself and the console commands, see Terraria server config and commands; for modded servers in general, Terraria and tModLoader server setup.

What a Terraria world is made of#

FileWhat it is
Name.wldThe world: tiles, chests, NPCs, progress flags, the map seed
Name.wld.bakThe previous save of the same world, written on each save
Name.twldtModLoader only: data belonging to mods
Name.twld.baktModLoader only: the previous mod data save
Name.plrA character, on the player's own PC, not part of the world
Name.mapA player's explored map of a world, also on their PC

Two consequences follow. A world is self-contained: copy one .wld and you have copied everything about it, which makes moving and backing up trivial. And the server never holds characters on a vanilla server, so a world transfer never touches anybody's inventory - each player brings their character from their own machine, which is also why you cannot stop someone arriving with endgame gear.

The file name and the world's display name are different things. The display name is stored inside the file and shown in the game's world list; the file name is what the server's world line refers to. A world called "Land of Slime" may be saved as Land_of_Slime.wld. When the server cannot find a world, it is nearly always the file name that is wrong.

Where worlds live#

PlatformVanilla worldstModLoader worlds
WindowsDocuments\My Games\Terraria\Worlds\Documents\My Games\Terraria\tModLoader\Worlds\
Linux~/.local/share/Terraria/Worlds/~/.local/share/Terraria/tModLoader/Worlds/
macOS~/Library/Application Support/Terraria/Worlds/.../Terraria/tModLoader/Worlds/
ServerWherever worldpath pointsSame, for the tModLoader server

On Steam, a world can also be stored in Steam Cloud rather than locally. A cloud world does not appear in the Worlds folder - it sits in Steam's own userdata folder for Terraria's app id 105600 - and copying from there by hand is unreliable. The clean way out is in the game: on the world selection screen, each world has a cloud toggle. Switch the world to local storage, and it appears in your Worlds folder as an ordinary .wld.

If you are not sure which world is which, sort the folder by modification date and play the world for a minute - the file that changes is the one you are in.

Moving a world from your PC to the server#

  1. Close Terraria on your PC, or at least return to the main menu, so the world is fully saved.
  2. Find the file in your Worlds folder. Bring the .wld; bringing the .wld.bak too costs nothing and gives you a second chance.
  3. Stop the server with exit in the console, which saves and shuts down. Never upload while it runs - the server's next save overwrites your file with its own world.
  4. Upload the file into the server's world folder over SFTP or the file manager. SFTP and the file manager has the details.
  5. Point the config at it. In serverconfig.txt, set world to the full path of the file, exactly, including capitals:
serverconfig.txt
world=/home/container/worlds/Land_of_Slime.wldworldpath=/home/container/worlds/autocreate=0
  1. Start the server and read the log. You should see the world loading by name; if you see world generation, the path was wrong.

autocreate is the setting to watch. If it is set to a size and the world path does not match an existing file, the server generates a brand new world with that file name instead of failing. That is convenient for a first start and a trap during a transfer, because the server looks perfectly healthy while running the wrong world. Set it to 0 while moving worlds around, so a wrong path is an error rather than a surprise. On a panel, the world name and size are often Startup tab variables that feed these lines, so check there as well as in the file.

world select toggleupload with server stoppednightlyprove it restoresdownload to play offlineSteam Cloudtoggle to localPlayer's PCWorlds/Name.wldOff-server backupscheduledServerserverconfig world=Spare copyrestore test
Where a Terraria world goes

Moving a world from the server to your PC#

Run save in the server console and wait for it to finish, or stop the server with exit. Download the .wld and drop it into your local Worlds folder. It appears in your world list immediately and can be played single-player or hosted from the game. This is the copy to take before a server is cancelled, before moving to another host, and before anything risky. A world you can open at home is a world no hosting problem can take from you.

Difficulty and journey mode compatibility#

A world's difficulty is fixed when it is created and travels with the file. Classic, Expert and Master worlds accept classic, mediumcore and hardcore characters. Journey worlds only accept journey characters, and journey characters can only join journey worlds. If somebody cannot join a world you just moved, check the character type before you check the network.

The server's difficulty setting only affects worlds it creates. Changing it does nothing to a world that already exists, uploaded or not. Terraria server config and commands covers journey mode permissions, which are a server setting rather than part of the world.

tModLoader worlds#

A tModLoader world is a pair: Name.wld and Name.twld. The .twld holds every modded tile, item, NPC and piece of mod data. Upload a .wld without its .twld and the world loads with every modded thing gone. Always move them together, and back them up together.

The server also needs the same mods the world was played with. tModLoader keeps the enabled list in enabled.json in its Mods folder; copying that file and the mod files to the server is the reliable way to match a local setup. If a world is loaded without a mod it used, tModLoader generally preserves that mod's content as unloaded placeholders rather than deleting it, so re-adding the mod later restores it - but do not rely on that for anything you would miss. Big content mods are their own subject; Terraria Calamity and modded servers covers memory and syncing mods.

TShock worlds#

TShock loads ordinary .wld files, so transferring the world itself is identical. What TShock adds is a database in its tshock folder - tshock.sqlite by default - holding accounts, groups, bans, protected regions and, if enabled, server-side characters.

Two things to know when moving a TShock world:

  • Regions belong to a world ID, a number stored inside the .wld. Move the same world to a new TShock server with the old database, and its regions come with it. Move a different world into a server, and the old regions do not apply to it - they are still in the database, tied to the old world's ID.
  • Server-side characters live in the database, not in `.plr` files. On an SSC server, the database is as important as the world. Back up the tshock folder alongside the worlds, always.

TShock also has its own automatic world backups, configured in its config file with an interval and a retention period and written into a backups folder under tshock. They are useful and they live on the same disk as the world. The TShock server guide covers the rest of the setup.

Backups that work#

The .wld.bak file is the previous save, overwritten every time the world saves. It protects against a save that was interrupted halfway, which is what it was designed for. It does not protect against a world that was griefed, a boss fight that went wrong an hour ago, a deleted server or a disk problem. Neither do rolling copies kept by worldrollbackstokeep on current builds, because they sit in the same folder.

A routine that covers the real risks:

  • A nightly copy of the world folder, kept somewhere other than the server, while people are playing.
  • A manual copy before anything irreversible. Breaking the first altar after Wall of Flesh, summoning a boss that can wreck a base, enabling a new mod.
  • Save before you copy. Run save in the console first; a copy taken mid-save may be incomplete, and a copy taken without one is of the last autosave, not of now.
  • One practice restore. Load a backup on a spare server or at home, walk around, check the latest builds are there. Backups that actually restore is the long argument; testing a restore before you need it the ten-minute version.

On RE:NODE, each Terraria plan includes backup slots, taken on demand or on a schedule and stored off the machine they protect. A Schedules entry can run save as a console command, then a backup, as ordered tasks with a delay between them, so the backup captures the world as it is rather than as it was at the last autosave. Restoring is one button, backups can be downloaded to keep a copy at home, and a backup slot can be locked so rotation never removes the copy you took before the altar.

Restoring and rolling back#

To roll a world back from a backup:

  1. Stop the server with exit.
  2. Move the current .wld (and .twld) aside rather than deleting it - you may want something from it.
  3. Put the backup copy in its place with the same file name.
  4. Start the server, check the log, join and confirm.

To recover from a world that will not load, try the .bak first: stop the server, move the broken Name.wld aside, copy Name.wld.bak to Name.wld, and start. If that also fails, go to your most recent real backup. Tools such as TEdit can open and sometimes repair damaged world files, but treat that as a last resort and work on a copy.

Announce a rollback before doing it. Players lose everything built since the backup, and their characters keep whatever they gathered, so items may exist twice. That is usually the right trade after a griefing incident and the wrong one for a lost hour of mining.

Troubleshooting#

The server generated a new world instead of loading mine. The world path does not match the file exactly and autocreate is on. Fix the path, set autocreate=0, delete the accidental world if you like, and restart.

My world is not in the Worlds folder. It is a Steam Cloud world. Toggle it to local on the world select screen.

The world loaded but all modded items are gone. The .twld was not uploaded, or the server is missing mods the world used.

A player cannot join the moved world. Journey characters only join journey worlds, and the reverse. Also check the client and server are on the same version.

My upload disappeared after a restart. The server was running during the upload and saved its own world over yours. Stop first, then upload.

Regions stopped protecting anything after a move. TShock regions are tied to the world ID of the world they were made in. The world you loaded is a different one.

FAQ#

Where are Terraria world files saved?

On Windows in Documents\My Games\Terraria\Worlds, on Linux in ~/.local/share/Terraria/Worlds, on macOS in ~/Library/Application Support/Terraria/Worlds. tModLoader uses a tModLoader\Worlds folder beneath the same root. Steam Cloud worlds are elsewhere until you toggle them to local.

How do I upload a Terraria world to a dedicated server?

Stop the server, upload the .wld file into its world folder, set world in serverconfig.txt to that file's exact path, and start. For tModLoader, upload the .twld alongside it.

Do I need to move characters to the server?

No. On a vanilla server characters are .plr files on each player's PC and come with them. TShock servers with server-side characters store them in TShock's database instead.

Is the .wld.bak file a backup?

Only of the previous save. It is overwritten on every save and kept on the same disk, so it protects against an interrupted save, not against griefing, mistakes or losing the server.

Can I download my world from the server to play offline?

Yes. Save or stop the server, download the .wld (and .twld for tModLoader), and put it in your local Worlds folder. It appears in your world list.

Can I change a world's difficulty after moving it?

No. Difficulty and journey mode are set when the world is created and are part of the file. The server's difficulty setting only affects new worlds.


Comments

Completely anonymous: no account, no email, no cookie. We store the name you type, the text and the time - nothing else. Links are limited and markup is not rendered.

0/2000