
Quick answer: tModLoader validates mod names, versions and load order when a player connects. A single mod being one version behind is enough for an immediate rejection. Telling your group "install Calamity and Thorium" does not work reliably, because everyone ends up on slightly different versions. The fix is to share a Mod Pack rather than a list, which pins the exact set for everybody.
The three reasons a join fails
Nearly every tModLoader connection problem is one of these, and they have different symptoms worth learning to tell apart.
1. Mod mismatch. The player is rejected quickly, often before any real loading. This is by far the most common.
2. Version mismatch on tModLoader itself. Server and clients have to run the same tModLoader version, not just the same mods. This one catches groups after an update, when some players auto updated and some did not.
3. Port 7777 not open. The connection never completes at all. Different symptom: a timeout rather than a rejection, because nothing on the other end ever answers.
If the player is rejected, look at mods. If the player hangs and times out, look at the port. That distinction saves a lot of wasted effort.
The Mod Pack fix
This is the part most guides skip, and it is the actual solution rather than a workaround.
In tModLoader, go to Workshop, then Mod Packs, then Save Enabled as New Mod Pack. That captures your exact enabled mods at their exact versions. Share that pack with your group and have everyone load it.
Why this works where a list does not: a list says "Calamity". A pack says "Calamity at this specific version, in this position in the load order". Since tModLoader is checking all three of those things, only the pack guarantees a match.
It also makes updates manageable. When you want to update mods, you update, save a new pack, and share it. Everyone moves together instead of drifting apart over a few weeks until nobody can join.
Load order matters, which surprises people
Mod names and versions being identical is not enough. tModLoader also checks load order, so two players with the same mods loaded in a different sequence can still fail to connect.
This is another reason the pack approach wins: it carries the order too.
After a Terraria update, expect a wait
Worth setting expectations with your group, because this causes a lot of confusion every time it happens.
tModLoader tracks its own version of Terraria, and it does not update the instant Terraria does. When an official Terraria patch lands, tModLoader typically lags behind while it is updated for the new version, and mods lag behind that again.
So a fresh Terraria patch does not mean a working modded server that day. If your server is modded, that gap is normal and the answer is patience rather than reinstalling things.
Sizing a Terraria server
Terraria is one of the lightest games to host, and it is worth saying plainly because people over buy.
| Setup | Realistic RAM |
|---|---|
| Vanilla, small group | 2GB |
| One large modpack like Calamity | 4GB |
| Multiple heavy overhaul mods, more players | 6GB+ |
Memory scales with the mod list and world size rather than with player count. A vanilla server for eight friends genuinely runs fine on the smallest tier, which is why our Terraria hosting starts at EUR 2 a month rather than pretending it needs more.
What to check, in order
When someone cannot join, work through it in this sequence rather than changing everything at once:
- Can anyone join at all? If nobody can, it is the server or the port. If one person cannot, it is that person's mods.
- Are they on the same tModLoader version as the server?
- Are they loading the same Mod Pack, not just the same mod names?
- Is port 7777 actually open and not in use by something else?
Most groups spend their time on step 4 when their problem is step 3.
Where you host it
Terraria is forgiving on latency compared with a racing or shooting game, but boss fights and large invasions generate far more traffic than normal play. That is when a distant server shows itself.
We run Terraria in the Netherlands, North America, Singapore and India. Pick the one closest to most of your group.
FAQ
Why does tModLoader reject a player who has all the right mods? Because it also checks versions and load order. Same mod names is not enough if a version differs or the order is different.
What is a Mod Pack and why should I use one? It is a saved snapshot of your enabled mods at their exact versions and order. Workshop, then Mod Packs, then Save Enabled as New Mod Pack. Sharing the pack is the only reliable way to guarantee everyone matches.
Does the server need the same tModLoader version as clients? Yes. A tModLoader version difference will block the connection even when the mods themselves match.
Terraria just updated and my modded server is broken. What now? Expected. tModLoader tracks its own version and updates after Terraria does, and mods update after that. Wait for the chain to catch up rather than reinstalling.
My players time out rather than get rejected. What is different? A timeout points at the network, usually port 7777 being closed or already in use. A rejection points at mods.
How much RAM does a Terraria server need? 2GB for vanilla or a light modpack, 4GB for a large one like Calamity, 6GB or more for several heavy overhauls together.
Related reading: Terraria and tModLoader hosting from EUR 2 a month across four regions.