TShock

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

GPL-3.0 License

Stars
2.3K
Committers
117

Bot releases are hidden (Show)

TShock - TShock 4.5.4

Published by hakusaro over 3 years ago

This version of TShock stops loading two dangerous plugins. If your server has a dangerous plugin, it will warn you about that when you start it. Information about AutoRegister (versions 1.2.0.0 and prior) is available at GHSA-w3h6-j2gm-qf7q. We also have an updated policy for security reports.

Notable changes

  • Fixed ridiculous typo in GetDataHandlers which caused TShock to read the wrong field in the packet for usingBiomeTorches. (@hakusaro, @Arthri)
  • Fixed torchgod settings to include whether or not torchgod has been fought by the player before and respect usingBiomeTorches setting. (@Quinci135)
  • Fixed /worldmode not synchronising data to players after updating the world state (@bartico6, @Arthri)
  • Added OnSendNetData hook to TSAPI, which enables developers to intercept traffic being sent from the server to clients using the new NetPacket protocol. (@Stealownz)
  • Fixed false positive OnNPCAddBuff detection when throwing rotten eggs at town NPCs while wearing Frost armor set. (@moisterrific)
  • Moved the emoji player index check into a new class of handlers called IllegalPerSe, which is designed to help isolate parts of TShock and make it so that "protocol violations" are treated separately from heuristic based anti-cheat checks. (@hakusaro)
  • Changed TSPlayer.FindByNameOrID so that it will continue searching for players and return a list of many players whem ambiguous matches exist in all cases. Specifically, this avoids a scenario where a griefer names themselves 1 and is difficult to enact justice on, because their name will not be found by the matching system used to kick players. To help with ambiguity, this method now processes requests with prefixes tsi: and tsn:. tsi:[number] will process the search as looking for an exact player by ID. tsn: will process the search as looking for an exact name, case sensitive. In both cases, the system will return an exact result in the "old-style" result, i.e., a List<TSPlayer> with exactly one result. For example, /kick tsid:1 will match the player with the ID 1. /kick tsn:1 will match the username 1. In addition, players who attempt to join the server with the name prefixes tsn: and tsi: will be rejected for having invalid names. (@hakusaro, @Onusai)
  • Added warnings for conditions where a password is set at runtime but can be bypassed. The thinking is that if a user sets a password when they're booting the server, that's what they expect to be the password. The only thing is that sometimes, other config options can basically defeat this as a security feature. The goal is just to communicate more and make things clearer. The server also warns users when UUID login is enabled, because it can be confusing and insecure. (@hakusaro, @Onusai)
  • Fixed Torch God's Favor biome torch placement being rejected by the server. (@moisterrific)
  • Changed backups created by the backup manager to use ISO8601-style timestamps. I say "style" because it's impossible to implement ISO8601 or RFC3389 dates in a filename on most modern filesystems. So instead of the proper ISO separators, we've got dashes and dots. (@hakusaro, change sponsored by @drunderscore)
  • Added hook for OnDoorUse (DoorUse) and associated DoorUseEventArgs fired when a door is used. Also added GetDataHandlers.DoorAction enum for determining the action of a door. (@hakusaro)
  • Disallowed loading of the AutoRegister plugin version 1.2.0 or lower. Versions of this plugin at or equal to 1.2.0 use low entropy material to create passwords. This effectively means that it's possible for any user to be easily impersonated on a server running AutoRegister by simply convincing a user to join a malicious server, even when UUID login is disabled. This was assigned GHSA-w3h6-j2gm-qf7q. (@hakusaro)
  • Disallowed loading of another plugin due to security issue GHSA-qj59-99v9-3gww. Due to the importance of this issue and severity, information is not available in the changelog. Information will be available June 8th, 2021, at 12:00 MDT. (@hakusaro)

Updating

To update TShock, simply replace all of the files in your server folder with those from the release folder.

TShock - TShock 4.5.3

Published by hakusaro over 3 years ago

This version adds support for Terraria 1.4.2.3, and fixes GHSA-q776-cv3j-4q6m, an issue reported to us and fixed by @bartico6.

