A lightweight Terraria multiplayer client written in Python.
Connect to any Terraria server, read chat, send messages, and monitor game events — all from your terminal.
Made by IShadowDeep
- ✅ Connects to Terraria 1.4.0 – 1.4.5.x servers (including TShock 6.x)
- ✅ Real-time chat — read and send messages
- ✅ Auto-reconnect with exponential backoff
- ✅ Per-server UUID — avoids alt-account detection
- ✅ Name profiles — saves your names per server
- ✅ Death notifications — shows who died
- ✅ Preset server menu + custom server support
- ✅ Works on Android via Termux (no PC required)
- ✅ Auto-detect server version (
--detect)
- Python 3.8+
- No external libraries needed (standard library only)
# Clone the repo
git clone https://github.com/IShadowDeep/TerrariaLink.git
cd TerrariaLink
# Run
python TerrariaLink.pyOn Termux (Android):
pkg install python git
git clone https://github.com/IShadowDeep/TerrariaLink.git
cd TerrariaLink
python TerrariaLink.pypython TerrariaLink.py# Basic
python TerrariaLink.py play.example.com 7777
# With name and password
python TerrariaLink.py play.example.com 7777 -n "MyName" -p "password"
# Auto-detect server version
python TerrariaLink.py play.example.com 7777 --detect
# Specific version
python TerrariaLink.py play.example.com 7777 --ver 1.4.5.6
# Fixed UUID
python TerrariaLink.py play.example.com 7777 --uuid your-uuid-hereWhen you run without arguments, you get a menu:
╔══════════════════════════════════════════╗
║ TerrariaLink v1.0.0 ║
║ Joins a Terraria server as a client ║
║ Supports: Terraria 1.4.0 - 1.4.5.x ║
║ By: IShadowDeep ║
╚══════════════════════════════════════════╝
Select server:
[1] My Server (play.example.com:7777)
[2] Custom server
>
After joining, type messages directly in the terminal.
Type /quit to disconnect.
| Command | Action |
|---|---|
/quit |
Disconnect and exit |
/login <password> |
Login on TShock servers |
/register <pass> <pass> |
Register on TShock servers |
Any /command |
Sent as server command |
TerrariaLink saves two files in your home directory:
| File | Purpose |
|---|---|
~/.terraria_bot_uuids.json |
Saves one UUID per server/name combo |
~/.terraria_bot_profiles.json |
Saves your name history per server |
These are created automatically on first run.
Edit PRESET_SERVERS in TerrariaLink.py:
PRESET_SERVERS = [
{"label": "My Server", "host": "play.example.com", "port": 7777, "version": "1.4.5.6", "password": ""},
]| Terraria | Protocol |
|---|---|
| 1.4.5.6 | Terraria319 |
| 1.4.5.1 | Terraria284 |
| 1.4.4.9 | Terraria279 |
| 1.4.3 | Terraria248 |
| 1.4.0 | Terraria230 |
| tModLoader | auto-detect |
MIT License — free to use, modify, and distribute.