github Pryaxis/TShock v5.2.2
TShock 5.2.2 for Terraria 1.4.4.9

one day ago

This fixes GHSA-f8mx-cwfh-7hr2. This issue was reported to TShock by @ohayo, but was found by the Discord user by the name of sofurry.com. Please note that this user does not own this domain on the internet, just the discord handle.

Notable changes in this release

  • Fixed /dump-reference-data mutate the command names. (#2943, @sgkoishi)
  • Added ParryDamageBuff (Striking Moment with Brand of the Inferno and shield) for player, updated CursedInferno buff for NPC (@sgkoishi, #3005)
  • Changed the use of Player.active to TSPlayer.Active for consistency. (@sgkoishi, #2939)
  • Fix typo in config for IP bans. (@redchess64)
  • Fixed unable to transfer long response body for REST API. (@sgkoishi, #2925)
  • Fixed the /wind command not being very helpful. (@punchready)
  • Added automatic publishing of Docker images to GHCR. (@timschumi)
  • Updated TShockAPI.NetItem (@AgaSpace):
    • Added constructor overload with parameter Terraria.Item.
    • Added the ToItem method to get a copy of Terraria.Item.
    • In the constructor stack and prefix are now optional parameters.
  • Fixed /help, /me, and /p commands can't work in non-English languages. (@ACaiCat)
  • Added changing the SaveOnSeverExit variable before shutting down the server. This correctly makes the "off nosave" function work. (@Metratrj)
  • Added a hook AccountHooks.AccountGroupUpdate, which is called when you change the user group. (@AgaSpace)
  • Fixed the plugin manager crash when package contains XML, now it skips all the XML docs. (@sgkoishi, #3055)
  • Fixed the automatic language detection always returning en-US. (@sgkoishi, #3056)
  • Fixed forceupdate not working. (@Metratrj)
  • Ensured TSPlayer.PlayerData is non-null whilst syncing loadouts. (@drunderscore)
  • Added a terminal detection that avoids title spam. (@sgkoishi, #3057)
  • Groups are now virtual and support XNA colors. (@AgaSpace)
  • Added PlayerHooks.PrePlayerCommand hook, which fired before command execution. (@AgaSpace)
  • Added PlayerHooks.PostPlayerCommand hook, which fired after command execution. (@AgaSpace)
  • Detected invalid installations, by checking for a file named TerrariaServer.exe. (@drunderscore)
    • This made the two most common installation mistakes (extracting into the Terraria client directory, and extracting TShock 5 or newer into a TShock 4 or older install) prompt the user with a more useful diagnostic, rather than (likely) crashing moments later.
  • Fix GHSA-f8mx-cwfh-7hr2 (@ohayo). Additionally, players who have not yet sent packet 6 will not be considered connected. Thus, when a player is not considered to have been fully connected, the player will not be able to chat, appear in player lists, etc.

Oh hey, an advertisement for a wiki!

All of the documentation has been ported over from the docs folder in the repo to the wiki. Please consider using the wiki. https://ikebukuro.tshock.co/ now redirects to the wiki.

Housekeeping

docs.tshock.co is gone, and so are the TShock Forums. The TShock Forums were XenForo 1 based PHP forums that were hosted off-and-on from the early years of the project. TShock's Forums were originally running on SMF, before being migrated to XenForo, and remained on XF until they were shutdown. The impetus behind migrating to XF was that it provided a nicer, cleaner experience and a modern forum feel than SMF. However, as time went on, it became more and more burdensome to deal with the forums. In-particular, at some point, the war against spambots was essentially lost. We turned off registration on the forums and essentially froze them as a result of spambots that were too chaotic to clean up. We used StopForumSpam, KeyCaptcha, Q&A captcha, and other options, but could not stop the spambots no matter how hard we tried. The only viable option was to turn on registration approval, but this in-and-of-itself caused us a lot of work to deal with. At some point, we got early access to GitHub Discussions and migrated to Discussions while it was in a pre-release state, and that's where we are now.

We hope that the wiki will be valuable once again. We previously had the wiki enabled through 2011/2012, but disabled it as part of a different documentation push. As we centralize things on GitHub, we hope that the wiki will be okay.

We previously also tried a different initiative using Obsidian Publish. Curiously, the Obsidian Publish system stopped serving that documentation attempt. We will merge some of the changes in from that attempt into the wiki in due course.

Finally, we will likely be moving the CHANGELOG file to the wiki, and modifying our PR and release process to account for this, on the basis that merging the changelog file is too time consuming to deal with.

Maintenance

TShock has been around since the very first releases of Terraria. TShock started in a post announcing its availability on Facepunch, and from there, we've continuously updated the project through multiple versions of the game, styles of development, and more. The TShock project has been entirely volunteer operated and maintained. Our philosophy is really quite simple: we are happy to accept contributions from you, if your contributions fix an issue in Terraria or TShock, or are good. Sometimes it takes a while for us to review changes, but we are actively trying to improve the process to speed this up. @QuiCM has been as devoted to TShock as I have, if not more, and we have yet to actually meet each other in real life, but we certainly trust each other. As with all things, we welcome new contributors, but it does take us a bit of time sometimes. Thank you for your continued support and continued patience.

The last year (2024) was, in-particular, very busy for my life, and I essentially had to temporarily pause contributions. Please rest assured that even when in this state of operation, I remain committed, but it does take some time and energy to contribute. The busy part of my life is back to being quiet, so I should be able to devote more time in the future to the project.

Sponsors and donors

On behalf of all TShockers who have been sponsored or donated to, we appreciate and thank you for your generosity. The contributors to TShock accept sponsorships from time to time, and donations from time to time, though donations to the project itself have ceased. As a general reminder, we used to accept donations to the project -- and we greatly thank our donors for their contributions. These donations were used to fund infrastructure and other resources that the TShock project needed to operate, particularly before GitHub Actions (such as Bamboo CI, XenForo licenses, domain names, etc). Now, the best way to support the projects is to sponsor contributors on GitHub or other services.

If you believe in our work, please consider sponsoring a contributor of your choice. @SignatureBeef's changes, for example, will be upgrading us to more modern .NET versions in the coming days.

Upgrading

Before installing, make a complete backup of your existing server and all files and folders, including tshock.sqlite and the tshock folder. We are not responsible for failed installations. Please make sure you backup your data. Severe data loss or gain may occur.

To upgrade TShock, replace all of the files in the location of your server installation with all of the files from the release zip we provide. Overwrite all files. No data will be lost.

Don't miss a new TShock release

NewReleases is sending notifications on new releases.