Please make a backup of your configuration files before updating. Remember, you can normally just overwrite all files from the release in your server. However, a late breaking bug reported less than 30 minutes before the update may cause your SSC config file to be overwritten.

Notable changes

  • Added permissions for using Teleportation Potions, Magic Conch, and Demon Conch. (@drunderscore)
    • tshock.tp.tppotion, tshock.tp.magicconch, and tshock.tp.demonconch respectively.
  • Updated HealOtherPlayer damage check to make more sense by respecting ignoredamagecap permission. (@moisterrific)
  • Added preliminary support for Terraria 1.4.2.3 (@moisterrific, @Moneylover3246, @DeathCradle)
  • Added celebration mk2 explosive to explosives ItemID set in TSAPI. Solves #2304. (@Quinci135)
  • TShock now writes its log files to the logs folder inside the tshock folder by default, as opposed to just the tshock folder. (@QuiCM)
  • The default MOTD is now prettier. The MOTD format can now contain %specifier% to send the command specifier. (@moisterrific)
  • The buff commands now support -1 as a time option to set buffs that last 415 days (the maximum buff time the game supports). (@moisterrific)
  • TShock defaults to saving backups every 10 minutes, and defaults to keeping backups for 4 hours. (@hakusaro)
  • Updated SSC bypass messaging. Now, when you connect, you're told if you're bypassing SSC. Console logging has been improved to warn when players are not being saved due to the bypass SSC permission. To turn this warning off, change WarnPlayersAboutBypassPermission to false in the sscconfig.json file. (@hakusaro)
  • Fix oversight & exploit allowing specially crafted SendTileRectangle packets to perform large-scale world griefing. In addition, NetTile.Slope is now the native value (byte), and accessor methods Slope1, Slope2, and Slope3 can be used to get the old style of values out. HalfBrick and Actuator were removed from NetTile because these were initialized to zero and never changed or used. (@bartico6)

In other news

A total lunar eclipse is scheduled to take place on May 26th, 2021, and as a result, this version was named Blood Moon edition, accordingly. Have fun staring at the sky! Thanks to @moisterrific for the awesome news!

Note: this release was created twice, due to a bug with GitHub Releases at the exact moment of release. Hooray!

TShock - TShock 4.5.2 (Terraria 1.4.2.2)

Published by hakusaro over 3 years ago

This release supports Terraria protocol 1.4.2.2.

Notable changes

  • Added preliminary support for Terraria 1.4.2.2. (@hakusaro)
  • Removed /ungodme and godmode warning (no longer necessary). Also, godmode now supports silent commands. (@hakusaro)

In other news

  • Tonight (April 22) in North America is expected to be the peak of the April Lyrids meteor shower. This happens every year, and is visible in most of the world. Why not look at the sky tonight, and make a wish?
  • I feel quite shy, but I would like to say that @hakusaro can now be sponsored on GitHub. I would like to formalize this a little bit. If you have opinions on these shoutouts for sponsorships, please drop them in this release thread.
TShock - TShock 4.5.1

Published by hakusaro over 3 years ago

This version supports Terraria protocol version 1.4.2.1.

Changes since last release

  • Fixed server crash from /v2/players/list & other parameterised REST endpoints. (@QuiCM, reported by @ATFGK)
  • Added handling to the PlayerChat hook event. (@QuiCM - Thanks for the suggestion @Arthri)
  • Changed the spawnboss command to support silent command specifiers. (@QuiCM, suggested by @nojomyth-dev)
  • Updated /godmode to use Journey Mode's Godmode power instead of healing on damage. (requested by @tlworks, backported by @bartico6, implemented preemptive bugfix for creative powers mentioned by @Stealownz)
  • Fixed /r attempting to send messages to players that have since disconnected. (@bartico6, reported by @Arthri)
  • Added ban ticket ID to ban messages (@QuiCM, suggested by @Bippity)
  • Refactored /wallow command. /reply no longer bypasses /wallow (@QuiCM)

Notable developments

Please give these people the love and support they deserve! Guess what? I'm sponsoring all of these lovely people! 😻

