Commit graph

4382 commits

Author SHA1 Message Date
Chris
5dcffe52e4
Merge branch 'general-devel' into general-devel 2026-01-18 15:52:12 +10:30
Chris
cae760ad4b
Merge branch 'general-devel' into fix-portal-exploit 2026-01-18 15:46:11 +10:30
Chris
4a37b7d067
Merge branch 'general-devel' into fix-single-player-dead 2026-01-18 15:41:59 +10:30
Chris
6948855a4b
Merge branch 'general-devel' into chore-noshow-kick-message 2026-01-18 15:35:58 +10:30
Cai
e6f3013a76
fix: ignore respawnTimer when players are spawning into the world
* Players who die in single-player mode without respawning should not be marked as Dead on the SSC server.

* In my tests, only the SSC server receives a non-zero `respawnTimer`. Therefore, this may be a client-side bug.

closed: #3151
2026-01-17 20:41:42 +08:00
Cai
0cc0f7733a
fix: allow evil grass to grow during world generation even when Allow...Creep is false 2025-09-26 23:28:00 +08:00
Cai
7c41775d6d
chore: silent kick on invalid client connection 2025-09-17 21:36:30 +08:00
Cai
ed2412fa23
Merge branch 'general-devel' into general-devel 2025-09-01 18:19:34 +08:00
Cai
94838b4ecf i18n: Add missing GetString wrapper for GroupManager 2025-08-12 01:41:10 +08:00
ACaiCat
2ac52cb146 fix(Bouncer): correct debug message of portal gun bolt validation 2025-07-22 19:07:25 +08:00
ACaiCat
9de7ce6957 fix(Bouncer): remove holding a Portal Gun check
* Portal Gun Station also shoot Portal Gun Bolt
2025-07-22 19:03:44 +08:00
ACaiCat
539d8194b4 fix(Bouncer): remove portal bolt position validation 2025-07-22 14:26:34 +08:00
ACaiCat
8f596968e1 feat(Bouncer): add portal validation to block portal exploit
Co-authored-by: LaoSparrow <laosparrow@outlook.com>
Co-authored-by: RuyouSunshine <221790696+RuyouSunshine@users.noreply.github.com>
Co-authored-by: 肝帝熙恩 <111548550+thexn@users.noreply.github.com>
2025-07-22 12:59:46 +08:00
Cai
2cf08d393c Revert "feat(GetDataHandler): add ForceItemIntoNearestChest"
This reverts commit 939d1582f5.
2025-07-12 17:06:21 +08:00
Cai
0b79a6bee4 refactor(Bouncer): remove RangeCheck for ChestOnQuickStack operations and rename method
Players are not able to quick-stack items into out-of-range chests.
2025-06-17 06:44:28 +08:00
Cai
6c500dfa70 fix(Bouncer): players bypass region protection and build permissions when using Quick Stack 2025-06-16 09:05:22 +08:00
Cai
939d1582f5 feat(GetDataHandler): add ForceItemIntoNearestChest 2025-06-16 03:13:26 +08:00
Lucas Nicodemus
3f5c2876a8
Turn off RangeChecks by default
Server operators can opt-in to more security later.
2025-05-25 13:12:29 +09:00
Lucas Nicodemus
10558a0cf4
Create insecure-guest group by default
New insecure guest group is based on https://github.com/Pryaxis/TShock/discussions/2065 and includes vanilla-like permissions.

This discussion item includes tshock.ignore.*, which this change does not include. Attempting to strike a balance between reason and usefulness, most changes are applied for vanilla use, but not hacked client use.
2025-05-25 12:56:04 +09:00
Lucas Nicodemus
dfe0806835
Improve documentation around tile providers 2025-05-25 12:42:01 +09:00
Lucas Nicodemus
93bcd153e4
Change default tile provider to constileation
I don't think there are any downsides to this and it's just better by default.
2025-05-25 12:40:37 +09:00
Lucas Nicodemus
9e09586adb
Kick empty UUIDs by default
UUIDs are sent by all vanilla clients still.
2025-05-25 12:36:54 +09:00
Lucas Nicodemus
35795bd298
Change default config params to be more permissive
Applies changes from https://github.com/Pryaxis/TShock/discussions/2065's suggestions to make the game more familiar for vanilla players. Additionally, turns on IP logging for admins to see who joins by-default (for assistance with whitelisting) and enabled GeoIP by default (it's a fun feature).

Server operators can tune the thresholds as they see fit.
2025-05-25 12:32:44 +09:00
Terrabade
55e80e044c Add player bans to server reload 2025-05-24 11:21:03 +01:00
Lucas Nicodemus
7ea4e1ed3e
Set version to 5.9.9 to be unambiguous 2025-05-16 18:53:21 +09:00
Lucas Nicodemus
0e22e2068a
Merge branch 'general-devel' into general-devel 2025-05-14 19:53:18 +09:00
Lucas Nicodemus
4e707f8715
Merge branch 'general-devel' into fix-sendtilerecthandler 2025-05-14 19:45:42 +09:00
Lucas Nicodemus
a52aab67bf
Merge branch 'general-devel' into general-devel 2025-05-14 18:46:14 +09:00
Cai
167ca4ee01 Merge remote-tracking branch 'origin/general-devel' into general-devel 2025-05-11 12:01:28 +08:00
Cai
7db908195f fix(OnTileEdit): item disappeared when hitting an ItemFrame without permission 2025-05-11 12:00:42 +08:00
Sakura Akeno Isayeki
f5c1bf24c0
refactor: Rename query builder classes for consistency
Standardizes class names for different database query builders, aligning naming conventions across SQLite, MySQL, PostgreSQL implementations, and updating related factory method calls to improve code clarity and maintainability.
2025-05-10 15:28:56 +02:00
Sakura Akeno Isayeki
f0b9424296
style: Correct indentation and formatting
Adjusts comment indentation and aligns property attribute formatting for clarity and consistency in configuration definitions.
2025-05-10 14:55:29 +02:00
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