Commit graph

4346 commits

Author SHA1 Message Date
Sakura Akeno Isayeki
9abeb3c14a
build: Update Npgsql package version to 9.0.3 in project files 2025-05-10 03:41:12 +02:00
Sakura Isayeki
924fa983f6
Merge branch 'general-devel' into feature/database 2025-05-10 03:23:29 +02:00
Luke
df05e94226 Merge remote-tracking branch 'upstream/general-devel' into net9-upgrade 2025-05-09 22:38:33 +10:00
Sakura Isayeki
f59095c848
Merge branch 'general-devel' into feature/database 2025-05-09 12:10:38 +02:00
Lucas Nicodemus
952a6685b1
Version tick: 5.2.4 2025-05-09 16:28:53 +09:00
Lucas Nicodemus
c4dcf9bec1
Merge branch 'general-devel' into feature/default-perms 2025-05-08 09:43:28 +09:00
BuildTools
bd2aafe01a Fix console title not updating and world not saving when the last player disconnects 2025-05-07 15:25:49 +02:00
Sakura Akeno Isayeki
f479e27da6
feat: Add schema filtering for Postgres table col scanning
Modifies the query to ensure it correctly retrieves column names by including the schema check.
2025-05-06 12:09:05 +02:00
Sakura Akeno Isayeki
76b6f56a8f
feat: Add spawning pets perm to default group
Add permission for users to spawn pets for default usergroup.
2025-05-06 11:51:59 +02:00
Sakura Isayeki
54b14d6753
Merge branch 'general-devel' into feature/database 2025-05-03 23:06:14 +02: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
4c13084eb3
fix(db): Fix casing for regions and warps 2025-04-29 02:05:51 +02:00
Sakura Akeno Isayeki
de602a91d4
fix(db): Correct casing and escaping in DB queries
Updates the database queries to handle casing inconsistencies
and improves SQL query parameter escaping for better
security and compatibility.

Refactors group existence checks for simplicity, enhancing
readability and maintainability.

Addresses issues related to unique constraints in user
registration by improving error handling for duplicate
usernames.
2025-04-29 01:38:32 +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
69b98980f1
feat(db): add Postgres support to configuration
Extends database configuration to support Postgres in addition to existing SQLite and MySQL options.

Includes new settings for Postgres host, database name, username, and password.

Implements a connection builder for Postgres, ensuring proper error handling when connecting.

Updates dependency to include Npgsql for Postgres connectivity.
2025-04-28 15:51:27 +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
27fde1f9ac
feat(db): Add Postgres to SQL connection types + Refactor matching logic
Implements pattern matching for easier identification of database types.

Adds support for Postgres alongside existing Sqlite and MySQL types, enhancing flexibility for database connections.

Updates enum to include Postgres type.
2025-04-28 14:17:59 +02:00
Sakura Akeno Isayeki
f28f1bf536
feat(db): Add PostgreSQL query creator implementation
Implements a query creator for PostgreSQL, allowing for proper database type mapping and table creation functionalities.

Enhances the library's database support by incorporating PostgreSQL-specific features such as SERIAL/BIGSERIAL for auto-increment columns and improved escape handling for table names.

Improves the extensibility and compatibility of the database framework with different SQL databases.
2025-04-28 14:09:10 +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
Sakura Akeno Isayeki
0021f9884d
refactor(server/db): Move database connection logic to separate class
Implements a DbBuilder class to streamline the creation of database connections for both SQLite and MySQL storage types.

Enhances error handling for database setup and ensures that necessary directories are created dynamically based on configuration settings.