TShock - TShock 4.5.0.1

Published by hakusaro over 3 years ago

This version supports Terraria protocol version 1.4.2.1.

Changes since last release

  • Fixed conversion from old to new ban system for MySQL hosted ban databases. (@DeathCradle, @ATFGK)
  • Fixed wrong identifier used for UUID bans. (@DeathCradle, @ATFGK)
  • Fixed conversion from sqlite bans due to locking issue. (@DeathCradle, @Kojirremer)

In other news

If you appreciated the these changes, @DeathCradle and @Stealownz are now accepting donations. If you feel it in your heart, please consider donating to the recent contributors that have made TShock possible.

  • DeathCradle: Send bitcoin to 3PRfyMh1brjCqzkw9az2aT7yNjbfkwFZqo.
  • Stealownz: Send money via GitHub Sponsors. GitHub sponsors now supports one time payments.

Full disclosure: I donated to both DeathCradle and Stealownz. 💖

TShock - TShock 4.5.0 for Terraria 1.4.2.1

Published by hakusaro over 3 years ago

Changes

  • Updated OTAPI and TSAPI to Terraria 1.4.2.1. (@Stealownz, @DeathCradle)
  • Updated TShock with preliminary protocol support for Terraria 1.4.2.1. (@Stealownz)

Thank you so much to @Stealownz and @DeathCradle for this release!

Notes

An executive decision has been made on versioning going forward. Instead of publishing pre-releases on 4.4.0 forever, this is now 4.5.0. Patch releases on the 4.5 series will be released as time goes on. You should consider the 4.5.x series unstable. All odd numbered versions (4.5, 4.7, 4.9) will be unstable. When a stable version is released, it will be even (e.g., 4.6.0, 4.8.0, 6.0.0).

The reason for this change is simple. The TShock automatic update system does not display updates for pre-releases. Unfortunately, it is quite useless to have an automatic updater when you don't use it. Polishing 4.4.0 has been time consuming, and therefore, we haven't been able to push a stable version for a while. Because of this, the lack of an automatic update function means that people are left in the dark about important updates. This is a problem.

We are planning on publishing updates more frequently to resolve stability issues and improve the system. Unfortunately, it's just taking a bit longer than usual.

To upgrade, simply overwrite all applicable files in your existing server folder. TShock releases are designed so that you can upgrade by copying all files over and clicking "yes" to overwrite any duplicates. All existing world and character and database data will be saved. Please make a backup copy of your world file and your TShock configuration before installing.

TShock - TShock 4.4.0 Pre-release 15 for Terraria 1.4.1.2

Published by QuiCM almost 4 years ago

IF YOU ARE USING PRE-14 PLEASE UPDATE TO THIS VERSION ASAP

Some debugging was left enabled in pre-14 that will cause unintended tile edits in your worlds.
Please update to this release ASAP

TShock - TShock 4.4.0 Pre-release 14 for Terraria 1.4.1.2

Published by QuiCM almost 4 years ago

To upgrade, simply overwrite all applicable files in your existing server folder. TShock releases are designed so that you can upgrade by copying all files over and clicking "yes" to overwrite any duplicates. All existing world and character and database data will be saved.

Changes

  • Terraria v1.4.1.2 (Thanks @Patrikkk and @DeathCradle <3)
  • Added Torch God's Favor support in SSC. (@Stealownz)
  • SendTileSquare is now SendTileRect and can now send rectangles instead of squares. This is a breaking change (@QuiCM)
  • Destroying protected tiles underneath a tile object no longer causes the tile object to disappear for the client (@QuiCM)
  • 'RegionProtectGemLocks' config option now works correctly. Gems can now be placed in Gem Locks while this option is enabled (@QuiCM)

Upgrading

To upgrade, simply overwrite all applicable files in your existing server folder. TShock releases are designed so that you can upgrade by copying all files over and clicking "yes" to overwrite any duplicates. All existing world and character and database data will be saved.

