Beginner 15 min — Move world files and configs between servers.
.wld — the world file (in worlds/ directory).wld.bak — world backup filetshock.sqlite — TShock user database (permissions, bans, etc.)ServerConfig.txt — server configurationMods/ — if using tModLoader, copy the entire Mods directory# Gracefully stop
systemctl stop terraria
# Or if using TShock console:
/save
/exit
# Using scp (from new server):
scp old-server:/opt/terraria/worlds/*.wld /opt/terraria/worlds/
scp old-server:/opt/terraria/worlds/*.wld.bak /opt/terraria/worlds/
scp old-server:/opt/terraria/tshock/tshock.sqlite /opt/terraria/tshock/
scp old-server:/opt/terraria/serverconfig.txt /opt/terraria/
# Or using rsync (preserves permissions):
rsync -avz old-server:/opt/terraria/ /opt/terraria/
Install TShock on the new server matching the SAME VERSION as the old server. Version mismatches can corrupt worlds:
# Check old server version
./TShock.Server -h | head -5
# Install same version on new server
# See our Terraria server guide for full install steps
Ensure world files are in the correct path. Check your serverconfig.txt for the worldpath setting — it must match where you placed the .wld files.
systemctl start terraria
journalctl -u terraria -f
Watch for 'World loaded' in the logs. Connect from your Terraria client and verify the world is intact.
If your server's IP changed, update:
chown -R root:root /opt/terraria/Desert Forge hosting starts at $2/week — instant setup, DDoS protection, free tier available.
Get a serverBrowser-based utilities for self-hosters and developers. No signup, no upload.