Commit graph

58 commits

Author SHA1 Message Date
Cai
5466f3ea6f feat(Commands): add player death statistics commands 2025-07-12 19:05:19 +08:00
Sakura Akeno Isayeki
9c473e35a6
refactor(db/pgsql): Revert SQL queries, lower column casing for PGSQL
Reverts SQL query identifier escaping to simplify queries and improves overall readability by using lowercase column names.

Enhances maintainability and alignment with database conventions by adopting a uniform casing scheme across all SQL operations.

Removes unnecessary complexity in query construction, streamlining the database operations performed within the application.
2025-05-03 19:21:10 +02:00
Sakura Akeno Isayeki
2d839e3609
fix(db/postgres): Resolve SQL identifier casing issues
Improves SQL query execution by ensuring proper casing for identifiers across various database types, particularly for Postgres.

Enhances security and compatibility by using an identifier escaping method, preventing potential errors due to case sensitivity in SQL queries.

Addresses potential issues with existing queries for better reliability and consistency.
2025-04-29 00:47:19 +02:00
Sakura Akeno Isayeki
084411f847
refactor(db): Update SqlQueryBuilder references + Various refactors
Consolidates the creation of SQL query builders across multiple classes to ensure a unified approach for database operations.

Replaces manual type checks and specific query creators with a generic method for better maintainability and to prevent errors.

Improves code readability and reduces duplication, facilitating easier updates in the future.
2025-04-28 15:51:26 +02:00
Sakura Akeno Isayeki
8a75b1fdc5
refactor(db): Move DbQueryBuilders to separate namespace
Removes obsolete query builder interface and implementations.

Introduces a new namespace for query-related classes to enhance organization.

Updates various database managers to use the new query utilities, promoting code reuse and maintainability.

Enhances query functionality, ensuring better consistency across the codebase.
2025-04-28 14:06:02 +02:00
SGKoishi
4e26051869
Fix some confusion introduced by 98eed42 and b184133 2025-03-15 14:09:00 +09:00
Lucas Nicodemus
56041f2c1a
Merge remote-tracking branch 'ghsa/handshake-final-update-fix' into general-devel 2025-03-10 01:08:28 +09:00
ohayo
5a23073db5 Suggestions + fix last missed magic number 2025-02-05 09:33:36 +10:00
ohayo
ce04d9d173 Remove magic number + Use suggestions by particles
Added a new ClientState enum based on code in Terraria.MessageBuffer.GetData & Terraria.Netplay.InnerClientLoop
2025-02-04 21:06:40 +10:00
AkjaHAsLk1IALk0MasH
b184133a7f Updated the call to the obsolete constructor PlayerData 2023-05-14 10:43:01 +07:00
Stargazing Koishi
fc4c509285
Add a check to InsertPlayerData to prevent data overwrite 2023-01-11 02:23:01 -08:00
hufang360
ca93fa685e Fixed SSC not save ateArtisanBread, usedAegisCrystal, usedAegisFruit, usedArcaneCrystal, usedGalaxyPearl, usedGummyWorm, usedAmbrosia, unlockedSuperCart, enabledSuperCart flags, and Server will correct read them. 2022-10-24 13:27:50 +08:00
Lucas Nicodemus
41bc22e292
Fix broken interpolation in CharacterManager 2022-10-23 07:22:13 -07:00
James Puleo
bfaa47ad1a
Introduce support for loadouts, and save current loadout index to SSC
We needed to modify `NetItem` to know that these new inventory now
exist.

`PlayerData` can now re/store these items, and properly sync them. It
also now knows of the player's currently selected index, and how to sync
it.
2022-10-22 17:36:57 -04:00
Janet Blackquill
f63b26ac76 Some i18nifiying 2022-10-21 16:12:04 -04:00
Quinci135
5581bf5e45 Fix torchflags
UsingBiomeTorches: Whether or not the player has the torchgod biometorches ability enabled
HappyFunTorchTime: Whether or not the player has fought the torchgod before (for logic that checks for torchgod spawning)
unlockedBiomeTorches: Whether or not the player has the torchgod biome torches ability unlocked
2021-05-23 04:48:01 -07:00
Lucas Nicodemus
68ae73ffef Warn players if bypass SSC permission is enabled
If a player has the tshock.ignore.ssc permission, odds are that they may
want to know that their data isn't being saved or not. This change
allows users to be notified if they have SSC data stored in the DB but
they aren't having it loaded due to the aforementioned permission.

This permission causes great confusion, but we can't really change it
because we would break existing setups. This is an easy change that
gives people a reason why they suddenly "have no items."

This new option can be turned off in the config file for SSC if it's not
desired.