Changes

  • Added Gravedigger's Shovel support. (@Zennos)
  • You can now start up multiple TShock servers at once without getting a startup error. (@ZakFahey)
  • Updated bouncer to include new Magma Stone, Frost Armor, and Spinal Tap inflicted npc debuffs to bouncer. (@Quinci135)
TShock - TShock 4.4.0 Pre-release 12 for Terraria 1.4.0.5

Published by hakusaro over 4 years ago

To upgrade, simply overwrite all applicable files in your existing server folder. TShock releases are designed so that you can upgrade by copying all files over and clicking "yes" to overwrite any duplicates. All existing world and character and database data will be saved.

  • Fixed various bugs related to Snake Charmer's Flute. (@rustly)
    • The entirety of the snake now places.
    • The old snake now removes when placing a new snake.
    • Players are no longer disabled for breaking TilePlace/TileKill thresholds when modifying snakes.
  • Prevented players from seeing the npc spawnrate change permission error on join. (@rustly)
  • Installed new sprinklers!
  • Organized parameters by category and relevance in the config.json file. (@kubedzero)
  • Fixed multiple holes in Bouncer OnTileData. (@Patrikkk, @hakusaro)
    • Issue where players could replace tiles with banned tiles without permission.
    • Including replace action in TilePlace threshold incrementation, so players cannot bypass the threshold while replacing tiles/walls.
    • Including check for maxTileSets when player is replacing tiles, so players cannot send invalid tile data through the replace tile action.
    • Including a check for ReplaceWall when the tile is a Breakable/CutTile.
  • Adding checks in Bouncer OnNewProjectile (@Patrikkk):
    • For valid golf club and golf ball creation.
    • Renamed stabProjectile to directionalProjectile for a more accurate naming.
    • Adding staff projectiles to the directionalProjectiles Dictionary to include staffs in the valid projectile creation check.
    • Adding GolfBallItemIDs list in Handlers.LandGolfBallInCupHandler.cs
  • Fixed an issue in the SendTileSquare handler that was rejecting valid tile objects. (@QuiCM)
  • Fixed the issue where players were unable to place regular ropes because of the valid placement being caught in Bouncer OnTileEdit. (@Patrikkk)
  • Added pet license usage permissions to trustedadmin and owner groups. Do note that this has a high network usage and can be easily be abused so it is not recommended to give out this permission to lower level groups. (@moisterrific)
  • Removed checks that prevented people placing personal storage tiles in SSC as the personal storage is synced with the server. (@Patrikkk)
  • Cleaned up a check in Bouner OnTileEdit where it checks for using the respective item when placing a tile to make it clearer. This change also fixed the issue in a previous commit where valid replace action was caught. Moved the check for max tile/wall types to the beginning of the method. (@Patrikkk)
  • Improved clarity for insufficient permission related error messages. (@moisterrific)
  • Removed redundant Boulder placement check that prevented placing chests on them, as it is no longer possible to place a chest on a boulder, so nothing crashes the server. "1.2.3: Boulders with Chests on them no longer crash the game if the boulder is hit." (@kevzhao2, @Patrikkk)
  • /itemban - /projban - /tileban - Added a default: case to the commands so an invalid subcommand promts the player to enter the help subcommand to get more information on valid subcommands. (@Patrikkk)
  • /world - Renamed to /worldinfo to be more accurate to it's function. Command now displays the world's Seed. Reformatted the world information so each line isn't repeatedly starting with "World". (@Patrikkk)
  • /who - Changed the display format of the online players when the -i flag is used. From PlayerName (ID: 0, ID: 0) to PlayerName (Index: 0, Account ID: 0) for clarification. (@Patrikkk)
  • Added DisplayDollItemSync event. An event that is called when a player modifies the slot of a DisplayDoll (Mannequin). This event provides information about the current item in the displaydoll, as well as the item that the player is about to set. (@Patrikkk)
  • Added DisplayDollItemSyncHandler, which checks for building permissions of the player at the position of the DisplayDoll. (If they do not have permissions, it means they are hacking as they could not even open the doll in the first place.) (@Patrikkk)
  • Added RequestTileEntity packet handling. (@Patrikkk)
    • Implemented the OnRequestTileEntityInteraction even hook in GetDataHandler. (@Patrikkk)
    • Created RequestTileEntityInteractionHandler which checks for building permissions when the player is attempting to open a display doll (Mannequin) or a Hat Rack. This now prevents players from opening a Mannequin or a Hat Rack if they have no building permissions at the position of these tile entities. As of 1.4.0.5, these are the only two items that use this packet. (@Patrikkk)
