
justRTP
A premium-quality Random Teleport plugin, offering unparalleled safety, performance, and more
Список изменений
[1] /rtp now works for everyone out of the box. The basic justrtp.command.rtp permission was op-only, so after installing or updating, normal players got "no permission" until you granted it in LuckPerms. It now defaults to true. The sensitive nodes stay op: teleporting to other worlds, to other players, across servers, and custom radius.
[2] Hardened the world redirects. rtp_world_overrides now resolves world aliases for its target and, if the target world has RTP disabled or does not exist, keeps you in your current world instead of making every /rtp fail. Cross-server GUI buttons that point at the server you are already on are hidden, since the command rejects a same-server hop and the button would be dead.
[3] first_world_rtp is more robust. If the teleport cannot find a spot it is retried the next time the player enters the world instead of being silently marked done, and it no longer teleports a player twice when first_join_rtp already sent them into the same world.
[4] Disconnect cleanup now runs once. A kick fires both the kick and the quit event, so the plugin was running its cleanup (and its database calls) twice for a single kick.
[5] Packet-hologram tracking writes are now serialised like the entity-hologram ones, so two zones saving at the same time on Folia cannot corrupt the tracking file and leave orphan holograms.
[6] Fixed and extended /rtp benchmark. The cache benchmark used to fall back to a live search on a cache miss and count that time as a cache serve, so under load it reported multi-second "cache" averages. It now measures only the cache-hit path and honestly reports the hit count (an empty cache shows "0 cache hits" instead of a fake number). The live benchmark is labelled Benchmark(live), the cache one Benchmark(cache), and a new "/rtp benchmark
[7] A paused background cache now recovers on its own. When a world fails to find a safe location several cycles in a row the cache still pauses it (so it stops hammering a world where nothing can be found), but instead of staying off until you run /rtp reload, it retries automatically after a cooldown. If it keeps failing the wait doubles each time up to a cap, so a genuinely misconfigured world backs off instead of spinning, and the moment it finds a spot again it resumes and logs that it recovered. The pause warning now tells you when the next auto-retry is. New location_cache.fail_world_retry_seconds (default 300) and fail_world_retry_max_seconds (default 1800). config-version 54.
[8] Flight no longer breaks the air-drop parachute. Creative fly and /fly plugins let a player float out of the descent and left the canopy rig behind. Flight is now turned off for the drop and restored exactly on landing (air_rtp.glide.block_flight, on by default). You can also list commands that are blocked while parachuting under air_rtp.glide.blocked_commands (fly and tempfly by default), which catches /fly plugins that flip flight on directly. config-version 55.
Verified locally with 200+ concurrent teleports, config auto-repair from an old version (values and comments preserved), and repeated reloads under load (hologram count stays put, no errors).
