Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
FREEDOM251

Freedom251 › Blog › Dedicated Servers

How to Install tModLoader Mods on a Terraria Server

By Freedom251 Team · · 12 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To install tModLoader mods on a Terraria dedicated server, install the server runtime, copy a client-created Workshop modpack’s install.txt and enabled.json into the server’s Mods directory, install the mods, and start the server with a configuration that points to your world and mod set. The client and server must use the same tModLoader branch and compatible enabled mods. You can run the server with the official management script, in Docker, or with the standalone launcher files; the workflow is the same once the server folder contains Mods and Worlds.

Choose a server method and lock the tModLoader branch

There are three practical ways to provide the tModLoader server runtime:

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Management script on Linux: the official Dedicated Server Utils scripts install and update tModLoader and its mods on a normal host.
  • Docker: the supplied Dockerfile and Compose configuration isolate the runtime and make repeatable deployments easier.
  • Manual launcher files: Windows, Linux, and macOS distributions include start scripts, but you must handle runtime updates and mod files yourself.

Decide the branch before installing mods. The default Workshop branch and the 1.3-legacy branch are separate ecosystems. A mod listed for the default branch is not automatically compatible with a 1.3-legacy server, and the legacy Workshop content is published separately. Every player should select the same branch as the server before attempting to join.

ARM is not supported for tModLoader or its dedicated server. The current official documentation states: “Currently ARM support does not exist for TML or the Dedicated Server.” Use a supported x86-64 machine or a hosting environment that provides one; changing launch flags will not make an ARM installation work.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Decision What you gain What you must manage
Management script Direct host access, scripted installation, and a single command path for runtime and mods Linux dependencies, file permissions, updates, and process supervision
Docker Isolation, repeatable deployment, and a Compose file that can be rebuilt Container UID/GID mapping, persistent volumes, and image rebuilds
SteamCMD installation Steam authentication and the normal Steam update path A Steam account and SteamCMD credentials on the server
GitHub installation Direct installation of the release that matches the Steam version Choosing and pinning the release you intend to run

The management utilities document the Steam and GitHub releases as the same tModLoader version. Use SteamCMD when you want Steam-based authentication and updates; use the GitHub option when you prefer a direct release install or need a deliberate version pin.

Prepare the server directory

Create one persistent directory for the server. It must contain a Mods directory, a Worlds directory, and either the management script or the Docker files. Keep this directory on persistent storage rather than inside a temporary container layer.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
tmodloader-server/
├── Mods/
│   ├── install.txt
│   ├── enabled.json
│   └── ExampleMod.tmod
├── Worlds/
│   ├── MyWorld.wld
│   └── MyWorld.twld
├── serverconfig.txt
└── manage-tModLoaderServer.sh

Mod files use the .tmod extension. World data normally includes a Terraria .wld file and, when the modded world has additional data, a matching .twld file. The server configuration points to the .wld file; do not put the .twld extension in the world setting.

On a Docker installation, mount this directory into the container and make the container’s user and group IDs match the owner of the files. A UID/GID mismatch commonly leaves the container unable to write downloaded mods, world saves, or logs.

Install tModLoader with the official management script

Install through SteamCMD

Install SteamCMD on the Linux host and make the management script executable. From the server directory, run:

./manage-tModLoaderServer.sh install-tml --username your_steam_username

Follow SteamCMD’s authentication prompts. Use the account that has the required Terraria/tModLoader entitlement, and avoid putting a password directly into a shell history. The script places the server runtime in the directory used by the utilities.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install from GitHub

If you do not want SteamCMD on the host, install the release directly:

./manage-tModLoaderServer.sh install-tml --github

The utilities document the GitHub release as the same version released on Steam. This path is useful on a headless machine where you want the server files without maintaining a SteamCMD session.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Install or update the mods

Once the runtime is present and the modpack files are in Mods, install the referenced Workshop items:

./manage-tModLoaderServer.sh install-mods

Start the server with:

./manage-tModLoaderServer.sh start

The utilities also provide an install operation that can combine runtime installation and mod installation. Running install later updates both tModLoader and the installed mods. Treat that as a coordinated update: update a maintenance copy first when the world is important, because a mod update can change world behavior or break compatibility with clients that have not updated.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run tModLoader in Docker

The official server utilities include a Dockerfile and a Compose file. Download those project files into the persistent server directory, then set the container UID and GID to the values that own the mounted files. This allows the process inside the container to create and modify Mods, Worlds, and configuration files without leaving them owned by an unexpected user.

  1. Place the Dockerfile, Compose file, Mods, Worlds, and serverconfig.txt together in the deployment directory.
  2. Set the UID and GID variables in the Compose configuration to match the host account that owns the directory.
  3. Optionally set TMLVERSION to the tModLoader release required by your modpack.
  4. Start the container in the background:
