Skip to content

IShadowDeep/TerrariaLink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TerrariaLink

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


Features

  • ✅ 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)

Requirements

  • Python 3.8+
  • No external libraries needed (standard library only)

Installation

# Clone the repo
git clone https://github.com/IShadowDeep/TerrariaLink.git
cd TerrariaLink

# Run
python TerrariaLink.py

On Termux (Android):

pkg install python git
git clone https://github.com/IShadowDeep/TerrariaLink.git
cd TerrariaLink
python TerrariaLink.py

Usage

Interactive menu (recommended)

python TerrariaLink.py

Command line

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

Interactive Menu

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


Chat Commands

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

Configuration Files

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.


Adding Preset Servers

Edit PRESET_SERVERS in TerrariaLink.py:

PRESET_SERVERS = [
    {"label": "My Server", "host": "play.example.com", "port": 7777, "version": "1.4.5.6", "password": ""},
]

Supported Terraria Versions

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

License

MIT License — free to use, modify, and distribute.

About

Terminal-based Terraria client — connect to any server, read chat, and send messages from the command line

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages