Aaron Suen 273b114f6e TODO
2024-02-11 20:51:57 -05:00

131 lines
4.8 KiB
Plaintext

------------------------------------------------------------------------
- Teleportation regression needs to support player:add_pos now.
- Mapgen limit mod:
- Import from my_* mods
- Add a property to the nodes to indicate that they are out of
bounds dummy nodes for maplimitfx mod.
- Make maplimitfx mod detect dummy nodes.
- Check for 1 node at distance limit for each direction.
- Scan inward to find actual limit.
- Handle limit expansion.
- Make one special node for LBM use, add one per mapblock.
- Upon LBM of that node, check for in bounds, and regen.
- Emerge the entire mapchunk.
- Check each block.
- Delete all blocks that match.
- Move motdagree "purge if not verified" logic into a separate mod
- Delete any players automatically if privs do not exactly
match a given set (default to default_privs) when offline.
- Consider moving this into pruneplayers
- Add hooks to check player after leaveplayer,
grant/revoke.
- Add no_newplayers functionality somewhere here.
- Maybe allow a rate limit rather than just toggle.
- Probabilistic rejection with sliding window for fair rate
limiting?
- Rate limit per IP?
- Move joined [new] messages to their own mod
- It's possible to want this functionality separately.
- MOTDAgree probably leaves junk players registered if they were online
at the time of a server shutdown/crash.
- Check if we handled (or can handle) normal shutdown at least.
- Test to see if this is actually a problem.
- Consider adding a sweep for junk players on startup.
- Delete any players who have no privs beyond just the
default privs (assuming registered players always have
gained at least one priv from registering).
- Consider making this a separate mod, or part of
pruneplayers?
- Cross-dimension mapgen limit mod
- From private my_limitmap mods
- Allow multiple regions to be configured
- Fill external regions with barrier nodes
- Configurable barrier nodes? Light propagation?
- Auto-snap to mapchunks
- Keep track of areas containing barriers
- "Delete barriers" command to clear barriers now inside of limit areas
- Restart needs a "machine reboot" option.
- Kick all players, disallow new logins.
- Don't stop the server (or prevent it from restarting).
- Server will be reenabled externally.
- Send a different kick message.
- szutil_cinecam
- optional sprite visual for camera position to show other players?
- use entity attachments instead of relying on fly priv
- clear darken/vignette HUDs if player is removed from cycling
- configurability via settings w/ live updates
- remote control of FOV?
- Check for camera being too close to any solid node (~0.3m)
to avoid near clipping plane issues.
- settingtypes.txt for all mods
- Chat rate limiting mod that only affects open chat and not DM or cmd.
- Cooldown time HUD
- Burst tolerance options
- Delayed privileges mod
- Countdown modes:
- Always-running countdown
- Only-while-online countdown
- Reset-on-rejoin countdown?
- Commands:
- Delayed grant
- Revoke with delayed restoration
- Admin list/cancel/modify delays
- Players see their own delays
- Privilege delay HUD
- Togglable?
- Configurable?
- Commands need to work with basic_privs/privs access control
- Role-like virtual privs that convert to a delay
- Use other mods that interact w/ privs
- Allow creation waiting period via default_privs, motdagree
- MOTD Agree mod
- Initial waiting period in seconds
- Queue system, limit number of players eligible to agree to
rules at the same time
- Rate limit acceptance across all players
- Require another priv to be able to register (allow use of delayed
privs mod)
- Limit time player is allowed to be eligible before kick
- Ability to take away some default_privs on agree (e.g. fly,noclip for initial spectation)
- Option to teleport player somewhere upon agreeing (return to spawn)
- Command alias mod
- Allow players to register short command aliases
- Store in player metadata per-player
- Intercept commands ourselves to handle per-player aliases
- register_on_chatcommand seems like it can intercept the
command before it's looked up in the global table and
prevent normal lookup.
- Make sure we can't alias away our ability to alias/unalias
- Inject command back into on_chat callback system
- Make sure we can't create infinite alias loops
- Allow meta-aliases but only up to a certain depth?
- /lua mod w/ specific priv
- Spectator Mode mod
- Temporarily adjust privs: lose interact, gain fly, etc.
- noclip, teleport?
- Change player visual?
- Remember player position, restore upon leaving.
- Persist watchshare across restarts? Maybe a watchsharesave command to set defaults?
- BUG? szutil_watch needs to save player inventory, watch for race
conditions.
------------------------------------------------------------------------