RE:NODE

Guides11 min read

Calamity modded Terraria server

Run Calamity and other big tModLoader mods on a dedicated server: RAM by mod list, enabled.json, mod sides, configs, world generation and keeping clients in sync.

0 readers

A Calamity server is a tModLoader dedicated server with the Calamity Mod enabled, and every player on it runs the same tModLoader version with the same mods at the same versions. In practice it needs 3-4 GB of memory for Calamity plus the usual companion mods, a fresh world generated with Calamity already loaded, the mod list defined in enabled.json, and a few minutes of patience every time it starts. The things that go wrong are predictable: a mod version that does not match a client's, a world created before Calamity was added, a mod list that outgrows the memory, and a mod update that lands the day before game night. This post covers all of it, and applies equally to Thorium, Fargo's and the other large content mods.

The basics of tModLoader on a server - installing it, the Mods folder, mod sides - are in Terraria and tModLoader server setup. This post is about what changes when the mods are big.

What a big mod does to a server#

Calamity is not a handful of new swords. It adds several hundred items, dozens of bosses, new biomes generated into the world, new enemies with their own AI, its own difficulty modes, and a great deal of code that runs every tick. Thorium, Spirit and Fargo's Souls are in the same class. Stacking two or three of them multiplies the effect.

On a server that shows up in four places:

  • Memory. Every item, NPC, projectile and tile type a mod defines is loaded into memory whether or not anyone uses it. A big mod list costs gigabytes before anyone joins.
  • Start-up time. The server loads, verifies and sets up every mod on start. Vanilla starts in seconds; a heavy modded server can take a few minutes.
  • World generation. Modded worldgen adds biomes and structures on top of vanilla's, and generating a large world is the memory high-water mark of the server's whole life.
  • CPU during fights. Modded bosses fire a lot of projectiles. The world update is single-threaded, so a boss fight with eight players is where clock speed shows.

None of this makes a modded server difficult. It makes it a server you size and maintain deliberately rather than one you start and forget.

How much RAM a modded server needs#

Memory is decided by the mod list first, the world size second and the player count a distant third.

SetupRAMNotes
tModLoader, a few quality-of-life mods1.5-2 GBMagic Storage, Boss Checklist, Recipe Browser
Calamity plus the usual companions3-4 GBThe common case for a group of 4-8
Calamity and Thorium together4-5 GBLarge world pushes the top of this
Calamity, Thorium, Fargo's Souls and more5-6 GB+Large worlds peak during generation

Treat these as starting points. Mods change size between releases, and the only number that matters is what your server uses with your list. Watch the memory graph through one world generation and one busy evening, and size for the peak plus some room.

Two specifics are worth knowing. World generation is the peak: a large world with three content mods is assembled in memory before it is written to disk, so a plan that runs the finished world comfortably can still fail to create it. Generating on a medium world, or generating locally and uploading, avoids that. And memory grows with exploration: more of the world loaded means more tiles and NPCs held, so a server at 60% on day one is not at 60% a month in.

RE:NODE's Terraria plans run from 512 MB to 4 GB. Calamity with its usual companions fits on the larger tiers; a stack of three or four big content mods on a large world can outgrow 4 GB, and it is better to know that before you start a run than halfway through it. If the container reaches its limit it is stopped and restarted clean rather than swapping, which is safe for the machine but loses unsaved progress. CPU vs RAM for game servers covers reading which resource you are short of.

Installing tModLoader and the mods#

tModLoader is a separate application from Terraria, free on Steam for owners of the game, and its server is part of the same download. On a server you either install it with SteamCMD or unpack the release archive from tModLoader's GitHub releases page, then run the server start script it ships with:

bash
$ cd ~/tmodloader$ ./start-tModLoaderServer.sh -config serverconfig.txt

The repository also ships helper scripts for dedicated servers in a DedicatedServerUtils folder that install tModLoader and download workshop mods from a list of IDs; check the tModLoader wiki for the current usage, because it has changed between releases.