TShock - TShock 4.4.0 Pre-release 11 for Terraria 1.4.0.5

Published by hakusaro over 4 years ago

  • New permission tshock.tp.pylon to enable teleporting via Teleportation Pylons (@QuiCM)
  • New permission tshock.journey.research to enable sharing research via item sacrifice (@QuiCM)
  • Add Emoji event to GetDataHandler. This packet is received when a player tries to display an emote. (who?)
    • Adding EmojiHandler to handle an exploit. Adding tshock.sendemoji permission and checks. Added this permission to guest group by default. (who?)
  • Handled SyncCavernMonsterType packet to prevent an exploit where players could modify the server's cavern monster types and make the server spawn any NPCs - including bosses - onto other players. (who?)
  • Added LandGolfBallInCup event which is accessible for developers to work with, as well as LandGolfBallInCup handler to handle exploits where players could send direct packets to trigger and imitate golf ball cup landing anywhere in the game world. Added two public lists in Handlers.LandGolfBallInCupHandler: GolfBallProjectileIDs and GolfClubItemIDs. (@Patrikkk)
  • Added SyncTilePicking event. This is called when a player damages a tile. Implementing SyncTilePickingHandler and patching tile damaging related exploits. (Preventing player sending invalid world position data which disconnects other players.)
  • Fixed the issue where mobs could not be fished out during bloodmoon because of Bouncer checks. (@Patrikkk)
  • Update for OTAPI 2.0.0.37 and Terraria 1.4.0.5. (@hakusaro, @Patrikkk)
  • Adding missing PlayerInfo data in GetDataHandler. (@Patrikkk)

Usual disclaimers apply.

TShock - TShock 4.4.0 Pre-release 10 for Terraria 1.4.0.4

Published by QuiCM over 4 years ago

  • Fix all rope coils. (@Olink)
  • Fixed a longstanding issue with SendTileSquare that could result in desyncs and visual errors. (@QuiCM)
  • Fixed placement issues with Item Frames, Teleportation Pylons, etc. (@QuiCM)
  • Doors are good now for real probably (@QuiCM, @Hakusaro, @Olink)
  • Bump default max damage received cap to 42,000 to accommodate the Empress of Light's instant kill death amount. (@hakusaro, @moisterrific, @Irethia, @Ayrawei)
  • Updated /spawnboss command to include Empress of Light, Queen Slime, and other additional bosses that have a health bar. (@moisterrific)

Please remove tshock.ignore.sendtilesquare from people's permission buckets to turn back on send tile square protection and only change it if doors don't work still. Please remember that keeping TShock running on a server that is open to the public is currently not advised due to several known anticheat issues.

TShock - TShock 4.4.0 Pre-release 9 for Terraria 1.4.0.4