docker compose up -d

Use a rebuild when you need to update the runtime or the installed mods:

docker compose build

Provide a serverconfig.txt rather than relying on interactive prompts. A headless container cannot answer a question at a terminal that is not attached, so a missing or incomplete configuration can make the container exit even though the image itself is healthy.

Create a Workshop modpack in the client

Workshop subscriptions are associated with display names, while the dedicated-server utilities need the exact mod identifiers and versions. The reliable handoff is a modpack exported by the tModLoader client.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Launch the tModLoader client on a computer with the same branch you intend to run on the server.
  2. Subscribe to the required Workshop mods and allow them to finish downloading.
  3. Open Workshop, then Mod Packs.
  4. Choose Save Enabled as New Mod Pack.
  5. Select Open Mod Pack Folder.
  6. Copy the resulting install.txt and enabled.json files into the server’s Mods directory.
  7. Run ./manage-tModLoaderServer.sh install-mods on the server.

The two files have different jobs. install.txt tells the utilities which Workshop items to retrieve; without it, no Workshop mods are installed. enabled.json tells tModLoader which installed mods to activate; without it, the files may be present but no mods are enabled. Copy both files as a pair whenever you publish a new modpack revision.

The Steam Workshop listing says its tModLoader items are ready to use after subscription and that the listed items apply to the default tModLoader branch. The page recorded 15,387 Workshop items when accessed in 2026. That large catalog does not mean every item works with every release, so verify the branch and release requirements shown by each mod before adding it.

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord | 6.35mm Jack, Durable Design, Stage and Home Studio Use, Low Noise Shielded Electric Cord for Bass, Keyboard, Amp, Mixer
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

Add local .tmod files alongside Workshop mods

Local mods can coexist with Workshop downloads. Copy each local .tmod file into the same server Mods directory that contains install.txt and enabled.json. The local file does not need to be converted into a Workshop item.

Every mod that should load must appear in enabled.json, including local files. A common failure is to copy a private or development .tmod into the directory but leave it out of the enabled list; the server then starts without that mod. Regenerate the modpack from a client that has the local file enabled, or edit the enabled list using the same identifiers produced by tModLoader rather than guessing from a display name.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Distribute the identical local .tmod file to every client. Workshop subscription cannot supply a file that exists only on the server, and a client with a different build can fail during connection even when the mod name is the same.

Configure serverconfig.txt

A configuration file prevents startup prompts and makes Docker or a headless shell reproducible. Use the example configuration supplied with the server utilities as a starting point. The key settings are:

Setting What to enter Important qualification
world Full path to the existing or desired .wld file Use the .wld extension, not .twld.
autocreate A world-size value when a new world should be generated Use it only when you want the server to create a world rather than load an existing one.
maxplayers An integer from 1 through 255 This is the server’s player limit.
port The TCP port clients will use The documented default is 7777; change it only when you also update firewall and router rules.
password The join password, if one is required Leave it unset only when an open server is intended.
modpath The path to the directory containing the server’s mod files Use the absolute or correctly resolved path for the host or container.
modpack The modpack selection supported by your tModLoader release Keep this aligned with the enabled.json and installed files.

For a new world, set autocreate and provide a destination under Worlds. For an existing world, point world directly at its full path and omit world creation settings that would replace it. Back up both the .wld and matching .twld before changing the mod set.

Launch a headless or dedicated server

Linux and macOS

The launcher is start-tModLoaderServer.sh. Use the supplied configuration file, or pass the world and networking options on the command line. For a server that should not use Steam networking, select -nosteam. If you use Steam lobby networking instead, choose the appropriate Steam lobby mode for your deployment. A direct world selection uses -world:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
./start-tModLoaderServer.sh -nosteam -world /full/path/to/Worlds/MyWorld.wld

The exact combination of command-line switches and configuration-file values depends on which options you want to override. Do not specify a different world, port, or mod path in one place by accident; the effective command should clearly identify the intended files.

For an unattended shell, run the process inside screen or tmux. These tools keep the server alive after you disconnect and let you reconnect to the console for shutdowns and maintenance.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Windows

Use start-tModLoaderServer.bat and point it at the same serverconfig.txt. Keep the command window or use an appropriate Windows service wrapper if the server must start automatically. Ensure the Windows Firewall allows the configured port.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Docker

Start with docker compose up -d, then inspect the container logs for the world-load and mod-load messages. Stop and rebuild with the Compose commands appropriate to your deployment when you change TMLVERSION, the Dockerfile, or the installed mod set. Keep the world and Mods directories mounted so a container replacement does not erase them.

Expose the server to players outside your network

