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×
Skip to content
World desk13 min

How to Set Up a Modded Terraria Server With tModLoader

A complete tModLoader dedicated-server guide covering Docker, the management script, Workshop modpacks, server configuration, headless startup, port forwarding, updates, and ARM compatibility.

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.

The reliable way to host a modded Terraria world is to run the current tModLoader Dedicated Server Utils workflow, install one exact mod set, point the server at a known .wld file, and forward the server port to the computer running it. Every player must use a compatible tModLoader build and the same enabled mods. You can run the server directly with the management script or isolate it in Docker; both approaches use the same Mods, Worlds, configuration, and networking principles.

This guide covers a home server, a headless Linux or macOS instance, and a Docker deployment. It also explains the ARM limitation, reproducible Workshop modpacks, unattended startup, router forwarding, updates, and the failures that most often prevent friends from connecting.

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.

Check compatibility before installing

Confirm these prerequisites before creating a world. Fixing an architecture or version mismatch after the server is populated is considerably harder than checking it first.

  • Use an x86 or x64 machine. The current official Dedicated Server Utils documentation states: “Currently ARM support does not exist for TML or the Dedicated Server.” Do not assume an ARM VPS, Raspberry Pi, or ARM single-board computer will run a tModLoader server.
  • Match the tModLoader version. The server and clients need compatible builds. If you pin a particular server version, have every player use that same version rather than allowing one side to update independently.
  • Match the enabled mod set. A client missing a server mod, carrying an extra enabled mod, or using a different mod build can be rejected during connection or produce world and gameplay errors.
  • Reserve a stable local address. A router rule must point to the server computer. Give that computer a DHCP reservation or static address so the rule does not break after a reboot.
  • Plan storage and backups. Mods, downloaded Workshop files, worlds, and logs all live on the host. Keep a copy of the Worlds directory before changing mods or tModLoader versions.

The tModLoader GitHub Wiki page that shows 11 March 2026 as its last-modified date notes that its older 1.4.4 dedicated-server walkthrough is outdated. Use the current Dedicated Server Utils workflow for installation details and treat older examples as configuration guidance only.

#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.

Choose Docker or the management script

The official tooling supports two deployment routes. Neither route changes the requirements for compatible clients, identical mods, a configured world, or an open server port.

Decision point Docker Management script
Isolation Packages tModLoader in a container, keeping its runtime separate from the host. Runs the server and its files directly on the host operating system.
File access Files are exposed through the mapped project directories; container permissions must be correct. Direct access to Mods, Worlds, logs, and configuration gives the most control.
Installation Install Docker and Compose, download the project Dockerfile and compose file, set the host UID and GID, then start the stack. Install tModLoader through SteamCMD or a GitHub release with the supplied management commands.
Updates Rebuild the image and recreate the container; a no-cache build is available when a normal rebuild keeps an old layer. Use the management workflow’s install operation for tModLoader and installed mods, or its separate operations when only one needs updating.
Best fit Operators who want a repeatable, isolated service and are comfortable with Compose. Administrators who want simple direct file editing, custom scripts, or maximum control over the host.
Architecture The ARM restriction applies to both routes. Use a compatible x86 or x64 host.

For a public or long-running service, isolation can make upgrades and recovery cleaner. For a private server on a spare computer, direct management is often easier because you can inspect and edit every file without entering a container.

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

Create the server directory structure

Choose one top-level directory and keep the server’s mutable data there. A predictable layout makes backups, modpack transfers, and migration straightforward.

tModLoader/
├── Mods/
│   ├── install.txt
│   ├── enabled.json
│   └── local-mod.tmod
├── Worlds/
│   ├── FriendsWorld.wld
│   └── FriendsWorld.twld
├── serverconfig.txt
└── tmlversion.txt
  • Mods can contain local .tmod files plus the Workshop-generated install.txt and enabled.json.
  • Worlds stores the Terraria world file (.wld) and any matching .twld data.
  • serverconfig.txt is optional but recommended for repeatable startup.
  • tmlversion.txt is optional and can pin a specific or legacy tModLoader version in the management workflow.