This change also modifies some of the log messages so that it's clear
why the SSC save didn't occur for a given player.
2021-05-21 01:16:04 -07:00
Chris
9423febd0a Refactor for new configuration 2020-12-03 17:43:10 +10:30
Stealownz
8969ce4a94 Add Torch God's Favor to SSC
Closes #2031
2020-11-01 22:55:50 +08:00
鱼鱼
1ed95c737e pass compile; add void vault code 2020-05-17 21:38:47 +08:00
Lucas Nicodemus
70dd72443d Update copyright to 2019 again
Fixes #1658, most likely.
2019-03-29 17:16:37 -07:00
Lucas Nicodemus
569b350cea Update to Pryaxis, 2018 part 2
If there's one thing I learned in this exercise, it's that letting
people add random python scripts to the repo like gpltext.py that
promise to be easier than find and replace is a bad idea.
2018-01-01 02:20:56 -07:00
Edgar Luque
07da3d5f58 missed some more declarations 2017-12-08 01:48:08 +01:00
Edgar Luque
6589531868 Renamed TShockAPI.DB 'User' to 'UserAccount' 2017-12-08 01:38:15 +01:00
Lucas Nicodemus
cdbc37b024 Allow /savessc to work on players that bypass ssc
Fixes #1506
2017-12-03 16:22:46 -07:00
White
c4a3a9fb67 Updated Copyright for 2017 2017-03-13 12:17:16 +10:30
Lucas Nicodemus
678f6c7cf8
Update to Mintaka (thanks @enerdy) 2016-12-06 17:36:44 -07:00
DogooFalchion
156df47777 Add mechanism to upload a specific PlayerData to a player. 2016-10-23 18:10:30 -04:00
Adilson Carvalho
49b4effe74 Changed year to 2016 on all GPL headers 2016-10-16 17:06:02 -02:00
Enerdy
aa419283a9 Add PlayerPermission hook, replace p.Group.HasPermission by p.HasPermission everywhere possible. 2016-01-11 14:37:02 +00:00
White
21f16e5908 Fixed female characters losing their femininity 2016-01-10 13:12:51 +10:30
White
be4d741f2b Extra slot will now function correctly in SSC. Fixes #1036 2015-10-09 17:56:56 +10:30
Beau Hastings
943606c870 Fix #1082
Signed-off-by: Beau Hastings <beausy@gmail.com>
2015-10-09 00:01:57 -05:00
tysonstrange
d68fe61d21 Update CharacterManager.cs 2015-09-18 07:58:42 +10:00
tysonstrange
9c3d38e23d Update CharacterManager.cs 2015-09-17 21:10:30 +10:00
White
23ab14df4f Added backwards compatibility for SSC 2015-07-10 16:58:32 +09:30
White
e5cbee82e9 Backwards compatibility for databases with pre-existing SSC entries 2015-07-10 14:34:42 +09:30
Enerdy
0e23ffa1a6 Fixed issues with BitsByte. TShock should compile again. 2015-07-04 17:17:26 +01:00
MarioE
ad5ec1c252 Fix NetItem serialization/deserialization 2015-05-04 22:28:41 -04:00
MarioE
d5fb8726cc Extend NetItem 2015-05-04 22:11:10 -04:00
White
44ad0c68b8 Change TSPlayer.UserID to TSPlayer.User.ID, as well as refactoring some of UserManager.cs. Solves #916 2015-05-01 11:18:37 +09:30
Lucas Nicodemus
cbce64f1eb Remove more obsolete code; fix tab/space screwup in TSPlayer 2015-02-28 19:37:06 -07:00
Zack
17ea9e0875 Use the NetItem max inventory when seeding the database. 2015-02-22 17:14:57 -05:00
Lucas Nicodemus
04145a4aca Re-add EnsureExists signature to fix compat with old plugins
Fixes #862
2015-02-22 08:43:12 -07:00
Zack
f9bf470b1d Tick version and update copyright 2015-01-28 15:29:13 -05:00
Zack
fb451c6d49 Update license header for 2014 2014-07-10 21:48:33 -04:00
Zack
915e791406 Initial work to move all Server Side Character code to its own module. 2014-07-10 21:09:32 -04:00
White
3860f39a8b Inserts the right number of elements into tsCharacter, with fixed tabbing 2014-05-21 14:56:23 +09:30
AquaBlitz11
9dbcd59624 Fix word typo
Word is spelled correctly but in wrong order.
2014-05-16 18:06:42 +07:00
Zack Piispanen
0ea58cde3e Update SSC to include quests, skin color, eye color 2014-05-13 23:08:23 -04:00