Automatically synchronizes your Steam mods with the server, making upload and maintenance easier.
This tool was created to be used with the tModLoader egg found here: Ashu_eggs
2026-02-23.17-55-14.mp4
tModLoader-sync is a synchronization tool designed to bridge the gap between tModLoader servers and mod uploading. It ensures that all mods from your Steam workshop are synchronized with the server, using SHA256 hashing for precise verification.
- Automatic Synchronization: Detects missing or outdated mods and uploads them to the server.
- Multi-platform: Support for Linux and Windows (x64 and ARM64).
- Interactive TUI: Friendly terminal interface built with Bubbletea.
- Pterodactyl Ready: Specifically optimized for Pterodactyl-based deployments.
- Multilingual: Support for English and Portuguese (PT-BR).
The project is divided into three main components:
- Server (
/server): A Gin-based REST API that manages mod storage and synchronization status. - Client (
/client): A TUI application that scans local Steam Workshop mods and interacts with the server. - Shared (
/shared): Common logic for operating system detection, hashing, and versioning.
The project uses a Go workspace. You can build all targets using the provided script:
./build.shBinaries will be available in the build/ directory for:
- Linux (x64, ARM64)
- Windows (x64, ARM64)
Run the server with the mandatory --port flag:
./server --port 8080Run the client by providing the server's host and port:
./client --host <SERVER_IP> --port 8080The client will automatically detect your Steam Workshop path and start the synchronization process.
curl -fsSL https://raw.githubusercontent.com/Ashu11-A/tModLoader-sync/main/sync.sh | h=<SERVER_IP> p=:<PORT> bashpowershell -c "$h='<SERVER_IP>';$p=':<PORT>';irm https://raw.githubusercontent.com/Ashu11-A/tModLoader-sync/main/sync.ps1|iex"