Published by hakusaro over 4 years ago

  • Fixed pet licenses. (@Olink)
  • Added initial support for Journey mode in SSC worlds. (@Olink)
  • Made TShock database MySQL 8 compatible by escaping column names in our IQueryBuilder code. (Name Groups is a reserved element in this version, which is used in our Region table.) (@Patrikkk)
  • Reintroduced -worldselectpath per feedback from @fjfnaranjo. This command line argument should be used to specify the place where the interactive server startup will look for worlds to show on the world select screen. The original version of this argument, -worldpath, was removed because several game service providers have broken configurations that stop the server from running with an unhelpful error. This specific configuration was -world and -worldpath. In the new world, you can do the following:
    • -worldselectpath should be used if you want to customize the server interactive boot world list (so that you can select from a number of worlds in non-standard locations).
    • -world will behave as an absolute path to the world to load. This is the most common thing you want if you're starting the server and have a specific world in mind.
    • -worldselectpath and -worldname should work together enabling you to select from a world from the list that you specify. This is not a world file name, but a world name as described by Terraria.
    • -worldselectpath is identical to the old -worldpath. If you specify -worldselectpath and -world without specifying an absolute path the server will crash for sure.
    • Thank you again to @fjfnaranjo for supplying a detailed feature request explaining precisely why this option should be available. Without this, we would have had no context as to why this feature was useful or important. Thank you, @fjfnaranjo!
    • This change was implemented by (@QuiCM, @hakusaro).
  • Updated Bouncer to include Sparkle Slime debuff that can be applied to town NPCs. (@moisterrific)
  • Updated /spawnboss command to include Empress of Light and Queen Slime. (@moisterrific)
  • Added journey mode permissions to owner group by default. (@moisterrific)
  • Fixed kick on hardcore death / kick on mediumcore death / ban on either from taking action against journey mode players. (@hakusaro)
  • Attempted to fix the problem with the magic mirror spawn problems. You should be able to remove your spawn point in SSC by right clicking on a bed now. (@hakusaro, @AxeelAnder)
  • Added HandleFoodPlatterTryPlacing event, which is called whenever a player places a food in a plate. Add antihack to bouncer, to prevent removing food from plates if the region is protected; To prevent placement if they are not in range; To prevent placement if the item is not placed from player hand. (@Patrikkk)
  • Fixed an offset error in NetTile that impacted SendTileSquare. It was being read as a byte and not a ushort. (@QuiCM)
  • Fixed coins not dropping after being picked up by npcs. The ExtraValue packet was not being read correctly. (@Olink)
  • Removed packet monitoring from debug logs. To achieve the same results, install @QuiCM's packet monitor plugin (it does better things). (@hakusaro)
  • Updated packet monitoring in send tile square handler for Bouncer debugging. (@hakusaro)
  • Added /sync, activated with tshock.synclocalarea. This is a default guest permission. When the command is issued, the server will resync area around the player in the event of a desync issue. (@hakusaro)
    • If your doors disappear, this command will allow a player to resync without having to disconnect from the server.
    • The default group that gets this permission is Guest for the time being.
    • To add this command to your guest group, give them tshock.synclocalarea, with /group addperm guest tshock.synclocalarea.
    • This command may be removed at any time in the future (and will likely be removed when send tile square handling is fixed).
  • Fixed smart door automatic door desync and deletion issue. (@hakusaro)

Please remove tshock.ignore.sendtilesquare from people's permission buckets to turn back on send tile square protection and only change it if doors don't work still. Please remember that keeping TShock running on a server that is open to the public is currently not advised due to several known anticheat issues.

TShock - TShock 4.4.0 Pre-release 8 for Terraria 1.4.0.4

Published by hakusaro over 4 years ago

  • Update for OTAPI 2.0.0.36 and Terraria 1.4.0.4. (@hakusaro, @Patrikkk, @DeathCradle)
  • Fixed /wind command. (@AxeelAnder)
  • Fixed NPC debuff issue when attempting to fight bosses resulting in kicks. (@AxeelAnder)
  • Fixed players are unable to remove an NPC. Change byte NPCHomeChangeEventArgs.Homeless to HouseholdStatus NPCHomeChangeEventArgs.HouseholdStatus. (@AxeelAnder)
  • Fixed lava, wet, honey, and dry bombs;
    and lava, wet, honey, and dry grenades;
    and lava, wet, honey, and dry rockets;
    and lava, wet, honey, and dry mines. (@Olink)
  • Fix Bloody Tear displaying the wrong text when used. (@Olink)
  • Fix the visibility toggle for the last two accessory slots. (@Olink)
  • Adding Journey mode user account permissions. Journey mode must be enabled for these to have any effect. (@Patrikkk)
    • tshock.journey.time.freeze
    • tshock.journey.time.set
    • tshock.journey.time.setspeed
    • tshock.journey.godmode
    • tshock.journey.wind.strength
    • tshock.journey.wind.freeze
    • tshock.journey.rain.strength
    • tshock.journey.rain.freeze
    • tshock.journey.placementrange
    • tshock.journey.setdifficulty
    • tshock.journey.biomespreadfreeze
    • tshock.journey.setspawnrate
  • Changed default thresholds for some changes in the config file to accommodate new items & changes to Terraria. (@hakusaro)

