Terraria Compatibility Launcher (TCL) is a local compatibility tunnel for Terraria clients.
With the arrival of Terraria 1.4.5.x, many times the local client version does not match the server version. This launcher solves that by detecting the server version and patching your local version string during the initial handshake.
The main goal is simple: run the launcher, connect your game to localhost, and join servers with fewer version mismatch issues.
Use the packaged executable:
- dist/TCL.exe
No Python setup is required for this mode.
- Run dist/TCL.exe.
- In Destination, enter HOST:PORT (example: ceniza.sytes.net:7777).
- Click Launch Tunnel.
- In Terraria, connect to:
- IP: 127.0.0.1
- Port: the local port shown in the launcher (default 7777)
- Keep the launcher open while you play.
- Opens a local tunnel on 127.0.0.1 (default port 7777).
- Connects to the remote Terraria server you entered.
- Probes server compatibility version when needed.
- Rewrites the first handshake version packet from the local client.
- Forwards traffic normally after synchronization.
This is the internal behavior at protocol level:
- TCL starts a local TCP listener (127.0.0.1:7777 by default) using asynchronous sockets.
- When the game connects, TCL opens a second TCP connection to the real remote server.
- The first Terraria connect packet is inspected.
- Packet type: 1 (Connect Request)
- Payload: Terraria version string (for example Terraria319)
- If needed, TCL rewrites only the version string in that first packet and rebuilds packet length and payload.
- After that, tunnel mode becomes transparent:
- client -> TCL -> server
- server -> TCL -> client
- Version discovery mode sends controlled probes across known version ranges and validates server responses before selecting a target version.
This design keeps intervention minimal: only the initial handshake version field is patched, while the rest of traffic is forwarded as-is.
- Automatic server version discovery.
- Optional forced version (Advanced Settings).
- Optional custom local listening port.
- Real-time tunnel logs.
- Quick copy buttons for local IP and port.
If you need to deploy or run from Python source instead of the EXE:
Requirements:
- Python 3.10+
- PyQt5
Install dependency:
- pip install pyqt5
Run options:
- GUI: python TCL_GUI.py
- CLI: python TCL_CLI.py HOST:PORT [--version ] [--debug]
- Focused on handshake compatibility tunneling.
- Support depends on the implemented version detection and filtering logic.
- Test in a controlled environment before wide deployment.
Created and maintained by:
MIT License. See LICENSE.





