
justRTP
A premium-quality Random Teleport plugin, offering unparalleled safety, performance, and more
Список изменений
[1] Added a built-in web panel. JustRTP now ships its own dashboard you can open in a browser, no extra software to install. Turn it on with a single switch in the new api.yml, run /rtp api account in-game to get a username and password, and open http://your-server-ip:port/ to sign in. The panel and its API are served from the plugin itself on one address, so there is no cross-origin setup and nothing to wire together.
[2] The panel gives you a real overview. A live status page with players online, server TPS, memory, active zones and cached locations, then teleport analytics: total teleports, success rate, average search attempts, matches formed, a seven day activity chart, and a breakdown of which worlds get used most. All of it is tracked automatically and saved to disk, so the numbers survive restarts and there is nothing to set up.
[3] You can change things from the browser, not just look. Edit each world's minimum and maximum radius and its teleport cost, and flip the common toggles (cooldown, delay, attempts, economy, the gui, first join and respawn RTP, matchmaking) straight from the Config panel. Saving reloads the plugin so it applies at once. Edits are limited to a safe whitelist of settings, so the panel can never write arbitrary keys.
[4] It sees your whole network. When MySQL is connected the Servers page lists every server on the network, with this one marked, so a proxy setup shows up in one place.
[5] It works on deltura.net too, no license key needed since JustRTP is free. You put your Discord ID in api.yml and the server shows up under your account on the website dashboard, next to your other plugins. When central-dashboard is on, the plugin sends only a small online heartbeat (Discord ID, API port, version); no player, teleport or account data ever leaves the server through it. Off by default.
[6] Ownership and access are handled for you. Set your Minecraft name as the owner in api.yml (or just let the first admin who runs /rtp api account claim it automatically) and that account is always a full admin, self-hosted or on deltura, so you cannot lock yourself out. Staff log in with a per-account password (PBKDF2 hashed, never stored in clear), failed logins are rate limited per IP, and sessions expire. What everyone else can do is set by groups in api.yml. There is also an optional IP allowlist and a server-to-server secret key for scripts.
[7] Fixed RTP sometimes taking a long time even when the cache was full. A cached spot that failed its last-second safety check used to fall straight into a slow chunk-generation search and throw the spot away, which also drained the cache faster than it refilled. Now it just tries the next ready spot first, so one stale entry no longer turns an instant teleport into a multi second wait.
[8] The location cache sizes itself now, and it learns. Instead of one fixed number for every world it looks at how many players are online, how fast spots are actually being used, and how much room the server has left (TPS and free memory), keeps a sensible buffer per world between a min and max you choose, and shrinks itself when the server is busy so background searches never fight with gameplay. On top of that it remembers good spots that real teleports find, so they can be reused. Every reused spot is still re-checked right before a player lands on it. It lives in the new location_cache.smart block and is on by default.
[9] Added Air RTP. Turn it on and players drop from the sky under a parachute and glide down to their landing, battle royale style. The canopy is a real display model that opens when it deploys and sways as you fall, and you steer with normal movement. Use it as /rtp air, or set an always mode per world so every /rtp becomes a sky drop. RTP zones can opt in with /rtpzone airdrop
[10] Added a zone browser. /rtpzone gui, or the RTP Zones tile on the dashboard, lists every zone. Left-click to teleport to one, right-click to toggle its air drop.
[11] Trimmed idle load across the network and cache layers. Redis no longer pings the server on every single lookup, database and Redis work runs on its own thread pool instead of the shared one, MySQL and Redis both keep trying to reconnect if they were down when the server started, and a duplicate write plus an ineffective lock around zone sync were cleaned up. Nothing to change on your end.
[12] Made the whole plugin lighter under load. Zone hologram countdowns no longer re-parse their text every second (that was the single biggest thing on the profiler), holograms nobody is looking at do no work at all, the teleport queue stopped scanning its whole backlog on every command and can drain a rush of players faster, per-teleport config lookups got cached, zones are looked up by world instead of scanning every zone on every step, and the location search skips a wasted tick per attempt on Paper.
[13] Added world pre-generation. Build the chunks in an area ahead of time so RTP never has to generate terrain at teleport time, which is the usual reason a first teleport into an unexplored area is slow. Use /rtp pregen with a square, circle or ring shape (ring builds only the outer band you actually land in) and a radius, pick adaptive (pauses when TPS dips) or steady mode, and watch live progress. It skips chunks that are already generated, so re-running over ground you have explored is nearly instant and it never redoes finished work, and it harvests verified safe spots into the cache while it runs so the first teleports into a fresh area are instant. It paces itself and stops cleanly if the world unloads.
[14] Added a performance panel. /rtp performance shows live TPS, memory, cache and queue numbers, runs a real search benchmark so you can see how fast RTP is in a world, and opens the pre-gen controls. You type radius values (the benchmark band, the pre-gen radius and inner radius) straight into chat, and finished runs are saved so you can review them later. It is also a tile on the dashboard.
[15] Fixed teleports landing you in powder snow. The safety check only looked at the block under your feet, so a spot with solid ground but powder snow (or fire, a berry bush, a wither rose, a cobweb, a portal) at foot or head height slipped through and you sank in. Those are all rejected now, and pointed dripstone and sculk shriekers were added to the unsafe list too.
[16] Fixed the cache being skipped for players whose radius differs from the world default (a permission group, say), which was making every /rtp do a slow live search even with a full cache. A ready spot is now served as long as it falls inside that player's own min and max, and spots that do not fit are put back rather than thrown away. The default cache size is now 20.
[17] Added six RTP distribution shapes: ROUND (the classic even spread), SQUARE, RING (land far out), CROSS, STAR and SPREAD (more central). Set it globally in rtp_settings.shape, per world under custom_worlds, or from the dashboard.
[18] The pre-gen panel hands you a live map that fills in with colour as chunks generate, so you can watch coverage grow across the area and see exactly what is done.
[19] Made the safe-location search a lot faster, especially the first teleport into unexplored terrain. Every attempt used to generate a nine-chunk block and wait a couple of ticks, and its height lookup could stall the main thread loading a chunk it had already loaded. Now each attempt loads only the one chunk it checks and reads the height straight from it, so a search that took a few seconds lands in well under a second. Ocean and lava spots are still rejected exactly as before. Nothing to configure.
[20] Config files update themselves cleanly. Drop in a new version and every new option is merged into your existing files, the old file is backed up first, your own values and custom entries are kept, and the new settings apply on the very first start instead of needing a second restart. The dashboard also picks up newly added modules, like Air RTP, on its own.
[21] Steadier under awkward conditions. Worlds loaded after startup, for example by Multiverse, now get their cache prepared without resetting everything else, and the background cache filler can no longer pile up duplicate workers or get stuck on a world.
