Merge remote-tracking branch 'upstream/general-devel' into docker

This commit is contained in:
Joseph Goh 2022-10-23 07:06:01 +08:00
commit 7f15146217
No known key found for this signature in database
GPG key ID: 0C83392A0999DD5A
11 changed files with 562 additions and 103 deletions

View file

@ -64,8 +64,12 @@ Use past tense when adding new entries; sign your name off when you add or chang
* Added an internationalization system. The base for the i18n system was built by Janet Blackquill ([@pontaoski](https://github.com/pontaoski)). A small donation in her honor was made to the [KDE project](https://kde.org/) as a thankyou for this work. This also includes the `TSHOCK_LANGUAGE` environment variable. Setting `TSHOCK_LANGUAGE=tok` will enable a small number of [Toki Pona](https://tokipona.org/) translations as a proof-of-concept. (@pontaoski)
* Added support for Terraria 1.4.4.6, through OTAPI 3.1.5. (@SignatureBeef)
* Added GeoIP.dat back to the included list of files. (@SignatureBeef)
* Allow loadouts to properly sync by allowing the `SyncLoadout` packet during early connection. (@drunderscore)
* Introduced support for loadouts, and saving the current loadout index to SSC. Both `NetItem` and `PlayerData` were modified to support this. (@drunderscore)
* Check loadout slots for hacked item stacks. (@drunderscore)
* Dockerize TShock (@PotatoCider)
## TShock 4.5.18
* Fixed `TSPlayer.GiveItem` not working if the player is in lava. (@PotatoCider)
* Only allow using Teleportation Potions, Magic Conch, and Demon Conch whilst holding them. (@drunderscore)

View file

@ -6,6 +6,12 @@ When enabled in TShock, SSC takes over control of inventory management for a pla
For developers, TShock's SSC implementation should be considered the reference implementation. More things are possible with this system than what TShock does.
## Limitations
In TShock 5 (Terraria 1.4.4.x), loadouts have some caveats. **Data loss or corruption may occur if you aren't careful.** If a player is de-buffed, crowd-controlled, or dead, and the player's client will ignore the loadout synchronization packet. TShock's `Disable()` method, webbing, and other de-buffs may cause desyncs between the server and client. Further, if players use items or otherwise become debuffed, they may also desynchronize. Because of this, we strongly advise telling players to be careful and not use items during loadout changes, or they risk data loss or corruption.
Admins that use `Dimensions` or other proxy tools that join multiple servers together may experience this if those proxies disable or de-buff players during the server switch window, before the player is logged in and synchronized.
## Setting up SSC
To setup SSC, simply change `Enabled` to `true` in `sscconfig.json` in the `tshock` config folder.
@ -90,7 +96,3 @@ If a TShock player has `tshock.ignore.ssc`, and `WarnPlayersAboutBypassPermissio
Sometimes, you want to import player data from players that join your server. For example, if you trust your friends not to bring hacked items in, you can import their data into the system. This is done with the `/uploadssc` command.
The `/overridessc` command can be used to upload SSC data from a given player. The difference between this command is that `/uploadssc` uploads their data from when they joined, whereas `/overridessc` will just save whatever their current state is to the database.
## Limitations
Currently, SSC does not support loadouts (1.4.4.x content).