<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[TShock — Terraria server]]></title><description><![CDATA[<p dir="auto">Hey everyone !</p>
<p dir="auto">I've packaged <strong>TShock</strong> 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.</p>
<p dir="auto"><strong>TShock source</strong>: <a href="https://github.com/Pryaxis/TShock" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Pryaxis/TShock</a><br />
<strong>Package</strong>: <a href="https://github.com/EliottGoye/cloudron-tshock" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/EliottGoye/cloudron-tshock</a></p>
<h2>Installation</h2>
<p dir="auto">Clone and install :</p>
<pre><code class="language-bash">git clone https://github.com/EliottGoye/cloudron-tshock
cd tshock-cloudron
cloudron install -p GAME_PORT=7777
</code></pre>
<h2>How it works</h2>
<ul>
<li><strong>Game port</strong> (TCP) — exposed via <code>tcpPorts</code>, configurable at install time. Point your Terraria client at <code>your-cloudron-ip:GAME_PORT</code>.</li>
<li><strong>REST API</strong> (port 7878) — served through the standard Cloudron HTTPS proxy at your app domain. The health check uses <code>/v2/server/status</code>.</li>
<li><strong>Persistent data</strong> in <code>/app/data/</code>:
<ul>
<li><code>tshock/</code> — config, SQLite database, logs, backups</li>
<li><code>worlds/</code> — world files</li>
<li><code>plugins/</code> — drop <code>.dll</code> plugin files here and restart to load them</li>
</ul>
</li>
</ul>
<p dir="auto">On first start a world is auto-created (large size) and a superadmin REST token is written to <code>/app/data/rest-api-credentials.txt</code>. Retrieve it with <code>cloudron exec</code>.</p>
<p dir="auto"><strong>First-time admin setup</strong>: check the app logs for the <code>/setup &lt;token&gt;</code> line, connect with a Terraria client, and run <code>/setup &lt;token&gt;</code> in chat.</p>
<h2>Notes</h2>
<ul>
<li>Tested with TShock 6.1 / Terraria 1.4.5.6 / Cloudron 9.2.0</li>
<li>Memory limit set to 2 GB (world generation is hungry, afterward 1 GB is fine)</li>
<li><code>TERRARIA_PASSWORD</code> env var can be set to require a server password</li>
<li>The image uses <code>ghcr.io/pryaxis/tshock</code> with a pined version</li>
<li>I should connect Renovate to auto update the image and build a CloudronVersions.json, but I might be too lazy for that <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f604.png?v=c9b900e3b92" class="not-responsive emoji emoji-android emoji--smile" style="height:23px;width:auto;vertical-align:middle" title=":D" alt="😄" /></li>
</ul>
<p dir="auto">Feedback welcome!</p>
]]></description><link>https://forum.cloudron.io/topic/15581/tshock-terraria-server</link><generator>RSS for Node</generator><lastBuildDate>Wed, 03 Jun 2026 23:49:31 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/15581.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Jun 2026 07:50:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TShock — Terraria server on Wed, 03 Jun 2026 12:23:25 GMT]]></title><description><![CDATA[<p dir="auto">I'm the one who deployed to the demo instance to test if the image/manifest could be pulled from an instance without credentials.<br />
And yes, the HTTP endpoint returns a 404 because it's a REST API.<br />
You can fetch the server status even without a token :</p>
<pre><code>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
}
</code></pre>
]]></description><link>https://forum.cloudron.io/post/125441</link><guid isPermaLink="true">https://forum.cloudron.io/post/125441</guid><dc:creator><![CDATA[tachy]]></dc:creator><pubDate>Wed, 03 Jun 2026 12:23:25 GMT</pubDate></item><item><title><![CDATA[Reply to TShock — Terraria server on Wed, 03 Jun 2026 12:03:33 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a> 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.</p>
]]></description><link>https://forum.cloudron.io/post/125439</link><guid isPermaLink="true">https://forum.cloudron.io/post/125439</guid><dc:creator><![CDATA[User123456]]></dc:creator><pubDate>Wed, 03 Jun 2026 12:03:33 GMT</pubDate></item><item><title><![CDATA[Reply to TShock — Terraria server on Wed, 03 Jun 2026 11:29:41 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/user123456" aria-label="Profile: user123456">@<bdi>user123456</bdi></a><br />
I think that message in the browser is actually a working message.<br />
If I understood this app correctly, you need to follow the first steps:</p>
<pre><code>First start:

Check the logs to get the /setup code
Connect to the Terraria server and run /setup &lt;code&gt;
Your REST superadmin token is in /app/data/rest-api-credentials.txt
</code></pre>
<p dir="auto">I have no terraria server, so I can't validate that.<br />
Did you do this?</p>
]]></description><link>https://forum.cloudron.io/post/125436</link><guid isPermaLink="true">https://forum.cloudron.io/post/125436</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Wed, 03 Jun 2026 11:29:41 GMT</pubDate></item><item><title><![CDATA[Reply to TShock — Terraria server on Wed, 03 Jun 2026 11:25:19 GMT]]></title><description><![CDATA[<p dir="auto">Not working on <a href="https://terraria.demo.cloudron.io/" target="_blank" rel="noopener noreferrer nofollow ugc">Cloudron demo</a></p>
]]></description><link>https://forum.cloudron.io/post/125434</link><guid isPermaLink="true">https://forum.cloudron.io/post/125434</guid><dc:creator><![CDATA[User123456]]></dc:creator><pubDate>Wed, 03 Jun 2026 11:25:19 GMT</pubDate></item><item><title><![CDATA[Reply to TShock — Terraria server on Wed, 03 Jun 2026 10:39:56 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/tachy" aria-label="Profile: tachy">@<bdi>tachy</bdi></a><br />
Thank you.<br />
I have updated the list with your community app.</p>
]]></description><link>https://forum.cloudron.io/post/125431</link><guid isPermaLink="true">https://forum.cloudron.io/post/125431</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Wed, 03 Jun 2026 10:39:56 GMT</pubDate></item><item><title><![CDATA[Reply to TShock — Terraria server on Wed, 03 Jun 2026 10:20:53 GMT]]></title><description><![CDATA[<p dir="auto">Done ! Pushed to image to GitHub registry and generated the config file.<br />
I had to build the image twice with <code>cloudron build</code> and <code>docker build/push</code> then I could <code>cloudron versions add</code> AND change the path to the image in the <code>CloudronVersions.json</code> to use the image in the GitHub registry.</p>
<p dir="auto">Have I missed something, or could it be easier to use a different Docker registry ?</p>
<p dir="auto">Here is the <code>CloudronVersions.json</code> : <a href="https://raw.githubusercontent.com/EliottGoye/cloudron-tshock/refs/heads/main/CloudronVersions.json" target="_blank" rel="noopener noreferrer nofollow ugc">https://raw.githubusercontent.com/EliottGoye/cloudron-tshock/refs/heads/main/CloudronVersions.json</a></p>
]]></description><link>https://forum.cloudron.io/post/125428</link><guid isPermaLink="true">https://forum.cloudron.io/post/125428</guid><dc:creator><![CDATA[tachy]]></dc:creator><pubDate>Wed, 03 Jun 2026 10:20:53 GMT</pubDate></item><item><title><![CDATA[Reply to TShock — Terraria server on Wed, 03 Jun 2026 08:06:55 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/tachy" aria-label="Profile: tachy">@<bdi>tachy</bdi></a><br />
If you want to make this a <a href="https://docs.cloudron.io/apps#community-app" target="_blank" rel="noopener noreferrer nofollow ugc">community app</a> you will have to add / generate the <code>CloudronVersions.json</code>.<br />
See <a href="https://docs.cloudron.io/packaging/publishing" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/packaging/publishing</a>.<br />
With that, we can also add your app to the list <a href="https://forum.cloudron.io/topic/15172/community-apps">https://forum.cloudron.io/topic/15172/community-apps</a></p>
]]></description><link>https://forum.cloudron.io/post/125420</link><guid isPermaLink="true">https://forum.cloudron.io/post/125420</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Wed, 03 Jun 2026 08:06:55 GMT</pubDate></item></channel></rss>