TShock for Terraria

White

Terrarian

TShock is a server modification for Terraria, written in C#, and based upon the Terraria Server API. It uses JSON for configuration management, and offers a wide variety of features not present in the standard Terraria Server.
Features
  • MySQL and SQLite support.
  • Permissions to prevent/allow certain actions and commands.
  • Multiple administrators with differing levels of control, based on permissions.
  • Anti-cheat.
  • User registration and accounts.
  • Reserved slots so administrators can always join.
  • User punishment (kicking, banning, muting) for those users who just don't listen to your rules.
Community
Feeling like helping out? Want to find an awesome server? Some awesome plugins?
  • Website & Forums - Post threads, download plugins, talk with other people.
  • Installation Guide - Learn how to setup your server and begin using TShock.
  • TShock Slack - Live chat with other members of our community.
  • Wiki - Browse the help documents and learn how to fine tune your TShock experience.
  • Getting Started Guide - Learn how to set up your TShock server and use its adminstration features.
Plugins
Plugins are used to extend the functionality of TShock and the Terraria Server API. You can find plugins in the resource manager on the TShock forums.

Some awesome plugins that are available:
  • SEconomy - Non-exploitable server side economy.
  • Essentials+ - A pack of essential and useful commands.
  • Jump Pads - Send players flying around the map with configurable jump pads
  • Forcefields - Sick of being swarmed by mobs? Activate a pushing forcefield to send them flying away. Alternatively, kill them all with an insta-kill forcefield. Pacifist? Heal yourself and your friends with a healing forcefield.
  • Creative Mode - Infinite building supplies and handy buffs.
Plugins may be found via the resource manager here.

Download

Tutorials

The TShock Resources repository on Github is now up to date again!
Want to write your own plugins for TShock?
Learn how now!

Current tutorials:
  • Server Hooks Example - In this tutorial you will learn how to hook into the Server API.
    Upon completion of this tutorial, you will have a plugin that writes a player's name and the words they said to the console, every time they send a chat message.
  • Chat Censor - In this tutorial you will
    • learn to read/write from/to a file
    • make your plugin perform an action when TShock's reload command is used
    • kick players using TShock's Kick(...) method
    Upon completion of this tutorial, you will have a plugin that kicks players when they say predefined words which are read from a text file.
  • Lava Sucks - In this tutorial you will
    • learn to create commands
    • learn how to handle raw Terraria packets by using the Terraria Server API (this tutorial covers some usage of the Tile Edit packet)
    • learn how to send raw Terraria packets to players
    Upon completion of this tutorial, you will have a plugin that prevents lava from spawning when hellstone is mined in hell.
  • Plugin Template - Learn how to create the bare bones of a plugin. This is not a tutorial so much as a skeleton. You should be able to copy the code contained in PluginTemplate.cs and use it as the base class for any other plugin (though you should rename it!).

