TShock — Terraria server
-
Hey everyone !
I've packaged TShock for Cloudron. TShock is a Terraria server. It adds user/group management, anti-cheat, protected regions, a SQLite database, and a full REST API on top of the vanilla Terraria dedicated server.
TShock source: https://github.com/Pryaxis/TShock
Package: https://github.com/EliottGoye/cloudron-tshockInstallation
Clone and install :
git clone https://github.com/EliottGoye/cloudron-tshock cd tshock-cloudron cloudron install -p GAME_PORT=7777How it works
- Game port (TCP) — exposed via
tcpPorts, configurable at install time. Point your Terraria client atyour-cloudron-ip:GAME_PORT. - REST API (port 7878) — served through the standard Cloudron HTTPS proxy at your app domain. The health check uses
/v2/server/status. - Persistent data in
/app/data/:tshock/— config, SQLite database, logs, backupsworlds/— world filesplugins/— drop.dllplugin files here and restart to load them
On first start a world is auto-created (large size) and a superadmin REST token is written to
/app/data/rest-api-credentials.txt. Retrieve it withcloudron exec.First-time admin setup: check the app logs for the
/setup <token>line, connect with a Terraria client, and run/setup <token>in chat.Notes
- Tested with TShock 6.1 / Terraria 1.4.5.6 / Cloudron 9.2.0
- Memory limit set to 2 GB (world generation is hungry, afterward 1 GB is fine)
TERRARIA_PASSWORDenv var can be set to require a server password- The image uses
ghcr.io/pryaxis/tshockwith a pined version - I should connect Renovate to auto update the image and build a CloudronVersions.json, but I might be too lazy for that

Feedback welcome!
- Game port (TCP) — exposed via
-
Hello @tachy
If you want to make this a community app you will have to add / generate theCloudronVersions.json.
See https://docs.cloudron.io/packaging/publishing.
With that, we can also add your app to the list https://forum.cloudron.io/topic/15172/community-apps -
Done ! Pushed to image to GitHub registry and generated the config file.
I had to build the image twice withcloudron buildanddocker build/pushthen I couldcloudron versions addAND change the path to the image in theCloudronVersions.jsonto use the image in the GitHub registry.Have I missed something, or could it be easier to use a different Docker registry ?
Here is the
CloudronVersions.json: https://raw.githubusercontent.com/EliottGoye/cloudron-tshock/refs/heads/main/CloudronVersions.json -
J james referenced this topic
-
Not working on Cloudron demo
-
Hello @user123456
I think that message in the browser is actually a working message.
If I understood this app correctly, you need to follow the first steps:First start: Check the logs to get the /setup code Connect to the Terraria server and run /setup <code> Your REST superadmin token is in /app/data/rest-api-credentials.txtI have no terraria server, so I can't validate that.
Did you do this? -
Hello @user123456
I think that message in the browser is actually a working message.
If I understood this app correctly, you need to follow the first steps:First start: Check the logs to get the /setup code Connect to the Terraria server and run /setup <code> Your REST superadmin token is in /app/data/rest-api-credentials.txtI have no terraria server, so I can't validate that.
Did you do this?@james I just saw that the app someone has installed, I did not and did not want to try it and it did not work or I understand the principle behind it not I assumed that there is a webgui.
-
I'm the one who deployed to the demo instance to test if the image/manifest could be pulled from an instance without credentials.
And yes, the HTTP endpoint returns a 404 because it's a REST API.
You can fetch the server status even without a token :curl https://terraria.demo.cloudron.io/v2/server/status { "status": "200", "name": "", "serverversion": "v1.4.5.6", "tshockversion": "6.1.0.0", "port": 7777, "playercount": 0, "maxplayers": 16, "world": "World", "uptime": "0.02:02:19", "serverpassword": false }
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login