Players on another network need router port forwarding for the configured port, normally 7777 unless you changed it. Forward the port to the machine running tModLoader, allow it through the host firewall, and give players the reachable address. A server that works for a local player but not an external one usually has a forwarding, firewall, address, or carrier-grade NAT issue rather than a mod-installation problem.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Keep clients and server compatible

Every player must run the same tModLoader branch as the server and have the same enabled mod set. The safest procedure is to export the server’s modpack, have clients use that pack, and distribute any local .tmod files through a controlled download rather than asking players to find similarly named files.

The default branch Workshop catalog is distinct from 1.3-legacy content. If one player selects a legacy branch while the server uses the default branch, the player may not see the same Workshop items at all. Resolve branch selection before troubleshooting individual mods.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Pin the runtime when a modpack requires a particular release. The utilities support a tmlversion.txt file, while the Docker configuration supports TMLVERSION. Record the chosen value with the modpack and update the server and clients together. A rolling update in which the server changes first can produce version or content mismatches even when the mod names have not changed.

Troubleshoot common installation failures

The server starts, but no Workshop mods load

  • Confirm that install.txt is directly inside the active Mods directory, not inside the modpack folder that contains it.
  • Run ./manage-tModLoaderServer.sh install-mods again and watch for download or authentication errors.
  • Check that the server branch matches the branch used to create the modpack.
  • Verify that the configured modpath points to this directory rather than an empty default location.

Mods are installed but disabled

Inspect enabled.json. It must contain every mod intended to load, including local .tmod files. Recreate the pack with Save Enabled as New Mod Pack after enabling the desired set in the client, then copy the new file to the server.

A local mod is missing

Check the extension and location, then confirm that the file’s identifier appears in enabled.json. Copy the exact same file to each client. A display name alone is not enough to make a local mod load.

The world will not open

Check that world names the full path to the .wld file and not the .twld companion. If the world is new, use autocreate instead of pointing at a file that does not yet exist. Restore the paired world files from backup if a mod change left the world in an inconsistent state.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Players receive a branch or mod mismatch

Compare the tModLoader branch, pinned version, enabled list, and local files on one client and the server. Do not rely on Workshop display names; regenerate and distribute the modpack so the identifiers and versions are identical.

The Docker container exits or cannot save

Verify that the UID and GID configured for the container match the host ownership of the mounted directory. Confirm that serverconfig.txt is mounted and contains a valid world path, port, and mod path. Rebuild with docker compose build after changing the runtime or mod installation.

External players cannot connect

Test locally first. Then check the configured port, host firewall, router forwarding, and the address supplied to players. If the server is behind carrier-grade NAT, ordinary forwarding may not provide a reachable public endpoint; use a host with an accessible address or a managed service.

The server is running on ARM hardware

ARM is currently unsupported for tModLoader and the dedicated server. Move the deployment to supported x86-64 hardware rather than trying to repair the installation with configuration changes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Self-hosting versus a managed server

Self-hosting gives you control over the runtime version, mod files, backups, and network policy, but you must maintain SteamCMD or Docker, keep the process running, forward the port, and troubleshoot updates. A managed Terraria host removes much of that administration at the cost of less control over the underlying environment and a recurring hosting fee.

The tModLoader wiki lists NodeCraft, GameServers, Akliz, Citadel Servers, AleForge, and WinterNode as dedicated hosts known to work. Its notes specify that GameServers requires -savedirectory ./ in the launch command, while Akliz is listed as working without that change. Availability, pricing, supported branches, and any affiliate relationship can change, so confirm the provider’s current tModLoader support before purchasing. You still need to supply the same branch and mod set to players.

Update and backup routine

  1. Stop the server cleanly and copy the entire Worlds directory, including both .wld and .twld files.
  2. Save the active install.txt, enabled.json, serverconfig.txt, and any local .tmod files.
  3. Record the tModLoader release in tmlversion.txt or the Docker TMLVERSION setting when you pin one.
  4. Update the runtime and mods together with the management script’s install operation, or rebuild the Docker deployment.
  5. Start the server and test the world with one client using the same branch and modpack before inviting the rest of the players.
  6. If a mod update causes errors or world problems, stop the server and restore the backed-up runtime, mod files, and world data as a matching set.

Final pre-launch checklist

  • The machine uses supported hardware; ARM is excluded.
  • The server and every client are on the same tModLoader branch.
  • Mods/install.txt exists and contains the Workshop installation list.
  • Mods/enabled.json lists every Workshop and local mod that should be active.
  • All local .tmod files are present on both server and clients.
  • The runtime version is deliberately selected or pinned.
  • serverconfig.txt points to the correct .wld, port, player limit, password, mod path, and modpack.
  • The configured port is allowed by the host firewall and forwarded by the router when outside players need access.
  • The world and mod configuration are backed up before the first update.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Dedicated ServersDockerSteamCMDTerrariatModLoaderWorkshop Mods

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.