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.
Provides links to example connection string formats for SQLite, MySQL, and Postgres to assist users in configuring database connections more effectively.
Allows override of default database connection parameters by providing explicit connection strings for SQLite, MySQL, and PostgreSQL, improving configuration flexibility and setup robustness. Includes refactoring path handling and directory creation for SQLite files.
Allows specifying complete connection strings for SQLite, MySQL, and Postgres, overriding individual host and credential properties when specified, to provide more flexible database configuration.
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.
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.
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.
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.
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.
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.
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.
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.
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.