22 Commits

Author SHA1 Message Date
Aaron Suen
68eb61b873 Remove stub settingtypes.txt files
These were intended to make it possible to access these settings
in the MT settings UI.  However, apparently it's not possible to
have nil as a default, and MT throws warnings in this scenario.
Remove these settings until that's properly supported.
2024-10-20 11:50:28 -04:00
Aaron Suen
cf819b357d Set Z indexes for all HUDs 2024-09-13 07:00:26 -04:00
Aaron Suen
068dd46ec1 Fix race between player purge and reregister
If a player quits before agreeing to the terms, and gets added to
the purge queue, but then reauths immediately, they can get
re-purged before they finish emerging, causing an assert fail on
trying to record their last login time.

If a player re-registers, immediately remove them from the purge
retry queue, so their login time can safely be recorded.

Also, if the server shuts down with incomplete players in the
"lobby", then add them all to the purge queue too.
2024-08-27 07:16:09 -04:00
Aaron Suen
1ccad0ca3c Cleanup 2024-08-17 22:37:42 -04:00
Aaron Suen
8c2d3f32ae Fix szutil_motdagree purge feature
It seems like auth was being purged, but not player data.
I found 2 possible issues:

- The "cache" table was having keys removed while it was being
  iterated, which could cause skipped pairs.
- I noticed a delay in player data being written to the database,
  so I wonder if write-behind player data was being inserted
  after the deletion was attempted.

The net effect was that player auth data was apparently being
purged reliably, but player character data was being left behind
and cluttering up the database.

To try to fix this, fix the table mutation/iteration conflict,
and schedule multiple deletion retries (for about 15 seconds) to
ensure we really get it.
2024-08-17 22:29:56 -04:00
Aaron Suen
575b3e48ad 5.9.0 hud_elem_type field compatibility 2024-08-15 07:32:55 -04:00
Aaron Suen
3260c78125 Log players agreeing to terms 2024-07-27 09:55:16 -04:00
Aaron Suen
5c8040a2cc Add stub settingtypes.txt files
These are all based on automated detection (intercept the minetest
settings metatable methods) and lack any useful documentation, and
may be incomplete (e.g. missing keys that are only discovered at
runtime based on specific actions).

Eventually these will be filled out and used to document settings,
and make it easier to manage settings in the MT Settings UI.
2024-03-28 09:23:12 -04:00
Aaron Suen
7c813dc4d2 Basic conversion of readmes to markdown format 2023-11-21 22:00:21 -05:00
Aaron Suen
d32a2c856c Build mod summary list automatically
Instead of maintaining the short description of each sub-mod
manually in a giant README file, distribute the short descriptions
into each relevant mod, and then build the README listings
automatically at deploy time.

This should:
- Make it harder to forget to add/remove mods in the list
- Prevent them from being out of alphabetical order
- Ensure each mod has a description for in-menu use
2023-06-20 07:30:35 -04:00
Aaron Suen
1a88d282b7 Support all games 2023-06-20 06:21:15 -04:00
Aaron Suen
cd44c7fc2d Allow individual exceptions to MOTD agree closure 2023-06-10 16:51:28 -04:00
Aaron Suen
b9e80905ac Fix backwards emerging timeout check 2021-03-23 15:43:30 -04:00
Aaron Suen
e83db42fa7 Fix "emerging" players never expiring
Make sure we're comparing times in seconds always,
and never seconds vs. microseconds.
2021-03-23 15:41:37 -04:00
Aaron Suen
ea555a6783 Say "gone" instead of "purge" for account removal 2021-03-14 15:46:17 -04:00
Aaron Suen
660bf3a530 Fix some messages, tag purge departures 2021-03-11 21:34:51 -05:00
Aaron Suen
9ce18fd427 Add all required mod.conf files 2021-03-01 20:04:16 -05:00
Aaron Suen
c8cda0e6cb Add suffix to join message for new players 2020-09-25 08:12:40 -04:00
Aaron Suen
00ca2124d5 Add a lobby limit 2020-09-25 08:07:02 -04:00
Aaron Suen
590ae04fe5 Allow moderators to open/close motd registering 2020-09-25 01:20:14 -04:00
Aaron Suen
21638c35aa Add <phash> tag to motd/motdagree
Each server can now setup unique per-server
per-player hash keys for the "agree to MOTD"
step to ensure that players actually have to
open the MOTD and at least find their
personal key before they can agree.
2020-09-01 20:04:18 -04:00
Aaron Suen
016a74bf91 Imported "agree to terms" mod.
Formerly a private mod on the NodeCore Community server.
Removed nodecore API dependencies, added more configurability.
2020-06-23 07:30:23 -04:00