Get your TShock signature banner here
Created by @Patrikk
Code:
[CENTER][url=https://tshock.co/xf/index.php?utm_source=tcf&utm_medium=banner&utm_campaign=TCF][img]https://tshock.co/banner.png[/img][/url][/CENTER]

Banner too big? Try the user bar!
(Also created by @Patrikk)
Code:
[CENTER][url=https://tshock.co/?utm_source=tcf&utm_medium=userbar&utm_campaign=tcf][img]https://tshock.co/userbar.png[/img][/url][/CENTER]
 
Last edited:
API 1, 17
On Monday we released version 1, 17 of the Terraria Server API and version 4.2.7 of TShock.
These changes added a range of new features and a plentiful supply of bug fixes.
A list of notable changes can be found here, on TShock.co along with all the shout-outs to our 'Zero Day' plugin developers.
If you want to see all the changes then your best bet is to check out the Github history of both projects:
TShock commit history
TerrariaServer API commit history

In other news
A few weeks ago we checked how many times TShock has been downloaded. The answer? Over 1.2 million times (on Github alone).
That's >1,200,000 downloads, which can also be expressed as "a lot" or "heaps".
A huge thank you to everyone who's supported the project over the years.
View the full post here

We've migrated our chat services over to Slack, an awesome chat platform with irc-like channels.
Feel free to join up and chat to developers and other members of the community.
 
API 1, 17
On Monday we released version 1, 17 of the Terraria Server API and version 4.2.7 of TShock.
These changes added a range of new features and a plentiful supply of bug fixes.
A list of notable changes can be found here, on TShock.co along with all the shout-outs to our 'Zero Day' plugin developers.
If you want to see all the changes then your best bet is to check out the Github history of both projects:
TShock commit history
TerrariaServer API commit history

In other news
A few weeks ago we checked how many times TShock has been downloaded. The answer? Over 1.2 million times (on Github alone).
That's >1,200,000 downloads, which can also be expressed as "a lot" or "heaps".
A huge thank you to everyone who's supported the project over the years.
View the full post here

We've migrated our chat services over to Slack, an awesome chat platform with irc-like channels.
Feel free to join up and chat to developers and other members of the community.
Thank for letting us here in TO knows the updates :)
Been using tShock from v4.2.0 but can i ask how to use plugins there ?
I dont see any tutorial there :(
 
Thank for letting us here in TO knows the updates :)
Been using tShock from v4.2.0 but can i ask how to use plugins there ?
I dont see any tutorial there :(
We recently introduced our 'Resource Manger' (link)
To get plugins now you simply browse through the resources, find one that looks like it fits your needs.
Then, in the resource thread click the 'Download Now' button:
bf75d3bb02.png

This will begin a download of a .dll file.
You then copy/paste the downloaded .dll file into your ServerPlugins folder and restart your server

Hope this helps :)
 
We've breached the 50 plugin mark on our new Resource Manager!
Currently streaking along as most downloaded, with 168 downloads is Essentials+ - a plugin full of handy commands for players
Close behind on 110 downloads is Creative Mode - a plugin that enables a simple creative mode for players, granting them infinite blocks (including wire and the like) and a bunch of never-ending helpful buffs.
Further behind and bringing up third place is Hack Detection - a must have for server owners looking to prevent hacked clients exploiting their server.

You can find the full list of plugins on the TShock website. Happy hunting!
 
We've breached the 50 plugin mark on our new Resource Manager!
Currently streaking along as most downloaded, with 168 downloads is Essentials+ - a plugin full of handy commands for players
Close behind on 110 downloads is Creative Mode - a plugin that enables a simple creative mode for players, granting them infinite blocks (including wire and the like) and a bunch of never-ending helpful buffs.
Further behind and bringing up third place is Hack Detection - a must have for server owners looking to prevent hacked clients exploiting their server.

You can find the full list of plugins on the TShock website. Happy hunting!
Is the SEconomy counts ?
I don't know how to use it :(
 
TShock v4.2.9 (Bug fixer) has been released!
Resolved issues:
  • The server console can now use the silent command specifier in addition to the normal command specifier when executing commands.
  • Temporary bans now function correctly.
  • The SSC error message is now formatted correctly.
  • The deprecated GetUsers() methods, which returned strings, have been removed in favor of GetUsers(true/false) which returns a List of strings (users) that can be concatenated by developers instead.
  • PlayerCommandEventArgs now passes the command prefix to hooking plugins.
  • Temporary bans work properly
Need help? Ask on the TShock forums or live-chat via Slack!
 
We reached 50 registered slack users today. Yay! Thanks to everyone who's shown interest in joining the community and getting to know us.

We're now shipping TShock stickers as part of our donor packages - you can read all about them here.
tshock.jpg
 
Last edited:
TShock v4.2.10 is released!
The download link in the OP is up to date

You can view the release notes here.
If you're interested in helping improve TShock (and win a sticker!), we'd love it if you could take a moment to fill out our survey.

Happy Easter!
 
We hit our 3000th commit as we begin work on TShock 5.0!

nicatronTg said:
congratulations__online_by_gabrielgosp-d5syhln.gif


With the plans to cleanup the code for TShock 5.0 well underway, a merge commit, as a result of a suggestion by @GrandPa-G was commit #3,000 to the TShock repository on Github. These past 3,000 commits have been brought to you by 37 individual contributors, 12 of which have write access to TShock. That means that more than half of the contributors have helped fix, tweak, or add features to TShock by sending a pull request.

Let's make it 3,000 more. Congratulations, and thank you for support of TShock for Terraria!
https://tshock.co/xf/index.php?threads/commit-3-000.3694/
 
TShock 4.3 (pre-release) is released!

nicatronTg said:
Welcome to TShock 4.3.0 Pre-Release (Golden Master). Following tradition with GM software, this release is marked as a pre-release, but will become the release with no update required if no bugs are found in TShock prior to release. Subsequent GM releases will be versioned as 4.3, but have an additional number at the end of the GM title.

Please report bugs as soon as possible when testing this release. Make a backup of your database, and make sure to understand that this software is being tested, and is subject to game breaking bugs, problems, and other issues typically present with pre-release software. Use at your own risk.

Notable changes include:
  • API: Modifed NetItem so that it's actually useful. (MarioE)
  • Updated prebuilts (SQLite, JSON, MySQL) to latest versions. (nicatronTg)
  • Added a minimum password length to prevent blank passwords. (nicatronTg)
  • Modified item ban checks to provide which item is disabling a player in the logs. (Enerdy)
  • API: Modified TSPlayer to store a user, and deprecated calls to TSPlayer.User.ID. (Wight)
  • Modified chat color specs in config file to be int arrays rather than floats. (nicatronTg)
  • Modified verbiage for /auth and /auth-verify to make it clearer how they operate. (nicatronTg)
  • API: Added fuzzy name searching for users.(Wight)
  • API: Fixed OnPlayerLogout not being fired when a player disconnects. (nicatronTg)
  • API: Deprecated ValidString and SanitizeString methods in Utils. (nicatronTg)
  • Added BCrypt password hashing and related systems for it. BCrypt replaces the old system using non-password hashing algorithms for storing passwords. It breaks implementations of the login code that were manually recreated, but is otherwise seamless in transition. (nicatronTg)
  • API: Added User.VerifyPassword(string password) which verifies if the user's password matches their stored hash. It automatically upgrades a users' password to BCrypt if called and the password stored is not a BCrypt hash. (nicatronTg)
  • API: Deprecated Utils.HashPassword and related password hashing functions as those are no longer needed for plugin access. (nicatronTg)
  • Fixed UseServerName config option so that it correctly sends the config server name any time that Main.WorldName is used. (Olink)
  • Fixed a bug where people could ban themselves. (nicatronTg)
Download, via Github Releases.

https://tshock.co/xf/index.php?threads/tshock-4-3-0-gm-prerelease.3759/
 
Does this work with Steam multiplayer? People can't connect to my server.

As far as I know, it should in the case that you're not the one hosting. I was on a public server running tShock, and my buddy was able to get on and stalk me. I'm not sure if it works when you're the server host.
 
Back
Top Bottom