[1] Fixed a teleport getting stuck. If you ran /rtp to a world, then ran /rtp to another server, came back, and every /rtp after that said a teleport was already in progress until the server restarted, that is gone. Your teleport state now gets cleared when you leave, get kicked, or get sent to another server, so coming back leaves you free to RTP straight away.
[2] Added a safety timeout on top of that. Even if a teleport gets stuck for some other reason, the lock now releases itself after a set time instead of holding forever. You can tune it with performance.processing_timeout_seconds in config.yml, and the default of 30 seconds is fine for most servers.
[3] Cleaned up a couple of related leftovers. A pending paid teleport confirmation is now dropped when you disconnect instead of lingering, and the matching teleport state is tidied up on quit and kick as well.
[4] Checked it all still runs clean on the latest builds. 1.21.11, 26.1.2, and 26.2 work, and MySQL and Redis behave the same across them since they talk to your database, not to the game version.