Source-checkedLibraries & compatibility

TShock

by Pryaxis · for Terraria

☕️⚡️TShock provides Terraria servers with server-side characters, anti-cheat, and community management tools.

131KDownloads
4d agoLast updated
GPL-3.0License
GitHubSource

About TShock

From GitHub

☕️⚡️TShock provides Terraria servers with server-side characters, anti-cheat, and community management tools.

TShock for Terraria
AppVeyor Build Status GitHub Actions Build Status

查看中文版

TShock is a toolbox for Terraria servers and communities. That toolbox is jam packed with anti-cheat tools, server-side characters, groups, permissions, item bans, tons of commands, and limitless potential. It's one of a kind.

This is the readme for TShock developers and hackers. We're building out new TShock documentation for server operators and plugin developers, but this is a work-in-progress right now.

Developing TShock

If you want to contribute to TShock by sending a pull request or customize it to suit your own sparkly desires, this is the best starting point. By the end of this, you'll be able to build TShock from source, start to finish. More than that, though, you'll know how to start on the path of becoming an expert TShock developer.

This guide works assuming that you have the .NET 9 SDK installed and that you're familiar with the command line. If that doesn't describe you, you should be able to accomplish the same thing using Visual Studio 2022 or Visual Studio Code.

  1. Clone the repository: git clone https://github.com/Pryaxis/TShock.git --recurse-submodules
  2. cd TShock to enter the repo.
  3. dotnet build. No really, that will build things!

If you want to run the TShockLauncher (which runs a server), run:

  1. dotnet run --project TShockLauncher

To produce a packaged release (suitable for distribution), run:

  1. cd TShockLauncher
  2. dotnet publish -r win-x64 -f net9.0 -c Release -p:PublishSingleFile=true --self-contained false

Note that in this example, you'd be building for win-x64. You can build for win-x64, osx-x64, linux-x64, linux-arm64, linux-arm. Your release will be in the TShockLauncher/bin/Release/net9.0/ folder under the architecture you specified.

Working with Terraria

Working with Terraria in TShock and in other Terraria Server API plugins is different from most other APIs. Due to the nature of how OTAPI works, you have direct access to all public fields in the Terraria namespace. This means that you can access Terraria member methods directly. TShock and other plugins do this quite often, mostly to modify the game world, send data, and receive data. Calls to Main are one such example of direct access to Terraria. This is the equivalent to net.minecraft.server (NMS) calls in CraftBukkit.

You might find yourself wondering where these fields are. Pryaxis provides the decompiled Sources to Terraria's server, updated with each release. These sources are made available to developers of TShock. If you have submitted a pull request to TShock, reach out on Discord to get access. In lieu of this, you can download ILSpy and decompile Terraria or the server itself.

Finally, you may be interested in developing other Terraria Server API plugins. The TShockResources organization has several plugins you can look at and build on. TShock is itself a plugin, and most plugins are open source. This gives you ample room to figure out where to go next.

Need help? Join us on Discord.

Code of Conduct

> By participating in the TShock for Terraria community, all members will adhere to maintaining decorum with respect to all humans, in and out of the community. Members will not engage in discussion that inappropriately disparages or marginalizes any group of people or any individual. Members will not attempt to further or advance an agenda to the point of being overbearing or close minded (such as through spreading FUD). Members will not abuse services provided to them and will follow the guidance of community leaders on a situational basis about what abuse consists of. Members will adhere to United States and international law. If members notice a violation of this code of conduct, they will not engage but will instead contact the leadership team on either the forums or Discord.

> Do not attempt to circumvent or bypass the code of conduct by using clever logic or reasoning (e.g., insulting Facepunch members, because they weren't directly mentioned here).

Highlights

From source data

Footprint

Rated a light load on a server.

License

Published under GPL-3.0.

Last update

Its author last shipped an update 4d ago.

TShock on Nxeon

From our catalogue
One-click install
Supported on Nxeon Terraria servers. We download it from GitHub, place it, and restart the server.
Server side
Required on the server
Server load
light
Smallest plan we suggest
Terraria — 2 GB (2 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
v6.2.1, released 2026-09-27

Recent builds

BuildReleasedGame versionsLoaders
v6.2.12026-09-27n/an/a
v6.1.02026-03-11n/an/a
v6.0.02026-03-08n/an/a
v6.0.0-pre3 beta2026-03-07n/an/a
v6.0.0-pre2 beta2026-03-06n/an/a
v6.0.0-pre1 beta2025-05-15n/an/a

Run TShock on a Terraria server

Pick a server or deploy a new one above; it is installed in one click.

What kind of mod it is

From the catalog
Listed on GitHub as “Core”

Libraries & compatibility

Foundations and fixes other mods build on. Usually installed because something else needs it.

Runs on your server

From source side support

GitHub lists TShock as required on the server. Check its GitHub page to see whether players need it too.

Compatibility

Game
Terraria
Runs on
Serverrequired on the server

Verified at the source

  • ✓GitHubOfficial listing, checked 2026-10-11Open ↗
  • ✓AuthorPryaxis, as published on GitHub
  • ✓LicenseGPL-3.0Free

TShock, answered

Generated from the mod’s own source data.

Do my players need to install TShock?

GitHub lists TShock as required on the server. Check its GitHub page to see whether players need it too.

Is it free?

Yes. TShock is free to download from GitHub. Its license is GPL-3.0.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run TShock on a Terraria server.

Deploy in about a minute from $4.49 a month, then add TShock in one click.