This refactor improves code maintainability and readability, consolidating connection logic into a dedicated builder class.
2025-04-21 14:04:27 +02:00
Cai
57a3173a4d fix(SpawnHandler): player "break" after respawning 2025-04-04 01:58:55 +08:00
Lucas Nicodemus
d595a3fe0a
Merge branch 'general-devel' into pr3076 2025-03-18 17:04:35 +09:00
SGKoishi
413a2b91e3
Fix Pryaxis/TShock#3073 2025-03-18 17:17:45 +09:00
LaoSparrow
988042e6c1 fix(Bouncer/SendTileRectHandler): two typos which causes incorrect validating range 2025-03-17 22:12:54 +08:00
Lucas Nicodemus
29477ab305
Update version codename 2025-03-15 17:33:04 +09:00
SGKoishi
ea5c274279
Add default permissions 2025-03-15 14:21:28 +09:00
SGKoishi
4e26051869
Fix some confusion introduced by 98eed42 and b184133 2025-03-15 14:09:00 +09:00
Lucas Nicodemus
db9c47d7c0
Version tick: 5.2.3 2025-03-10 01:22:38 +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
Lucas Nicodemus
18ffe08293
Merge branch 'general-devel' into feature/properly-seed-group-names-in-database 2025-03-10 00:56:13 +09:00
Lucas Nicodemus
329fce0089
Merge branch 'general-devel' into feature/properly-seed-group-names-in-database 2025-03-10 00:51:37 +09:00
Lucas Nicodemus
c89c34b356
Merge branch 'general-devel' into add-moondial-permission 2025-03-10 00:49:27 +09:00
Lucas Nicodemus
13a4a0864b
Merge branch 'general-devel' into playerdata-changes 2025-03-10 00:39:33 +09:00
Lucas Nicodemus
531ec1376c
Merge branch 'general-devel' into general-devel 2025-03-10 00:20:50 +09:00
Lucas Nicodemus
25644449e8
Merge branch 'general-devel' into fix-infinities 2025-03-10 00:16:22 +09:00
ohayo
1abb53b22e
Update TShockAPI/TSPlayer.cs
Oops

Co-authored-by: Chris <2648373+QuiCM@users.noreply.github.com>
2025-03-04 21:01:01 +10:00
ohayo
701a7d1ca0
Update TShockAPI/TSPlayer.cs
Co-authored-by: Chris <2648373+QuiCM@users.noreply.github.com>
2025-03-04 21:00:33 +10:00
LaoSparrow
740c5c9250 fix(GetDataHandlers): handle and ignore NpcItemStrike(msgid 24) 2025-03-01 03:53:13 +08:00
LaoSparrow
28aa3aea48 fix(Bouncer/SendTileRectHandler): tile rect changes not synced between clients && unable to place HatRack 2025-03-01 01:42:18 +08:00
LaoSparrow
1e23785a04 fix(Bouncer/SendTileRectHandler): MatchRemoval incorrect check range 2025-02-28 23:01:40 +08:00
ohayo
98eed425e2 Suppress logging of un-spawnable npcs
Not anything related to the handshake fixes, but still a nice fix which could help server owners deal with mischievous client users.
2025-02-12 21:51:14 +10:00
ohayo
56c5865043 Emergency bug fix for handshake on all/server player
The All Player does not have a valid state and because FinishedHandshake is false by default, they would never get time update packets, etc.
2025-02-11 07:47:14 +10:00
Joseph Goh
836cc33c8d rewrite: bed spawning for SSC 2025-02-10 11:42:36 +08:00
Arthri
2053213558 Bounce infinite or NaN velocity / position 2025-02-08 07:13:03 +00:00
ohayo
6d5fff83cf Prevent blank UUIDs from being banned
This fixes a bug with a bad actor getting banned with a blank client UUID and then preventing anyone from joining the server due to a lack of UUID on the Connect Request ban check.
2025-02-08 14:37:48 +10:00
ohayo
de142e419e I guess update the magic number here too? 2025-02-05 09:37:53 +10:00
ohayo
5a23073db5 Suggestions + fix last missed magic number 2025-02-05 09:33:36 +10:00
ohayo
72f529fcb1 Typo fix 2025-02-04 21:24:44 +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
ohayo
ff9cb9f858 Change the cast PacketTypes for 74 to its corresponding definition 2025-02-04 12:13:47 +10:00