The management workflow also creates the server and Steam Workshop directories it needs. Do not scatter Mods or Worlds across unrelated locations unless you deliberately set the corresponding paths in configuration.

Install tModLoader with the management script

Use the script when you want direct access to the host filesystem or do not want to maintain a container.

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 from SteamCMD

  1. Prepare SteamCMD and a Steam account that can download the required files.
  2. From the management-script directory, run install-tml --username your_steam_username.
  3. Complete any authentication requested by SteamCMD and wait for the installation to finish.
  4. Check that the expected server files and the Mods and Worlds directories exist before adding a world.

The username command is the documented SteamCMD route. Keep credentials out of shell history and service files where your operating system permits it.

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

Install from the GitHub release

  1. Run install-tml --github to install the latest available GitHub release through the management workflow.
  2. If the server must stay on a particular or legacy build, place the required version in tmlversion.txt or set the documented TMLVERSION value before installing.
  3. Record the selected version so clients can reproduce it exactly.

Do not mix a pinned client version with an unpinned server that updates automatically. Decide whether the server or the clients are the source of truth, then keep the other side aligned.

Install with Docker and Compose

  1. Install Docker and Docker Compose on an x86 or x64 host.
  2. Download the tModLoader Dedicated Server Utils Dockerfile and Compose file from the current project documentation.
  3. Open docker-compose.yml and set the container process UID and GID to values that can read and write the server directories on the host.
  4. Place the project in the directory that will hold Mods and Worlds. The documented setup creates those directories if they do not already exist.
  5. Start the service with docker compose up -d.
  6. Inspect the container logs and confirm that the server has created or found the expected configuration and world paths before inviting players.

Keep the Compose project directory backed up. It contains the mapped data that survives container replacement; data written only inside an unmounted container layer should not be treated as a reliable backup.

Reproduce the exact mod list

Human-readable Workshop names are not enough for a dedicated server. The reproducible method is to export the enabled client set as a mod pack.

  1. Open tModLoader on a client that already has the intended mods.
  2. Go to Workshop, then Mod Packs.
  3. Choose Save Enabled as New Mod Pack.
  4. Open the resulting modpack folder and locate Mods/install.txt and Mods/enabled.json.
  5. Copy both files into the server’s Mods directory.
  6. Run the management workflow’s install-mods operation so the listed Workshop mods are downloaded on the server.
  7. Copy any private or locally built .tmod files into the same server Mods directory. Every client must receive those files through the same trusted distribution method.