If you have problems with smart doors and you trust your users unconditionally, you can give them the permission tshock.ignore.sendtilesquare. Please note that when you do this, you're basically giving them full control of the world. Don't give this to anyone who you don't want to have full control of the world.

Please vote on what you want us to work on next with a thumbs-up emoji. Remember that you can set DebugLogs to true and then give us your logs to quickly fix problems. The 1.4 project is public and you can view it right now.

TShock - TShock 4.4.0 Pre-release 7 for Terraria 1.4.0.4 (Entangled)

Published by hakusaro over 4 years ago

Backup your data! Copy your server's tshock.sqlite, config, and world files to a separate location before unpacking.

  • Fixed bed spawn issues when trying to remove spawn point in SSC. (@Olink)
  • Fixed Snake Flute. (@Olink)
  • Fixed lava absorbant sponge not capturing lava. LiquidSetEventArgs now returns a LiquidType instead of a byte type. (@hakusaro)
  • Fixed bottomless lava bucket from not being able to create lava. (@hakusaro)
    • Ban a lava bucket to ban lava on the server entirely, until we figure out a better way to handle liquids.
  • Fixed scarab bombs not detonating on pick style tiles. (@hakusaro)
  • Fixed dirt bombs not creating dirt. (@hakusaro)
  • Added a ridiculous amount of debug information. If you're experiencing any problems with 1.4 items being caught by the TShock anticheat system, please turn on DebugLogs in your config file and capture log data. It'll be extremely helpful in narrowing down precisely how to fix your problem. (@hakusaro)
  • Released with entangled support for 1.4.0.4 based on @Patrikkk local build and latest snapshot gen-dev. (@hakusaro)

This is a release that is suitable for private servers with trusted players: several anticheat checks have been disabled due to changes in the Terraria protocol. These checks include projectile spam checks and net modules (liquid exploits in particular). We highly suggest making a backup of your world (and potentially any existing server data you have). This is also an interesting release because it includes changes that have been in development for quite some time. If you're a plugin developer, now is the time to start updating. More breaking changes may happen, but there will always be an updated API version to track.

TShock - TShock 4.4.0 Pre-release 6 for Terraria 1.4.0.3

Published by hakusaro over 4 years ago

Backup your data! Copy your server's tshock.sqlite, config, and world files to a separate location before unpacking.

This is basically identical to pre5, which added support for Terraria 1.4.0.3 and potentially fixed the player desync issue on SSC systems.

This is a release that is suitable for private servers with trusted players: several anticheat checks have been disabled due to changes in the Terraria protocol. These checks include projectile spam checks and net modules (liquid exploits in particular). We highly suggest making a backup of your world (and potentially any existing server data you have). This is also an interesting release because it includes changes that have been in development for quite some time. If you're a plugin developer, now is the time to start updating. More breaking changes may happen, but there will always be an updated API version to track.

Backup your data! Copy your server's tshock.sqlite, config, and world files to a separate location before unpacking.

TShock - TShock 4.4.0 Pre-release 4 for Terraria 1.4.0.2

Published by hakusaro over 4 years ago

This is TShock 4.4.0 Pre-release 4 for Terraria 1.4.0.2!

  • Debug logging now provides ConsoleDebug and ILog has been updated to support the concept of debug logs. Debug logs are now controlled by config.json instead of by preprocessor debug flag. (@hakusaro)
  • Removed /confuse command and Terraria player data resync from @Zidonuke. (@hakusaro)
  • Attempted to fix the player desync issue by changing LastNetPosition logic and disabling a check in Bouncer that would normally reject player update packets from players. (@QuiCM, @hakusaro)

