aboutsummaryrefslogtreecommitdiff
path: root/sql/schema.sql
Commit message (Collapse)AuthorAge
* organize database configs and schema files + compilation guardsfusion322025-10-10
|
* wrapping up for a public releasefusion322025-08-15
|
* store world hostname and resolve at runtimefusion322025-08-08
|
* fix problem with concurrent writes + implement website queriesfusion322025-08-01
| | | | | | There was a problem with concurrent writes not being visible until after restart, due to how cached prepared statements work with SQLite (see comment in `database.cc`).
* improvements and bug fixesfusion322025-07-22
| | | | | | | | | - Add support for SIGINT and SIGTERM signals for graceful termination. - Properly check premium account status with `EVICT_FREE_ACCOUNTS` query. - Properly check if character is already online before failing game login with "too many characters" error. - Overall cleanup.
* impl LOGIN_ACCOUNT to be used with the login serverfusion322025-07-17
|
* finish game queriesfusion322025-07-15
|
* impl banishment, deaths, and buddies queriesfusion322025-07-14
|
* impl BANISH_ACCOUNTfusion322025-07-13
|
* reorganize query functions and impl SET_NOTATIONfusion322025-07-13
|
* house related queriesfusion322025-07-12
|
* implement more queries + overall improvementsfusion322025-07-11
|
* bare bones query managerfusion322025-07-10
This is a bare bones query manager that will respond just enough queries to get the server running. The overall structure of the tables should be almost set but we'd need to handle all queries to get the server running properly. It uses the SQLite3 3.50.2 amalgamation for a database backend so we can completely avoid having to spin up yet another service for a separate database system, effectively turning the query manager into the database itself. This also means that other services such as the login server and website must go through it to access the data but it shouldn't be too difficult to replicate the querying mechanism from the server. This design choice was made with a single game server in mind. The networking protocol is NOT encrypted at all and won't accept remote connections. For a fully multi-world distributed infrastructure, a distributed database system like PostgreSQL and MySQL should be considered.