Keep install.txt and enabled.json together. The first identifies what the server should install; the second records what should be enabled. If you edit one without the other, the server can download the right files but start with an unexpected enabled set.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [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

After installation, compare the server’s mod list with the client’s list before creating a shared world. Disable experimental mods until the basic connection works, then add them in small groups so a failure has a clear cause.

Configure the world and server

Copy the supplied example serverconfig.txt and edit it rather than relying on interactive prompts. The following values are the important ones for a small friends-only server:

Setting Purpose Important qualification
worldname Name used when the server must autocreate a new world. It does not replace the path to an existing world file.
world Exact path to an existing or new .wld file. For Docker, use a container path such as /tModLoader/Worlds/FriendsWorld.wld.
autocreate=1 Creates a world when the specified world does not exist. Use a backup before allowing a typo in the path to create a different world.
maxplayers Maximum number of simultaneous players allowed by the configuration. The wiki reference gives a range of 1 to 255. A separate Official Terraria Wiki search result reports a current dedicated-server default of 16; verify the default for the exact installed build instead of assuming either figure.
port Network port on which the server listens. The walkthrough uses 7777 as the default. Any other value must also be changed in the router and firewall rules.
password Requires connecting players to enter a password. Use a unique value and share it privately.
npcstream Controls the NPC streaming option documented by the server configuration reference. Use the value appropriate to your installed build and desired server behavior.
modpath Points the server at the directory containing mod files. Keep it consistent with the host or container path layout.
modpack Selects a modpack for startup. Use the path and format shown by the current tModLoader configuration example.

A concrete configuration can look like this:

worldname=FriendsWorld
world=/srv/tModLoader/Worlds/FriendsWorld.wld
autocreate=1
maxplayers=8
port=7777
password=riverstone42
modpath=/srv/tModLoader/Mods

The paths in that example are for a direct host. In Docker, change the world path to the path visible inside the container, such as /tModLoader/Worlds/FriendsWorld.wld, and use the matching in-container Mods path. Do not copy a host path into a container configuration unless the container actually mounts that path.

Start a dedicated or headless server

Windows

  1. Open the tModLoader installation directory.
  2. Run start-tModLoaderServer.bat.
  3. When using a separate configuration or world, pass -config and -world arguments, or put those values in serverconfig.txt.
  4. Allow the executable through the Windows firewall for the selected server port.

Linux or macOS

  1. Make the launcher executable if necessary, then run start-tModLoaderServer.sh.
  2. Use -world for the exact .wld file and -config for the configuration file when those are not in the default locations.
  3. Use -nosteam when you are intentionally running the non-Steam server mode supported by your installation.
  4. Set the Steam mode explicitly for unattended operation and provide a .wld path so startup does not pause for an interactive world-selection prompt.

For a server reached over SSH, run the process inside screen or tmux. Detach from that session instead of closing the terminal; the server then continues after the SSH connection ends. Reattach later to read the console and issue the normal server shutdown command.

Docker

Start the container with docker compose up -d, then follow its output with the Compose logs command. A healthy startup should show the selected world and listen on the configured port. If the container repeatedly exits, inspect permissions, the in-container paths, and the image architecture before changing mods.

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.

Open the server to remote players

Players on the same home network can usually connect using the server computer’s local address. Players on another network need a router rule that forwards the chosen server port to that local address. The wiki walkthrough uses port 7777, so a typical setup is:

  1. Reserve the server computer’s local IP address in the router.
  2. Create a port-forwarding rule for 7777 to that address.
  3. Allow the same port through the host operating system’s firewall.
  4. Confirm that port=7777 is still in serverconfig.txt or the startup arguments.
  5. Give remote players the public address and port, not the private 192.168.x.x or 10.x.x.x address.
  6. Test from a network outside the home connection, such as a phone hotspot. Testing from inside the same LAN can give a misleading result on routers that do not support loopback.

If you select another port, change the configuration, router rule, firewall rule, and the port entered by players as one change. Opening a port on the router while the server listens elsewhere cannot work. A Docker deployment also needs the Compose configuration to publish the selected container port on the host.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Connect clients safely

Have every player perform the same compatibility check before joining:

  • Update or roll back tModLoader to the server’s recorded version.
  • Install the modpack files or the same Workshop mods.
  • Enable exactly the mods represented by enabled.json.
  • Install any local .tmod files required by the server.
  • Use the server’s public address and configured port when outside the host’s network.
  • Enter the server password if one is configured.

When a player is refused immediately, compare versions and enabled mods before changing router settings. A successful LAN connection proves that the server is running, but it does not prove that the public forwarding rule or an external firewall is correct.

Update without breaking the world

Schedule updates rather than applying them while players are connected.

Management-script updates

The management script’s install operation updates tModLoader and the installed mods. The workflow also provides separate operations for updating only mods or only tModLoader. Use a separate operation when you need to keep one side fixed for compatibility, and record the resulting versions before restarting the server.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Stop the server cleanly and copy the entire Worlds directory.
  2. Save the current enabled.json, install.txt, configuration, and version file.
  3. Run the required management-script update operation.
  4. Start the server without players and inspect the console for load errors.
  5. Have one client verify the world and mod behavior before opening the server publicly.

Docker updates

  1. Stop or recreate the Compose service according to the project’s update instructions.
  2. Rebuild the image and bring it back up.
  3. If a normal rebuild does not refresh the image, rebuild with the available no-cache option, such as docker compose build --no-cache, then run docker compose up -d.
  4. Confirm that the mapped Mods and Worlds directories are still present; replacing a container must not replace your data.

Never update tModLoader, a large group of mods, and the world generator simultaneously without a backup. If a new mod version changes world data, restoring the old world and the old mod set is the fastest recovery path.

Troubleshoot the common failures

Symptom Likely cause What to check
Server says a mod is missing or a client cannot join. The enabled set or mod version differs. Compare enabled.json, install.txt, local .tmod files, and the tModLoader version on both sides.
Workshop mods never appear on the server. The modpack files were copied to the wrong directory or the install operation was not run. Put both files in the server Mods directory and run install-mods; check permissions and logs.
A new world starts instead of the established world. The world path is wrong, inaccessible, or points to a different filename. Use the exact .wld path, verify the file exists, and temporarily disable autocreation after restoring the correct file.
Docker cannot find the world. A host path was used where a container path is required. Use the in-container path, for example /tModLoader/Worlds/FriendsWorld.wld, and verify the Compose volume mapping.
Friends on the internet time out, but LAN players connect. Port forwarding, host firewall, public address, or carrier-grade NAT is preventing access. Forward the configured port to the reserved local IP, allow it through the firewall, and test from an external network.
The server stops when an SSH window closes. It was not detached from the terminal. Run it inside screen or tmux, detach, and reconnect to the session later.
The server will not start on the chosen VPS or board. The machine uses ARM. Move the deployment to a supported x86 or x64 host; current Dedicated Server Utils documentation says ARM support does not exist.
Players are prompted for a world or the process waits indefinitely. Startup is interactive and lacks an explicit world or Steam mode. Set the Steam mode required by the deployment and supply a valid .wld path through the config or startup arguments.
Container starts but cannot write Mods or Worlds. The container UID or GID does not own or have permission to the mapped directories. Set UID/GID in docker-compose.yml and correct host directory ownership before restarting.

Home server or paid hosting?

A home machine avoids a recurring hosting bill but requires you to keep the computer powered on, maintain the operating system, configure the router, handle backups, and troubleshoot connectivity. A dedicated game-server provider charges a recurring fee in exchange for an always-on machine and some level of managed administration. The wiki describes a dedicated host as a company that provides server hosting for a fee.

Factor Home machine Paid dedicated hosting
Up-front control Complete control of files, operating system, mods, and backups. Control depends on the provider’s panel and supported tModLoader build.
Networking You must forward the port and deal with ISP restrictions. The provider normally supplies a reachable address, but you still configure the server port and access policy.
Availability Depends on your power, internet connection, and maintenance schedule. Designed for continuous operation, subject to the provider’s service terms.
Cost No server-provider subscription, but electricity, hardware, and bandwidth are your responsibility. Recurring hosting charge; the actual price and included resources vary and must be verified with the provider.
Compatibility You can choose the exact supported tModLoader version if the hardware meets the architecture requirement. Confirm that the plan supports tModLoader, custom mods, Workshop installation, the required player count, and your chosen version before paying.

Choose hosting when reliable uptime and avoiding router administration matter more than direct control. Choose home hosting when you already have a suitable x86/x64 computer and want unrestricted access to the server files. In either case, retain your own world and modpack backups so a migration does not depend on one machine or provider.

Pre-launch checklist

  • Host architecture is x86 or x64, not ARM.
  • Server and clients use the same compatible tModLoader version.
  • Mods/install.txt and Mods/enabled.json came from the intended client mod pack.
  • All required local .tmod files are present.
  • The world file is backed up and the configured path is exact.
  • serverconfig.txt contains the intended world, port, player limit, password, and mod settings.
  • Docker volume paths and UID/GID permissions are correct if using Compose.
  • The launcher starts without interactive prompts in the intended headless mode.
  • The host firewall allows the configured port.
  • The router forwards that same port to the server’s reserved local IP.
  • At least one client has tested the server before the full group joins.

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.

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

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.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
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.