This is a release that is suitable for private servers with trusted players: several anticheat checks have been disabled due to changes in the Terraria protocol. These checks include projectile spam checks and net modules (liquid exploits in particular). We highly suggest making a backup of your world (and potentially any existing server data you have). This is also an interesting release because it includes changes that have been in development for quite some time. If you're a plugin developer, now is the time to start updating. More breaking changes may happen, but there will always be an updated API version to track.

TShock - Pre-Release: TShock 4.4.0 Pre 3 for Terraria 1.4.0.2

Published by QuiCM over 4 years ago

worldmode has been updated so it now selects the correct mode. Also enabled using 'journey' or 'creative' to select the same thing (i.e., worldmode creative does the same thing as worldmode journey)

The following commands have been removed: tbloodmoon, invade, dropmeteor. fullmoon, sandstorm, rain, eclipse
The following command has been added to replace them: worldevent. This command requires the tshock.world.events permission.
worldevent can be used as so:
worldevent [event type] [sub type] [wave (if invasion event)]
Valid event types are meteor, fullmoon, bloodmoon, eclipse, invasion, sandstorm, rain
Valid sub types are goblins, snowmen, pirates, pumpkinmoon, frostmoon for invasions, and slime for rain.

A new set of permissions has been added under the node tshock.world.events:
tshock.world.events.bloodmoon: Enables access to the worldevent bloodmoon command
tshock.world.events.fullmoon: Enables access to the worldevent fullmoon command
tshock.world.events.invasion: Enables access to the worldevent invasion command
tshock.world.events.eclipse: Enables access to the worldevent eclipse command
tshock.world.events.sandstorm: Enables access to the worldevent sandstorm command
tshock.world.events.rain: Enables access to the worldevent rain command
tshock.world.events.meteor: Enables access to the worldevent meteor command

Please note that the permissions previously tied to the removed commands are also still used to confirm access to the new commands, so if you have existing configurations no one should have any new or lost access.

This is a release that is suitable for private servers with trusted players: several anticheat checks have been disabled due to changes in the Terraria protocol. These checks include projectile spam checks and net modules (liquid exploits in particular). We highly suggest making a backup of your world (and potentially any existing server data you have). This is also an interesting release because it includes changes that have been in development for quite some time. If you're a plugin developer, now is the time to start updating. More breaking changes may happen, but there will always be an updated API version to track.

Enjoy :)

TShock - Pre-Release: TShock 4.4.0 Pre 2 for Terraria 1.4.0.2

Published by QuiCM over 4 years ago

/expert has been replaced with /worldmode.
Whips should work again

This is a release that is suitable for private servers with trusted players: several anticheat checks have been disabled due to changes in the Terraria protocol. These checks include projectile spam checks and net modules (liquid exploits in particular). We highly suggest making a backup of your world (and potentially any existing server data you have). This is also an interesting release because it includes changes that have been in development for quite some time. If you're a plugin developer, now is the time to start updating. More breaking changes may happen, but there will always be an updated API version to track.

Enjoy :)

TShock - Pre-Release: TShock 4.4.0 Pre 1 for Terraria 1.4.0.2

Published by hakusaro over 4 years ago

THIS MAY CAUSE YOU SIGNIFICANT HARM. BACK UP YOUR WORLDS, DATABASES, ETC.

Welcome to TShock 4.4.0 Pre-release 1 for Terraria 1.4.0.2! Thank you to Patrikkk, Icy, Chris, Death, Axeel, Zaicon, hakusaro, and Yoraiz0r!

This is a release that is suitable for private servers with trusted players: several anticheat checks have been disabled due to changes in the Terraria protocol. These checks include projectile spam checks and net modules (liquid exploits in particular). We highly suggest making a backup of your world (and potentially any existing server data you have). This is also an interesting release because it includes changes that have been in development for quite some time. If you're a plugin developer, now is the time to start updating. More breaking changes may happen, but there will always be an updated API version to track.

For the full list of changes from previous stable versions of TShock, check out the changelog. Please report bugs on GitHub.

Important: You need to move TShockAPI.dll into the ServerPlugins folder. If you don't have one, run TerrariaServer.exe once, and then copy the file into the newly created folder. You know that you're running TShock as expected if you see the list of names in the startup sequence.