Stop the server, back up the complete installation and world data, then update the component you actually intend to change. The official management script separates these jobs: install-tml updates only tModLoader, install updates tModLoader and installed mods, and install-mods updates only mods. Docker installations are updated by rebuilding the image with docker compose build.
Godlike.Host offers hosted Terraria servers with its own game panel, SFTP access and free DDoS protection, if you would rather not host it yourself.
After any update, start the server only long enough to compare its reported tModLoader build and enabled-mod list with a client. A newer server build can require newer client files, and a mod that has not been updated for the newer Terraria version can prevent a previously working world from loading.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
505 Games Terraria 71501866 | $17.37 | Buy on Amazon |
| 2 |
|
Terraria Boss Rush: Hardmode Edition T-Shirt | $19.99 | Buy on Amazon |
| 3 |
|
Terraria Bunny Plush | $17.78 | Buy on Amazon |
| 4 |
|
Terraria PS Vita Game | $40.99 | Buy on Amazon |
| 5 |
|
CyberPowerPC Gamer Xtreme VR Gaming PC, Intel Core i5-13400F 2.5GHz, GeForce RTX 5060 8GB, 16GB... | $1,285.00 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
Recommended Free Tools
Choose what you are updating
“Update tModLoader” can mean three different operations. Decide this before running a command, because updating mods at the same time changes the compatibility set that every player must use.
| Goal | Command or action | What changes | What stays unchanged |
|---|---|---|---|
| Only the tModLoader server runtime | ./manage-tModLoaderServer.sh install-tml --username your_steam_username |
tModLoader | Installed mods and their configuration |
| tModLoader and all installed mods | ./manage-tModLoaderServer.sh install |
tModLoader and installed mods | Your backup and separately pinned files |
| Only mods | ./manage-tModLoaderServer.sh install-mods |
Mods | tModLoader runtime |
| Docker installation | docker compose build |
The image, including tModLoader and mods according to the compose configuration | Data mounted outside the image, unless your compose file replaces it |
The tModLoader Dedicated Server Utils documentation states the distinction plainly: “To update just mods, run the install-mods command. To only update TML, run the install-tml command.” Use install only when you want both parts refreshed together.
#1 Best Overall
- In Terraria, every world is unique-from the floating islands in the sky to the deepest level of The Underworld. Adventure to the ends of the earth, and defeat villainous bosses along the way. The world is your canvas!
Back up the server before touching the installation
An update can expose a mod incompatibility, alter generated files, or leave a partially replaced installation after a download failure. A rollback is practical only if the backup includes more than the world folder.
- Stop the running server. Do not copy files while the process is saving a world or writing player data.
- Copy every world file. Preserve all worlds used by the server, including backups created by the server itself.
- Copy player data. Include the player directory and any server-specific character files.
- Copy configuration. Save server settings, launch parameters, permissions, ban lists, and other configuration files used by your installation.
- Copy the modpack definition. Keep the enabled-mod list and installation metadata, including
install.txtandenabled.jsonwhen they are present. - Copy the current installation directory. This gives you a known-good runtime and makes it possible to restore the old binaries and bundled files, not just the world.
- Label the backup. Include the date, current tModLoader build, and whether the backup was made before a TML-only, mod-only, combined, or Docker update.
Keep the backup outside the directory that the updater will replace. A second storage location is preferable; a backup inside the server directory is vulnerable to accidental deletion during a reinstall.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Find the installation and identify how it is managed
Locate the directory that contains the dedicated-server files and the management script or Docker Compose file. The update instructions differ according to the installation source, so do not run the script from an unrelated shell directory.
Script-managed installation
Change to the directory containing manage-tModLoaderServer.sh. The commands in this guide use the documented relative path and therefore expect that working directory. The utility can install from SteamCMD or from GitHub; the selected source is part of your installation’s configuration.
Docker installation
Find the directory containing compose.yaml, compose.yml, or the Compose file used to launch the server. The image must be rebuilt from that directory so Compose uses the intended build context and configuration. If your worlds, players, or configuration are mounted as volumes, verify those mount locations before rebuilding.
Record the current state
Before the update, write down the tModLoader build shown by the server and the enabled mod list shown by a client. This gives you a comparison point if the server starts but a world later fails to load.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #2
- Gaming Boss Battles design. Boss Rush: Hardfashion Edition items are perfect for fans of Terraria or anyone who likes cool video game clothes! These Terraria items feature the hardmode bosses and is a great way to show your enthusiasm for Terraria!
- Part of the official Terraria merchandise line from Re-Logic, the creators of Terraria! If you are a terraria fan or should know one, get this design to give yourself or others who play terraria a great gift.
- Lightweight, Classic fit, Double-needle sleeve and bottom hem
Update tModLoader with the official management script
Update only tModLoader
- Stop the server and complete the backup procedure.
- Open a shell in the installation directory.
- Run
./manage-tModLoaderServer.sh install-tml --username your_steam_username, replacingyour_steam_usernamewith the Steam account used by the installation process. - Allow the utility to finish downloading and replacing the runtime.
- Do not copy a new mod list into the server unless you also intend to change mods.
- Start the server and compare its tModLoader build and enabled mods with a client before permitting normal play.
This is the correct choice when the objective is to move the server runtime to a newer tModLoader build while preserving the currently installed mod set. It does not promise that every existing mod supports the new runtime; compatibility still has to be checked.
Update tModLoader and installed mods together
- Stop the server and create the complete rollback backup.
- From the installation directory, run
./manage-tModLoaderServer.sh install. - Wait for both the runtime and mod installation stages to complete. Interrupting the process can leave an incomplete installation, so keep the old directory until verification succeeds.
- Start the server, inspect the reported build and enabled-mod list, and test the intended world with a client using the same mod versions.
The combined command is useful when the server and clients are moving to a new modpack revision. It is not the safest choice for diagnosing a single broken mod, because two variables change at once.
Update mods without changing tModLoader
- Stop the server and back up worlds, players, configuration, modpack files, and the current installation.
- Run
./manage-tModLoaderServer.sh install-modsfrom the installation directory. - Start the server and compare the enabled list with the client modpack.
This operation is appropriate when the runtime must remain fixed for a legacy world but one or more compatible mods need to be refreshed. A mod-only update can still break a world, so retain the rollback copy.
Control the installation source and pin a known version
The utility can obtain tModLoader through SteamCMD or GitHub. For a normal current installation, let the utility use the source configured for your server. For a legacy world, a tournament, or a reproducible deployment, pin the version instead of accepting a moving target.
Use a modpack version file
If the modpack provides tmlversion.txt, place or retain that file where the management utility expects it. The file records the tModLoader version associated with the pack, allowing a rebuild to return to the intended runtime rather than whichever build is current.
Set an explicit TMLVERSION value
The documented mechanism also supports a TMLVERSION value. Set it to the exact GitHub version required by the pack; the documentation gives v2022.06.96.4 as an example. Treat that value as a compatibility constraint, not as a recommendation for every server. A version from an older pack may be necessary for its mods and worlds even when a newer build exists.
Rank #3
- Product Type:Toy Figure
- Item Package Dimension:11.6 cm L X 14.4 cm W X 15.8 cm H
- Item Package Weight:0.1 kg
- Country Of Origin: China
Keep the pinning file or variable in your deployment notes and backup. If it is lost, a later reinstall can silently select a different runtime and make the server appear to have changed without an intentional update.
Update a Docker-based server
Rebuild the image
- Stop the running container using your normal Compose workflow.
- Back up worlds, players, configuration, modpack files, and any persistent volume data.
- Change to the directory containing the server’s Compose file.
- Run
docker compose build. - If the result still contains the old tModLoader or mod versions, run
docker compose build --no-cacheto force every build layer to refresh. - Start the service with your usual Compose command and wait for the server to report its build and enabled mods.
The official Docker instructions state that rebuilding updates tModLoader and that “Mods will be updated as well.” A cached layer can therefore be the reason a rebuild appears to do nothing; --no-cache is the recovery step.
Protect persistent data
Rebuilding an image is not the same as deleting a world, but the outcome depends on your Compose volumes and bind mounts. Confirm that world and player directories live in persistent storage and are not created only inside a disposable container layer. Keep an independent copy even when volumes are configured correctly.
Pin Docker deployments
Use the same tmlversion.txt or TMLVERSION approach supported by the underlying tModLoader server setup when you need a reproducible Docker image. Record the pinned value alongside the Compose file so a later rebuild does not unexpectedly move the runtime or mods.
Synchronize the server with every client
Updating the server alone does not update players’ local mod files. Workshop is supported but not required, and Workshop does not identify mods by their display names. Names can change or collide; the reliable synchronization method is the modpack metadata.
Create a modpack from a client
- Open tModLoader on the client.
- Go to Workshop and then Mod Packs.
- Choose Save Enabled as New Mod Pack.
- Open the resulting modpack folder.
- Copy
install.txtandenabled.jsoninto the server’s mod configuration area used by your installation. - Distribute the same modpack to every player, or have each player enable the identical pack.
The official documentation explains why these files matter: “The steam workshop does not use mod names to identify mods, so a modpack should be made to install mods from the workshop.” Copying a list of names by hand is not an equivalent synchronization method.
Rank #4
- 14 Different environments (including dungeons, floating islands, jungles) that go to the extremities of the earth, up in the sky and all the way down to the very deepest depths of the world.
- Hundreds of weapons, armour and other items to craft, with character advancement.
- Explore to find different materials and make exotic potions, laser guns, magic wands, flamethrower, diving gear, speed boots, grappling hooks, chainsaws, magic mirrors, etc.
- 29 Different block types to build whatever you imagine!
- NPCs and a swarm of enemies (over 150 types) including goblins, wyverns, unicorns, and-GASP-clowns!
Check the complete set, not only the headline mod
Compare enabled status, mod versions, dependencies, and load order where the client or server reports them. A player who has the right major mod but an older dependency can still fail to connect. Remove or disable a mod only as a deliberate pack change, then distribute the resulting pack files again.
Verify the update before reopening the server to normal play
- Read the startup output. Confirm that the reported tModLoader build is the one you intended to install or pin.
- Check the enabled-mod list. Look for missing, disabled, or unexpectedly added entries.
- Connect with a matching client. Use a test account or a controlled maintenance window rather than inviting the whole player base immediately.
- Load a copy of the target world first. Test world loading, player entry, modded items, and a short save cycle.
- Stop and inspect the save. Verify that the world and player files are still being written to the expected persistent location.
- Record the result. Note the build, modpack revision, and backup name so the next administrator can reproduce the state.
If the server reports a different build than expected, stop there. Do not let players create new progress until the version and mod list are reconciled.
Compatibility risks and rollback decisions
Every tModLoader update is a compatibility change. The Steam listing warns that some mods may never be updated for a newer Terraria version. That warning applies even when the server software itself installs successfully: the executable can start while a particular mod, dependency, or world fails during loading.
Free tools Windows power users keep installed
One-click scans. No signup required.
Signs that the update is the cause
- The server worked with the old installation and fails immediately after the update.
- A previously enabled mod is missing, disabled, or reported as incompatible.
- Clients with the old build cannot connect after the server starts.
- A world loads only after a specific mod is removed, or the server fails while reading modded content.
- A Docker rebuild completes but the reported build remains unchanged, suggesting a cached image or an incorrect build context.
Roll back safely
- Stop the server and prevent clients from reconnecting.
- Preserve the failed installation and its logs; they can identify the incompatible component.
- Restore the previous server directory from the backup, or restore the previous image and persistent data according to your Docker layout.
- Restore the matching worlds, players, configuration,
install.txt, andenabled.jsonset if those files changed. - Start the restored version and confirm that the old client build and mod list work before resuming play.
- Test the update again in a separate copy, changing one variable at a time: runtime first, mods second, or the reverse.
Do not open a world with a newer setup and then overwrite the only old backup. Keep the pre-update copy until the new build has survived a complete test session.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Update-method comparison
| Method | Operating systems | Installation source | Updates mods with TML? | Version pinning | Rollback and automation | Administrative complexity |
|---|---|---|---|---|---|---|
Management script: install-tml |
Use from the shell environment hosting the installation; exact OS-specific setup is not stated in the documentation. | SteamCMD or GitHub | No | Supports tmlversion.txt and TMLVERSION |
Simple to repeat; rollback still requires your own directory and data backup | Low once the script is configured |
Management script: install |
Use from the shell environment hosting the installation; exact OS-specific setup is not stated. | SteamCMD or GitHub | Yes | Supports the same pinning mechanisms | Repeatable, but two compatibility variables change together | Moderate |
Management script: install-mods |
Use from the shell environment hosting the installation; exact OS-specific setup is not stated. | SteamCMD or GitHub | Updates mods only | Use the pack’s pinning files or variables for a fixed runtime | Repeatable; retain the previous mod directory | Low to moderate |
| Docker Compose rebuild | Any host supported by your Docker setup | The image and its Compose build configuration | Yes, according to the official Docker instructions | Use the supported version file or variable in the image build | Reproducible when Compose files, image tags, volumes, and backups are retained | Higher: image layers, cache, volumes, and permissions must all be understood |
The table’s operating-system entries deliberately avoid assuming a particular Windows or Linux layout: the documented command is a shell script, while paths and service management vary by installation. What does not vary is the sequence—stop, back up, update the intended component, synchronize clients, verify, and retain a rollback.
Troubleshoot the most common update failures
The command says the script is missing
You are probably in the wrong directory or using a different installation method. Locate the directory containing manage-tModLoaderServer.sh; if the server is Docker-based, use the Compose instructions instead of the script. Do not download a second copy into an arbitrary directory and assume it manages the running server.
Best Value
- System: Intel Core i5-13400F 2.5GHz 10 Cores | Intel B760 Chipset | 16GB DDR5 | 1TB PCIe 4.0 NVMe SSD | Windows 11 Home
- Graphics: NVIDIA GeForce RTX 5060 8GB Graphics | 1x HDMI | 2x DisplayPort
- Connectivity: 1 x USB-C 3.2 | 2 x USB-A 3.2 | 6 x USB-A 2.0 | 1 x LAN | WiFi 6 | Bluetooth 5.3 | 7.1 Channel Audio
- Tempered Side Case Panel | Custom RGB Lighting | Keyboard and Mouse
- 1 Year Parts & Labor Warranty, Free Lifetime Tech Support
The server updated but mods did not
That is expected after install-tml. Run install-mods for a mod-only refresh or install when both runtime and mods should change. Then synchronize the client modpack using install.txt and enabled.json.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC 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 & 11Only the mods changed when you intended to update TML
Check that you ran install rather than install-mods, and inspect the startup-reported build. If the build is still old, restore the backup if necessary and run install-tml explicitly.
Docker still uses the old version
Rebuild from the directory containing the correct Compose file. If a normal build reuses old layers, run docker compose build --no-cache. Confirm that the running service is using the rebuilt image and that persistent mounts point to the data you backed up.
Clients cannot connect after the update
Compare the client and server tModLoader builds, then compare enabled mods and versions. Give every player the newly saved modpack rather than asking them to search Workshop by name. If the new build is incompatible with a required mod, roll back to the complete previous installation and test the modpack separately.
A mod is unavailable for the newer game version
The Steam listing explicitly warns that some mods may never be updated for a newer Terraria version. Disable the affected update path and restore the known-good runtime, or remove the mod only after deciding how its content affects the world. Do not assume that a successful download means the mod is usable.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesQuick Recap
Operational checklist
- Server stopped and no players connected.
- Worlds, players, configuration, modpack files, and the complete current installation backed up.
- Installation path and update method identified.
- Desired scope selected: TML only, mods only, both, or Docker rebuild.
- Version pin recorded when the server must remain reproducible.
- Client modpack saved with
install.txtandenabled.json. - Startup build and enabled-mod list compared with a matching client.
- Test world loaded and saved before normal play.
- Previous installation retained until the update has passed testing.
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.