Mods live in the Mods folder of tModLoader's data directory - on Linux ~/.local/share/Terraria/tModLoader/Mods/ unless the host has moved it - as .tmod files, with enabled.json deciding which load:

Mods/enabled.json
[  "CalamityMod",  "ThoriumMod",  "MagicStorage",  "BossChecklist",  "RecipeBrowser",  "Fargowiltas"]

These are internal names, not display names. Calamity is CalamityMod, Thorium is ThoriumMod, Fargo's Mutant Mod is Fargowiltas and its Souls add-on FargowiltasSouls. A wrong name does not produce an error; the mod simply is not loaded.

The reliable way to build the list is not to type it at all:

  1. In tModLoader on your own PC, subscribe to the mods on the Workshop and enable exactly the set you want.
  2. Use the Mod Packs menu to save the enabled set, or copy your local enabled.json.
  3. Upload the .tmod files and enabled.json to the server's Mods folder over SFTP or the file manager - SFTP and the file manager covers the connection.

Workshop downloads on your PC live under steamapps/workshop/content/1281930/<id>/, each in a folder named after the workshop item ID, with the .tmod inside a version folder. Copy the one matching your tModLoader version.

Mod sides and what players have to install#

Every tModLoader mod declares a side in its build file, and that decides who needs it:

SideServerClientsTypical example
BothYesYes, same versionCalamity, Thorium, Magic Storage
ClientNoOptionalUI tweaks, many music packs
ServerYesNoServer-only tools
NoSyncEitherEither, uncheckedSome utilities

Almost every content mod is Both. When a player joins a server with Both mods they do not have, tModLoader offers to download them and restart with the server's mod set, so a new player needs only tModLoader and the server address. Where it trips people up is a player who already has a mod at a different version: the join fails, and the message about which mod differs is easy to miss.

Music add-ons deserve a check. Calamity's music is a separate mod, CalamityModMusic, and it is large. Whether it needs to be on the server depends on the side the current release declares, which is shown on its workshop page; if it is client-side, leave it off the server and let players choose.

Creating the world: generate with the mods loaded#

Calamity adds biomes and structures during world generation - the Sulphurous Sea and Abyss on one ocean, the Sunken Sea under the desert, and others. They are only placed when the world is generated with Calamity loaded. Add Calamity to a world created without it and those areas are missing, which breaks progression that depends on them.

So the order is:

  1. Install tModLoader and the full mod list on the server.
  2. Generate the world with all content mods enabled.
  3. Only then let people in.

The world settings go in serverconfig.txt, which tModLoader reads exactly as vanilla does:

serverconfig.txt
world=/home/container/worlds/Calamitous.wldautocreate=2worldname=Calamitousdifficulty=1maxplayers=8port=7777password=change-this

autocreate=2 is a medium world, a sensible size for a modded group: large worlds take longer to generate, use more memory and spread players further apart. difficulty=1 is Expert, the minimum for Calamity's own Revengeance and Death modes, which are enabled inside the game rather than in this file; how they are toggled has changed between Calamity versions, so check the current Calamity wiki. Every key in this file is explained in Terraria server config and commands.

If the server runs out of memory during generation, generate the world on your own PC with the identical mod list instead, then upload both files: the .wld and the .twld beside it, which holds all modded data. A .wld uploaded without its .twld loads as a vanilla world with the modded content stripped out.

Mod configs on a server#

Many big mods have settings, stored as JSON files in the ModConfigs folder next to Mods, one per config, named ModName_ConfigName.json. tModLoader separates two kinds:

  • Server-side configs affect gameplay and are synced from the server to every client on join. The server's copy is authoritative.
  • Client-side configs affect only the local player - interface, visuals, audio - and are never synced.

To change a server-side setting, edit the JSON file in ModConfigs on the server while it is stopped, or set it in your local game with the same mods and upload the resulting file. Restart the server afterwards. Client-side settings are each player's own business.

