
justRTP
A premium-quality Random Teleport plugin, offering unparalleled safety, performance, and more
Список изменений
[1] Failed teleports handle money correctly under all timings now. A failed search's economy refund always runs on the server's own thread (before, it could be called from a background thread, which risks corrupting balances in the economy plugin under load, especially on Folia). And when the same player ended up queued twice in the same instant, the losing request used to silently eat its withdrawn cost; it refunds now. The direct (non-queued) teleport path also stopped reading a config key that never existed, so attempts_nether and attempts_end finally apply there too.
[2] /rtp reload is safe while things are running. The cross-server poller no longer restarts against the old settings and then loses its database mid-poll (which threw an error every two seconds until the next reload if you toggled proxy mode off). On Folia, an in-flight search can no longer read a half-rebuilt block or biome blacklist during the reload and land somewhere it should not, and /rtp location no longer misses entries while the location list is being rebuilt. Starting the same pre-generation from the command and the performance panel at the same moment can no longer create a runaway second run that nothing could stop.
[3] The dashboard's in-place config editor and the web panel share one write lock now. Editing config.yml from both at the same time could end with one silently reverting the other's change; writes are serialized.
[4] Plugged two slow memory leaks in the web panel. The login rate limiter kept one entry per source IP address forever (an attacker rotating addresses could grow it without limit), and browser sessions that were simply abandoned were never cleaned out. Both are swept automatically now.
[5] Fixed cross-server zone sync being impossible to switch on. The zone_sync and aliases blocks were shipped nested under redis in config.yml, but the plugin reads them under proxy, so editing the shipped block did nothing. They now live under proxy where they belong, and the config updater moves existing configs over automatically (config-version 42).
[6] /rtp proxystatus tells the truth about Redis now. It read its connection, storage and pubsub details from config.yml paths that do not exist, so it always showed default values and an empty storage list; it now reads redis.yml and the real pubsub key.
[7] Messages, permissions and config cleanup. The near-claim cost check pointed at a message key that did not exist (players saw "Message not found" instead of the price), several world-not-found messages rendered a literal
