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.
Prefer not to run the server on your own PC? Godlike.Host offers hosted Terraria servers with free DDoS protection and up to three free backups a day.
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.
Recommended Free Tools
- 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
- [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.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →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.
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
- 【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.
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.
- Place the Dockerfile, Compose file,
Mods,Worlds, andserverconfig.txttogether in the deployment directory. - Set the UID and GID variables in the Compose configuration to match the host account that owns the directory.
- Optionally set
TMLVERSIONto the tModLoader release required by your modpack. - 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.
- Launch the tModLoader client on a computer with the same branch you intend to run on the server.
- Subscribe to the required Workshop mods and allow them to finish downloading.
- Open Workshop, then Mod Packs.
- Choose Save Enabled as New Mod Pack.
- Select Open Mod Pack Folder.
- Copy the resulting
install.txtandenabled.jsonfiles into the server’sModsdirectory. - Run
./manage-tModLoaderServer.sh install-modson 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
- [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.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsDistribute 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:
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →./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
- 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.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchDocker
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.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.
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.txtis directly inside the activeModsdirectory, not inside the modpack folder that contains it. - Run
./manage-tModLoaderServer.sh install-modsagain and watch for download or authentication errors. - Check that the server branch matches the branch used to create the modpack.
- Verify that the configured
modpathpoints 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.
Best Value
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.
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.
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.
Quick Recap
Update and backup routine
- Stop the server cleanly and copy the entire
Worldsdirectory, including both.wldand.twldfiles. - Save the active
install.txt,enabled.json,serverconfig.txt, and any local.tmodfiles. - Record the tModLoader release in
tmlversion.txtor the DockerTMLVERSIONsetting when you pin one. - Update the runtime and mods together with the management script’s
installoperation, or rebuild the Docker deployment. - Start the server and test the world with one client using the same branch and modpack before inviting the rest of the players.
- 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.txtexists and contains the Workshop installation list.Mods/enabled.jsonlists every Workshop and local mod that should be active.- All local
.tmodfiles are present on both server and clients. - The runtime version is deliberately selected or pinned.
serverconfig.txtpoints 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.

