How to Host a Terraria Server
The whole job, honestly: what hardware you need, why almost everyone runs TShock rather than the vanilla server, the one port that matters, the admin step that is easy to lose, and how to back a world up properly. Follow it and you will have a working server without paying anyone.
The setup, in order
1. Size the hardware — modestly
Terraria is unusually light. A small group on a medium world is comfortable on 1GB of RAM and a single core; a full 16-player server on a large world wants 2–4GB. The game is single-threaded for world simulation, so clock speed matters more than core count. Disk is trivial by modern standards — the server plus a large world is well under a gigabyte — but backups accumulate, so leave headroom.
2. Install the server, then TShock over it
The vanilla dedicated server is a free download from terraria.org, and it works — but almost nobody runs it bare. TShock replaces it with the same game plus accounts, groups, permissions, region protection, real admin commands and a plugin system. It is a separate download from the TShock releases page, it needs a .NET runtime installed, and you run TShock.Server instead of the vanilla binary.
3. Claim admin before anyone else can
This is the step people skip and regret. Terraria has no admin password to set in a config file. On first start TShock writes a one-time setup code to setup-code.txt in its config directory, and the first person to type /setup followed by that code in-game becomes superadmin. Anyone who can reach your server can do it. Claim it immediately, before you hand the address out — once used, TShock deletes the code and disables the system permanently.
4. Open the port
One port, and it is TCP:
- TCP 7777 — the game. This is the address players type into “Join via IP”, and it is all a vanilla server needs.
- TCP 7878 — optional, and only if you run TShock’s REST API. It is what lets an external panel read the player list and issue commands. It is token-protected, so do not open it without setting a token first.
Terraria is refreshingly simple here compared with most survival games — there is no separate query port and no UDP to forward. If your server is running but nobody can join, see the troubleshooting page for the causes in the order that finds them fastest.
5. Set up accounts and permissions
Once you have claimed superadmin, TShock’s user system takes over. Players register with/registerand log in with/login, and you assign them to groups — guest, default, trustedadmin and so on — each with its own permission set. Bans, groups and regions all live in TShock’s SQLite database beside the config, so they survive restarts. This is the single biggest thing you get over a vanilla server, where a griefer’s only cost is reconnecting.
6. Back the world up, and test the restore
TShock does some of this for you: setBackupIntervalinconfig.jsonand it writes a rolling backup of the world beside the live save. That is the layer that saves a bad hour, not a bad month.
The rest is on you, and it is easy because a Terraria world is a single.wldfile. Copy it on a schedule, keep more than one generation, and copy it off the machine. Copy while the server is idle or immediately after a save rather than mid-session.
Then actually restore one somewhere else once. A backup nobody has restored is a theory, and the failure mode that ends long-running worlds is discovering that on the day it matters.
7. If you want plugins
TShock plugins are.dllfiles that go in theServerPluginsfolder and load at start. Unlike most modded games, your players install nothing — plugins are server-side, so the people joining need only the base game.
The thing to watch when self-hosting is version drift: a plugin built for an older TShock can throw on load and take the server down with it. Check the log after adding one, and re-check your plugins whenever you update TShock or Terraria itself.
What this actually costs you
On the invoice, very little — Terraria is light enough that the cheapest VPS tier will run it. In total, the recurring work: TShock updated after game patches, plugins re-checked against it, a backup schedule you wrote and have to trust, and being the person who notices the world did not come back up. Whether that is worth the difference is a fair question and the provider comparison takes it seriously rather than answering it for you.
Or skip the build
The same TShock server, installed and patched for you, with the port published, hourly backups running, your plugin folder on a volume that survives restarts, and your setup code shown in the dashboard so claiming admin takes one click. From $0.99/month, first week free if your Flux account is new.
Frequently asked questions
What are the hardware requirements for a Terraria server?
Less than most people expect. A small group on a medium world runs comfortably on 1GB of RAM and one core; a busy 16-player server on a large world wants 2–4GB. World simulation is single-threaded, so a fast core beats extra cores, and disk is a rounding error until backups accumulate.
Do I need a database to run a Terraria server?
No. TShock stores users, groups, bans and regions in a SQLite file beside its config, which needs no setup and no separate service. A MySQL backend exists for people running several servers against one user list, but for a single world it adds a component and buys nothing.
Is there a control panel for Terraria?
Not from the game, but TShock gets you most of the way. Administration is in-game commands after you claim superadmin with /setup, and TShock also exposes an optional REST API on port 7878 that external panels can read a live player list from and issue commands through. It is token-protected and off by default.
Which port does a Terraria server need?
TCP 7777, and that is genuinely all for a normal server. There is no separate query port and no UDP, which makes Terraria one of the simpler games to forward for. Add TCP 7878 only if you deliberately enable TShock’s REST API.
Do my players need to install anything for plugins?
No, and this is the quiet advantage of TShock over client-side modding. Plugins run server-side only, so everyone joining uses the unmodified game. There is no version-matching to coordinate and nobody gets kicked for having the wrong build.
Keep reading
- Terraria server requirementsRAM, CPU, disk and the port — and how world size and player count drive them.
- TShock server hostingWhat TShock adds over vanilla, where plugins go, and why the folder has to persist.
- How to compare any Terraria hostTShock and plugin support, whether backups are included, and where the world file lives.
- Rent a Terraria serverWhat each tier costs, and how to size one by the group rather than by guesswork.
- Managed Terraria hostingWhat a managed plan covers, what stays yours, and where your world lives.
- Server not showing upWhy a running server refuses connections, starting with the port and the world file name.