A Terraria world is one file, and moving it to a dedicated server is a copy, a config line and a restart. The trouble people run into is almost never the move itself; it is finding the file in the first place, moving the wrong one, or expecting a world to come along from somewhere it cannot. This guide covers where worlds live on a PC, how to get one out of Steam Cloud, how to place it on a server, and the two moves that do not exist.
What you are moving
The world is <name>.wld. Everything about the world is inside it — terrain, buildings, chest contents, which bosses are down, the difficulty it was created with. Beside it you will usually find <name>.wld.bak, the previous save the game keeps as a rollback; it is optional to move, but harmless.
Two things are not in the world file:
- Characters. In Terraria, a character is the player's, not the world's. Each player's character stays on their own machine and comes with them to any server. Nothing about inventories lives on the server.
- Server settings. Port, password, max players and the rest live in
serverconfig.txt, not in the world. Difficulty and size are the exception: they were fixed when the world was created and travel with it.
Step 1: find the world on your PC
Terraria keeps worlds in a Worlds folder. The paths, from the Terraria wiki's server page:
| Platform | Worlds folder |
|---|
| Windows | Documents\My Games\Terraria\Worlds\ |
| Linux | ~/.local/share/Terraria/Worlds/ |
If the world does not appear there, it is probably saved to Steam Cloud rather than to disk. Open the game's world list; each world shows whether it is on the cloud, and the toggle moves it to local storage. Do that first, then look in the Worlds folder again.
Before copying, close the game or at least leave the world, so the file is not mid-write.
Step 2: put it on the server
The server loads whichever file world= names in serverconfig.txt, from the folder worldpath= names. On a self-hosted server:
- Copy
<name>.wld (and the .wld.bak if you like) into the folder worldpath points to — by default ~/.local/share/Terraria/Worlds/ on Linux, or wherever you set it.
- Set
world= to the full path of the file, keeping the name exactly as it is.
- Start the server with
./TerrariaServer.bin.x86_64 -config serverconfig.txt.
The autocreate, difficulty and seed lines are ignored for a world that already exists — they only apply when the server creates one — so there is nothing to change there. The full file is in serverconfig.txt explained, and the server install itself in the setup guide.
On a Connect Terraria server the same move is three actions: stop the server, upload the .wld into saves/Worlds on the Files tab or over SFTP, and set World Name on the Server Settings tab to the file's name without the extension. Start the server and it loads the uploaded world instead of creating one. The step-by-step, with the backup advice, is in backups & saves.
Step 3: check the version
A world saved by a newer version of Terraria may not load on an older server. Make sure the server is on the current build (1.4.5.8 as this is written, and the server zip on terraria.org is always the latest) before you move a world that was last played on an up-to-date PC. Re-Logic's note on the 1.4.5.8 release applies here too: "You will need the latest dedicated server."
The name is the identity
Rename the file and the server treats it as a different world: world= has to match. On a Connect server this is the World Name field — set it to a name with no matching file and the server creates a new, empty world under that name, leaving your uploaded one untouched on disk. If a moved world "comes up empty", the name is the first thing to check.
Moving the other way: taking a world home
The reverse is the same copy. Stop the server (or type save in the console first), download the .wld from the server's Worlds folder — on Connect, saves/Worlds on the Files tab — and drop it into the Worlds folder on your PC. It appears in the game's world list and can be played single-player or hosted from the game. Keep a copy before any big change on the server; it is the backup nobody can take away.
Two moves that do not exist
From tModLoader to a vanilla server. tModLoader saves a .twld beside the .wld, and it is on Terraria 1.4.4 while the vanilla server is on 1.4.5. A world last saved by tModLoader does not load on a vanilla 1.4.5 server, and a vanilla 1.4.5 world does not load in tModLoader. The two are different games for this purpose — more in tModLoader vs vanilla.
From a console. There is no official path from a PlayStation, Xbox or Switch save to a PC world file. Re-Logic has published none, and we are not aware of a supported one. A world started on a console stays on that console. This also means Crossplay Phase One, when it ships, is about console players joining a PC-hosted world — not about bringing a console world across.
A short checklist
- Leave the world in the game, or close the game.
- If it is on Steam Cloud, move it to local storage from the world list.
- Copy
<name>.wld from the Worlds folder.
- Place it where the server's
worldpath points (saves/Worlds on Connect).
- Point
world= (World Name on Connect) at it, name unchanged.
- Start the server, join, confirm it is the right world before telling everyone.
Frequently Asked Questions
Where are Terraria worlds saved on PC?
In Documents\My Games\Terraria\Worlds\ on Windows and ~/.local/share/Terraria/Worlds/ on Linux, per the Terraria wiki. Worlds on Steam Cloud are not on disk until you move them to local storage from the game's world list.
Do I need to move the .wld.bak file too?
No. It is the previous save, kept as a rollback. Moving it is harmless; the server will make new ones.
Do my friends' characters come with the world?
No. Characters are stored on each player's own machine and travel with them to any server.
Can I move my console Terraria world to a PC server?
No. No official path exists from a console save to a PC world file.
Can I move a tModLoader world to a vanilla server?
No. tModLoader is on Terraria 1.4.4 and saves a .twld beside the .wld; a vanilla 1.4.5 server cannot load it.
Why did my uploaded world come up empty?
The server did not find a file matching world= (World Name on Connect) and created a new one. Check the name matches the file exactly, without the .wld extension on Connect, and restart.