This matters most for mods with difficulty or balance switches - Fargo's Souls is a good example, and Calamity has gameplay options of its own. Agree on them as a group before the world starts, because changing balance mid-run tends to lead to arguments.

Performance during the game#

Modded Terraria's cost is uneven. Walking around is cheap; a boss fight with several players and hundreds of projectiles on screen is where the server works hardest.

  • Projectiles and NPCs. Late-game Calamity bosses fill the screen. The server updates every projectile and NPC every tick, on one thread. If the server lags only during fights, that is the cause, and only a faster core helps.
  • Players spread out. Each player keeps their surroundings active. Eight players in eight biomes cost more than eight in one base.
  • Farms and spawners. Statue farms and invasion farms generate a lot of entities. Fine in moderation, a problem when four of them run at once.
  • Item clutter. Dropped items on the ground are entities. Magic Storage helps by keeping things off the floor.

The usual Terraria advice holds: a weekly restart keeps memory steady and gives a clean save point. Restart schedules that help has the timing argument, and reading a server load graph shows how to tell CPU lag from memory pressure.

Updates, adding mods and removing them#

Big mods update often, and each update can change items, recipes or world data. On a server, that means updates are something you decide, not something that happens:

  1. Back up first - the .wld, the .twld, the Mods folder and ModConfigs. A backup from before an update is the only clean way back.
  2. Update tModLoader before the mods, and only when the big mods support the new version. Calamity in particular sometimes lags a tModLoader release.
  3. Update the server and tell players at the same time. A client that auto-updated a mod the server has not will be refused, and the reverse.
  4. Watch the first start after an update in the console for load errors.

Adding a mod to a running world is usually safe, but a mod that generates terrain will only place its biomes in new worlds or unexplored areas, depending on how it is written. Removing a content mod is the risky direction. tModLoader keeps placeholder data for some content from mods that are no longer loaded, so putting the mod back can restore it, but anything the mod tracked in its own world data may not survive, and players will see their items turn into placeholders in the meantime. Do not remove Calamity from a Calamity world and expect to carry on. What to do when a mod update breaks has the full recovery drill.

On RE:NODE, backup slots are included on every Terraria plan and kept off the machine, so the before-update copy is a button rather than a download, and the Schedules tab can take one every night on a cron expression.

Troubleshooting#

Server stops during world creation. Out of memory. Use a medium world, generate it on your PC and upload the .wld and .twld, or move up a plan.

"Mod version mismatch" on join. The client has a different version of a mod than the server. The player should let tModLoader download the server's mods, or update from the Workshop to the same version.

The Abyss or Sunken Sea is missing. The world was generated without Calamity loaded. Generate a new world with the full list.

Server takes five minutes to start. Normal for a big list. Look for errors in the console rather than the clock.

A mod is in Mods but not loading. Its internal name in enabled.json is wrong, or its version does not support this tModLoader release. The console lists every mod it loads.

Lag only in boss fights. Projectile and NPC count on one thread. Fewer players in the arena, or a faster CPU core, are the only real fixes.

FAQ#

Do my friends need to download Calamity before joining?

They need tModLoader, owned through Terraria on Steam. When they join, tModLoader offers to download the server's mods and restart with them. If they already have a different version of a mod, they must match the server's.

Can I add Calamity to the world we already have?

You can, but its generated biomes will be missing, and parts of its progression depend on them. Start a new world with Calamity loaded from the beginning.

Can console or mobile players join a Calamity server?

No. tModLoader is PC only, and a modded server only accepts tModLoader clients with matching mods.

Is Calamity plus Thorium too much for one server?

Not inherently. Expect 4-5 GB on a medium world and longer start-up times. Watch memory through world generation and the first big boss fight before inviting the whole group.

Can I run TShock on a modded server?

No. TShock is a separate server for vanilla Terraria. Admin features on tModLoader come from mods instead. The TShock guide covers what TShock offers if your group decides vanilla is enough.


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