justRTP | lightweight & fast randomtp icon

justRTP | lightweight & fast randomtp -----

A premium-quality Random Teleport plugin, offering unparalleled safety, performance, and more




[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.

[5] Made cross server teleports land smoother.
----------, Jun 24, 2026

[1] JustRTP now runs across Minecraft 1.21.11 up to 26.2, on Paper, Spigot and Folia. It loads the same as before, nothing for you to change.

[2] Fixed the particles that swirl around RTP zone holograms not showing on newer versions. Particle and sound names in your configs are now read in a way that keeps working as the game renames things, instead of silently breaking on a future update.

[3] Did a deep pass on memory and stability. A handful of background tasks used to quietly stack up every time you ran /rtp reload, the teleport queue, the location cache refill, the database and redis keepalives, and the hologram timers. On servers that reload a lot this slowly ate up CPU and memory over time. They are all tracked and stopped properly now, so reloading stays light no matter how many times you do it.

[4] Cleaned up per-player data that was never being cleared. Cooldowns and small tracking bits for the GUI, spectator switch, near-claim and jump RTP used to linger for every player who ever joined and grow forever on long-running servers. They now get pruned when players leave or their cooldown runs out, so memory stays flat.

[5] Tightened up Folia safety. Cross-server transfers, the delay particle animation, and the packet hologram visibility checks now run on the correct thread, which clears out a class of async-access errors and the odd dropped cross-server transfer under load.

[6] Trimmed wasted work on busy servers. The plugin no longer re-reads mysql.yml from disk on a timer, no longer re-parses the whole config every time a world loads, and the chatty zone-teleport search logging only shows when debug is turned on.

[7] Made /rtp a lot faster. The plugin keeps a small stash of ready safe spots in the background, but until now it was filling that stash and never actually using it, so every single /rtp searched the world from scratch. It pulls from the stash now, so on worlds with the location cache turned on a teleport is close to instant. If the stash happens to be empty, or the spot wouldn't fit your rank's radius, it quietly searches live like before, so nobody ever lands somewhere they shouldn't.

[8] Trimmed the search itself too. When it finds a spot it no longer loads the same chunk a second time to re-check it, it stops looking up the same settings over and over mid-search, and it skips building debug text unless you actually have debug turned on. Where you land doesn't change at all, it just gets there with less work per attempt.
----------, Jun 22, 2026

[1] JustRTP works with AxoHologram now, the same way it already worked with FancyHolograms. Drop AxoHologram on your server and your RTP zone holograms can render through it, no setup, nothing to wire up. If you don't run a hologram plugin at all, JustRTP still falls back to its own display entities like always.

[2] You don't have to pick an engine yourself. On startup JustRTP looks at what's installed and goes with the best one it finds, FancyHolograms first, then AxoHologram, then PacketEvents, then plain display entities. If you'd rather lock it to one, set preferred-engine in holograms.yml to whichever you want.

[3] Your hologram lines don't change. AxoHologram draws the exact text you already have in holograms.yml, with full MiniMessage and per-player PlaceholderAPI, so your gradients, colours and the countdown look the same as before. JustRTP handles the zone holograms start to finish, so you won't get duplicates or stray ones left behind after a restart.

[4] It doesn't care which Java you're on. Whether your server runs Java 21 or Java 25, the AxoHologram link just works.

[5] There's an admin dashboard now. Type /rtp dashboard and a menu opens with every JustRTP feature laid out as an icon, a green dot if it's on and a red dot if it's off. It's staff only, behind justrtp.command.dashboard which is op by default.

[6] Left-click a module to flip it on or off. The change saves and reloads right then, and the menu doesn't close on you, the icon just updates in place so you can keep working down the list.

[7] Right-click a module to open its settings. The on/off switch sits at the top and the values that matter for that feature are below it, stuff like the Jump RTP cooldown, the matchmaking team size, the economy cost or the near-player radius.

[8] True or false settings flip with a single click, no typing. For numbers and text the menu steps aside and lets you type the new value in chat, and you can type cancel any time to back out. Once you're done it saves and drops you back into the same screen with the new value showing.

[9] Pretty much everything is in there. Location cache, teleport queue, smooth transition, the RTP GUI, spectator switch, Jump RTP, near-player, near-claim, matchmaking, first-join RTP, respawn RTP, spawn redirect, the zone countdown title, the /rtpzone command, economy, the cross-server proxy, redis, the update checker and debug logging, plus a General tile for your cooldown, delay, attempts and region-claim setting.

[10] Your config.yml keeps everything you wrote. When the dashboard saves a change it finds the one line it needs and edits just that line, so all your comments and formatting stay exactly where they were, nothing gets reformatted or wiped. If it can't find a setting it tells you in chat and leaves the file alone.

[11] It won't switch on anything risky for you. Economy, the cross-server proxy and redis stay off until you turn them on yourself, since those need Vault, MySQL or Redis set up first. You can still manage all of them from the menu, it just won't enable them behind your back.

[12] A few things need a restart and the dashboard says so. The proxy, redis and the update checker get a little restart marker, and when you turn one on it saves straight away but reminds you a restart is needed before it fully kicks in. Everything else takes effect live.

[13] Jump RTP turns on and off without a restart now, whether you do it from the dashboard or with /rtp reload. Before, that one needed a full restart to take hold.

[14] The console gives you a quick rundown on startup. Right under the JustRTP banner there's a Dashboard line and a two-column list of every module with a check or a cross next to it, and a restart marker where it applies, so you can read your whole setup straight from the log.

[15] Upgrading is painless. Drop in the new jar and your settings carry over. New options get added to your configs on their own, your old files are backed up first, and config.yml is never regenerated, so your comments and layout stay put.

[16] Works on Paper 1.21.11, 26.1.x and Folia, same as always, and it's fully Folia-safe.
----------, Jun 14, 2026

### FIXES

[1] Fixed: server lag when JustRTP was installed on Paper 26.1.2. TPS should now stay at 20 with the plugin loaded
[2] Fixed: teleports felt slow or made the server stutter. Teleports are now smooth and don't hit the server's main loop
[3] Fixed: some background searches were generating extra chunks in worlds you don't actively play in. They no longer do that

### COMPATIBILITY

[4] Works on Paper 1.21.11, Paper 26.1.2, and Folia

### FOR SERVER ADMINS

- Just drop the new JAR in and restart. Nothing to change in your config
- Your settings stay the same
----------, May 14, 2026

### CRITICAL FIXES
[1] TPS dropping to ~10 immediately after installing the plugin on Paper 26.1.2. The location cache was hammering chunk generation: `shouldGenerateChunks` default in 3.5.2 was `true` and the fill worker had no throttle. Default reverted to `false` (chunk generation now opt-in per world)
[2] Sustained TPS drop after 3.5.2 upgrade traced to background cache filling for `world_the_end` with `generate_chunks: true`. End chunks are sparse and unexplored — every cycle generated dozens of chunks. Default for End flipped to `generate_chunks: false`
[3] HologramManager startup sweep was iterating every loaded chunk in every world. Replaced with targeted lookup of known hologram UUIDs from `display_entities.yml`
[4] PacketHologramManager particle task fired every 10 ticks even when no holograms existed. Now early-returns on empty
[5] `smooth_transition` preload was hardcoded to generate chunks (`PaperLib.getChunkAtAsync(.., true)`). Now non-generating by default; the actual teleport still loads/generates the destination. Configurable via `smooth_transition.generate_chunks`
[6] `smooth_transition.chunk_preload_radius` default lowered from 2 (5×5 = 25 chunks) to 1 (3×3 = 9 chunks)
[7] Cache refill worker now throttles between successive fills via new `location_cache.fill_throttle_ticks` (default 10)
[8] Background cache for a misconfigured world no longer retries forever. New `location_cache.fail_world_disable_after_attempts` (default 3) disables cache for a world that fails N consecutive cycles. Re-enable via `/rtp reload` after fixing config
[9] `JumpRTPListener` no longer reads YAML on every PlayerMoveEvent. `ConfigManager` caches `jump_rtp.enabled` and `jump_rtp.enabled_worlds` as fields populated on reload. New helper `isJumpRtpEnabledInWorld(worldName)` does one HashSet lookup per move

### CONFIG
[10] New `location_cache.fill_throttle_ticks` (default 10)
[11] New `location_cache.fail_world_disable_after_attempts` (default 3)
[12] New `smooth_transition.generate_chunks` (default false)
[13] `world_the_end.generate_chunks` default changed from `true` to `false` in `location_cache.worlds`
[14] `smooth_transition.chunk_preload_radius` default lowered to 1
[15] `location_cache.cache_size` and `location_cache.refill_interval_seconds` keys exposed in defaults

### COMPATIBILITY
[16] Verified on Paper 26.1.2, Paper 1.21.11, Folia 1.21.x, Folia 26.1.x.

### FOR SERVER ADMINS
- If you saw sustained low TPS after installing 3.5.2 or earlier 3.5.3 — this build fixes it. No config edits required
- Want background cache for a specific world? Set `location_cache.worlds.<world>.generate_chunks: true` explicitly
- End RTP still works on demand (per `/rtp world_the_end` command). The change only affects passive background pre-caching
- If a misconfigured world keeps spamming "Failed to find a safe location" warnings, the cache will now auto-disable for that world after 3 cycles. Fix the config and `/rtp reload` to re-enable
----------, May 2, 2026

### NEW FEATURES
[1] Smooth teleport transition: pre-loads destination chunks plus short blindness/slow-falling/resistance so players don't see void. Configurable via `smooth_transition` block

### CRITICAL FIXES
[2] Nether RTP failing with `UNKNOWN: 50` — air check now uses `Material.isAir()` so CAVE_AIR and VOID_AIR match
[3] Shutdown crash `IllegalPluginAccessException` — FoliaScheduler runs one-shots inline when the plugin is disabled
[4] End RTP failing on unexplored chunks — `world_the_end` added to default location_cache, and `shouldGenerateChunks` default flipped to `true`
[5] `/rtp world` getting stuck on the cross-server queue when a server alias matched a local world name — parser now checks worlds first
[6] Action bar showed `1m 22ss` — removed trailing `s`, formatDuration already includes the unit
[7] Empty `""` lines in `chat_message` are no longer skipped
[8] `<x>` `<y>` `<z>` `<world>` `<player>` placeholders work in `effects.title`, `effects.action_bar`, `effects.chat_message`
[9] PlaceholderAPI placeholders (e.g. `%rp_left_click%`) now expand in RTP GUI items
[10] RTP GUI close button can be removed cleanly (`enabled: false`, missing slot, or empty section)
[11] RTP GUI decoration items honor `enchanted: true`
[12] `smooth_transition` and `zone_title` auto-apply to existing installs — config-version bumped to 33
[13] `zone_particles.yml` is now registered with ConfigUpdater so future fields migrate automatically

### IMPROVEMENTS
[14] `effects.teleport_delay_bar.text` from config.yml now beats `teleport.delay_actionbar` from messages.yml
[15] Title and action bar effects no longer return early on whitespace-only text
[16] zone_particles.yml updated

### FROM PULL REQUEST #10
[17] Folia chunk-ticket and `chunk.getEntities()` calls in PlayerListener now wrapped in `runAtChunk`
[18] `DatabaseManager.isConnected()` is non-blocking — volatile flag, async 30s validator, reconnect-storm guard
[19] `JustRTP.onDisable` null-safe when `rtpLogger` failed to init
[20] AnimationManager double-recreation removed from `reload` — active animations preserved
[21] `RTPMatchmakingManager.restart()` called from reload, plus `Math.max(1, tick_interval)` clamp
[22] `processMatch` fallback uses the verified-safe central location instead of the unverified offset point
[23] Rich `/rtp queue status` — position, waited time, ready indicator, other-world queues
[24] Global `zone_title` config block — default countdown title for all zones
[25] `<time>` placeholder works in zone `main_title` too
[26] `DataManager` lazy init rewritten with volatile + DCL

### CONFIGURATION
[27] New `smooth_transition` block in config.yml
[28] New `zone_title` block in config.yml (PR #10)
[29] New `matchmaking.status_*` keys in messages.yml (PR #10)
[30] `world_the_end` added to default `location_cache.worlds`
[31] `shouldGenerateChunks` default flipped to `true`
[32] `zone_particles.yml` registered with ConfigUpdater
[33] config.yml v33, messages.yml v21

### COMPATIBILITY
[34] Verified on Paper 1.21.11, Paper 26.1, Folia 1.21.x, Folia 26.1

### FOR SERVER ADMINS
- Nether `UNKNOWN: 50` and "Pausing searches" — fixed
- Shutdown `IllegalPluginAccessException` — fixed
- `/rtp world` stuck on queue — fixed
- Smooth transition is on by default; disable with `smooth_transition.enabled: false`
- PAPI now works in RTP GUI items
- `<x>` `<y>` `<z>` placeholders work consistently across title, action bar, and chat messages
----------, May 1, 2026

### NEW FEATURES
[1] **NEW FEATURE**: Cylinder RTP zones - circular zone regions for round arenas, towers, and non-rectangular waiting areas
[2] **NEW FEATURE**: Block-selection RTP zones - pick individual blocks with a wand to build irregular, non-cubic arena shapes
[3] **NEW FEATURE**: Shape-aware zone wands - each shape gets its own wand (BLAZE_ROD for cuboid/blocks, END_ROD for cylinder) with shape-specific lore
[4] **NEW FEATURE**: Zone particle system - 5 premade animated styles (OUTLINE, BEAM, SWIRL, PULSE, DUST_WALL) plus NONE, all shape-aware
[5] **NEW FEATURE**: Live setup particle preview - while in `/rtpzone setup`, particles show the current selection in real time so admins can see exactly what they're building
[6] **NEW FEATURE**: Per-zone particle style configurable via `/rtpzone particles <zone_id> <style>` with tab completion
[7] NEW: `/rtpzone setup <id> [cuboid|cylinder|blocks]` - choose zone shape at setup time (defaults to cuboid for backward compat)
[8] NEW: `/rtpzone done` - finish block selection and continue setup flow
[9] NEW: Cylinder setup - left-click sets center, right-click on edge measures radius, or type radius in chat; Y-range configurable per zone or `auto` for full world height
[10] NEW: Block setup - left-click adds block, right-click removes, shift+left-click clears selection
[11] NEW: New `zone_particles.yml` config with per-style particle, color, density, and animation speed settings

### CRITICAL FIXES
[12] **FIXED**: respawn_rtp not working on Folia - PlayerRespawnEvent fires during a player state transition on Folia and returns stale world data, causing the respawn teleport to never trigger. Switched to PlayerPostRespawnEvent (Paper API) which fires after respawn completes, ensuring reliable respawn RTP on both Paper and Folia servers
[13] **FIXED**: Zone holograms not appearing after server restart, player rejoin, or world change - visibility was only pushed once at hologram creation, missed if timing did not line up with player join. Added a periodic 5-second visibility sweep over all online players plus three staggered join refreshes (1s, 3s, 6s after join). Holograms now appear without needing `/rtp reload`.
[14] **FIXED** (PR #9): Folia thread-safety violations across NearClaimRTPManager, HologramManager cleanup, JumpRTPListener, RTPService border tracking, and bundled bStats Metrics. Async block reads, off-region entity removals, parallel HashMap writes, and hardcoded Bukkit.getScheduler() calls all corrected for Folia 1.21.x and 26.1
[15] **FIXED** (PR #9): Matchmaking spread distance bug - per-player safety search was passing absolute coordinates as min/max radii, scattering duel partners hundreds of blocks apart on servers with non-zero spawn coords. Fixed to pass proper `(0, safety_search_radius)` distances
[16] **FIXED**: RTPCommand nearplayer was using synchronous `player.teleport()` while every other path used `teleportAsync` - inconsistency causing potential hangs on Folia, now async everywhere

### COMPATIBILITY
[17] **COMPATIBILITY**: Minecraft 26.1 (released March 24, 2026, protocol 775, data version 4786) verified working alongside 1.21.11. Plugin compiled against Paper 1.21 API with `api-version: '1.21'` so a single JAR runs on both versions. No code changes needed - new 26.1 blocks (e.g., GOLDEN_DANDELION) and data-driven villager trades do not affect teleport logic. Server-side Java 25 requirement for 26.1 does not affect the plugin (Java 21 bytecode runs on the Java 25 JVM)

### CONFIGURATION
[18] NEW: `shape` field on zone config entries - `CUBOID`, `CYLINDER`, or `BLOCKS`
[19] NEW: Cylinder fields - `center`, `radius`, `min-y`, `max-y`
[20] NEW: Blocks field - `blocks: [x,y,z, ...]` list of block coordinates
[21] NEW: `particle-style` field per zone - persists chosen particle style across restarts
[22] NEW: `zone_particles.yml` - 5 premade styles + global tuning (`update_interval`, `render_distance`, `max_particles_per_tick`, `setup_preview`)
[23] NEW: `matchmaking.safety_search_radius` (default 5) - tunable safety search radius for matchmaking spread (PR #9)
[24] CONFIG: rtp_zones.yml version bumped to 13 - existing cuboid zones auto-migrate without changes
[25] CONFIG: messages.yml version bumped to 21 - new zone setup messages for cylinder/block modes and particle commands

### IMPROVEMENTS
[26] IMPROVED: Particle system uses chunk-batched dispatch on Folia (one task per chunk instead of per particle) and direct inline spawning on Paper - no scheduler overhead in either case
[27] IMPROVED: Particle Y-range automatically clamped to a window around the zone center, so `auto` Y-range cylinders/cuboids no longer waste the per-tick particle budget on locations far below the player's view
[28] IMPROVED: Zone region logic refactored to a `ZoneRegion` interface - cleaner separation of cuboid/cylinder/blocks containment checks
[29] IMPROVED: Tab completion for `/rtpzone setup <id> <shape>`, `/rtpzone done`, and `/rtpzone particles <zone> <style>`
[30] IMPROVED: Respawn RTP scheduler delay bumped from 1 to 2 ticks for extra entity state stability
[31] IMPROVED: Early-return safety check added to respawn RTP handler when player goes offline during the delay
[32] IMPROVED: Zone setup messages carry a `<shape>` placeholder so admins can see which shape they started
[33] IMPROVED (PR #9): JumpRTPListener atomic via ConcurrentHashMap + `compute(...)` - parallel PlayerMoveEvent on Folia no longer races
[34] IMPROVED (PR #9): RTPService border-warning set is now ConcurrentHashMap.newKeySet() - prevents duplicate border warnings under parallel findSafeLocation
[35] IMPROVED (PR #9): Tab completer now exposes `queue`, `matchmaking`, `sendlocation` plus their sub-args and world suggestions
[36] IMPROVED: Existing zones loaded without `particle-style` field automatically pick up the global default style on next reload

### FOR SERVER ADMINS
- Existing cuboid zones continue to work unchanged (auto-detected when `shape` is missing)
- Circular arenas: `/rtpzone setup my_arena cylinder`
- Non-cubic arenas (stairs, L-shapes, scattered platforms): `/rtpzone setup my_arena blocks`
- All three shapes share the same teleport, hologram, particle, and effects system
- Change zone particles live: `/rtpzone particles my_arena swirl` (or `outline`, `beam`, `pulse`, `dust_wall`, `none`)
- If you run Folia/Canvas and respawn_rtp wasn't teleporting players on death, this update fixes it
- Holograms missing on restart/rejoin/world change? Fixed in this version - no more `/rtp reload` workaround needed
- Matchmaking duels scattered too far apart? Fixed - and tunable via `matchmaking.safety_search_radius`
----------, Apr 29, 2026

### NEW FEATURES
[1] **NEW FEATURE**: Void World RTP Support - new `VOID` world type for skyblock, oneblock, and void arena worlds
[2] NEW: `void_world.spawn_y` config option (default: 64) - configurable Y level for void world spawns when no solid ground exists
[3] NEW: Void worlds prefer solid ground when available (platforms, islands) and fall back to spawn_y only when the world is truly empty
[4] NEW: Full biome restriction and region protection support in void worlds
### CRITICAL FIXES
[5] **FIXED**: Inventory drag exploit affecting ALL server GUIs
[6] **FIXED**: Folia threading violation in onPlayerDropItem - accessing ItemEntity state from wrong region thread caused IllegalStateException on Folia/Canvas servers. Now checks setup mode first (skips entity access for 99.9% of events) with safe fallback for cross-region edge cases
### IMPROVEMENTS
[7] IMPROVED: Update checker endpoint issue fixed
[8] IMPROVED: Void world spawn Y is bounds-checked against world min/max height to prevent out-of-bounds errors
[9] IMPROVED: SafetyValidator correctly skipped for void world locations to prevent false rejections
### CONFIGURATION
[10] CONFIG: New `VOID` option in `world_types` section - set any world to `"VOID"` for void world RTP support
[11] CONFIG: New `void_world` section with `spawn_y` setting for void world spawn height
[12] CONFIG: All changes fully backward compatible
----------, Apr 17, 2026

[1] Added Paper 26.1 / Minecraft 26.1 support compatibility
[2] Updated update checker endpoint from api.kotori.ink to api.deltura.net - old domain was retired, causing update checks to silently fail
[3] Fixed some issues with 1.21.11 paper
----------, Apr 10, 2026

[1] Fixed "unknown world" console errors on startup - ConfigUpdater now reads config-version via plain text instead of triggering Bukkit Location deserialization on rtp_zones.yml and cache.yml
[2] Fixed hologram text changes in holograms.yml not applying after restart or reload - FancyHologramManager was preserving old persistent data instead of reading updated config
[3] Fixed hologram templates not reloading on `/rtp reload` - reloadTemplates() now applies config changes to all active FancyHolograms immediately
[4] Added text-based version update for files containing serialized Bukkit objects (rtp_zones.yml, cache.yml) to prevent Location deserialization errors during config migration
[5] Improved FancyHologram lifecycle - holograms.yml is now the single source of truth for templates on create, load, and reload
[6] Fixed /rtp command showing usage message instead of working - alias enabled check defaulted to false, breaking all aliases when commands.yml was missing, empty, or failed to load
----------, Apr 6, 2026

[1] **SECURITY FIX**: GUI Item Extraction Exploit - Players can no longer drag items from GUI during lag
[2] **SECURITY**: Comprehensive inventory drag event protection with multi-layer validation
[3] **SECURITY**: Enhanced click protection - blocks shift-click, hotbar keys (1-9), and all interaction types
[4] **NEW FEATURE**: Console-Initiated RTP Message - Custom message when console/portal executes RTP
[5] **NEW**: `teleport.console_initiated` message key for automated RTP systems
[6] **NEW**: Full support for command blocks, portals, and automated teleportation
[7] **FIXED**: Race condition in matchmaking queue join - synchronized queue size reading
[8] **FIXED**: NPE prevention in async teleport chains - added player online checks
[9] **IMPROVED**: GUI security with InventoryDragEvent handler blocking all drag attempts
[10] **IMPROVED**: Click validation checks inventory type, shift-click, and hotbar button presses
[11] **IMPROVED**: Debug logging for security events - tracks all blocked GUI interactions
[14] **MESSAGES**: Added console_initiated key for portal/console RTP notifications
[15] **THREAD SAFETY**: NPE-safe async chains with online status validation
[16] **COMPATIBILITY**: Fully backward compatible - all security fixes are transparent
----------, Apr 1, 2026

[1] **NEW FEATURE**: Economy Refund System - Players automatically refunded if RTP fails after payment
[2] **NEW FEATURE**: RTP Matchmaking Queue - Players can queue together for PvP duels (1v1, 2v2, etc.)
[3] **NEW FEATURE**: Console Send Location Command - Admins can teleport players to specific coordinates
[4] NEW: `economy.refund_on_fail` config option (default: true) - enables automatic refunds on failure
[5] NEW: Complete matchmaking system with `/rtp queue join/leave/status` commands
[6] NEW: `/rtp sendlocation <x> <y> <z> <world> <player>` admin command for precise teleports
[7] NEW: Matchmaking configuration section with team_size, spread_distance, tick_interval, queue_timeout
[8] NEW: VaultHook.depositPlayer() method for economy refunds
[9] IMPROVED: Economy system now handles failed teleports gracefully with automatic refunds
[10] IMPROVED: Players can find dueling partners via matchmaking queue system
[11] IMPROVED: Admins have more control with direct coordinate teleportation
[12] CONFIG: New `matchmaking` section with full queue configuration options
[13] CONFIG: New `economy.refund_on_fail` option for failed RTP refunds
[14] MESSAGES: Added 14+ new message keys for matchmaking, refunds, and sendlocation
[15] PERMISSIONS: New `justrtp.command.rtp.matchmaking` permission for queue access
[16] PERMISSIONS: New `justrtp.bypass.default_world` permission added
[17] COMPATIBILITY: Fully backward compatible - all new features are optional
----------, Mar 21, 2026

[1] **NEW FEATURE**: Auto-open GUI option - `/rtp` can now automatically open the GUI instead of direct teleport
[2] **IMPROVED**: Disabled by default to preserve traditional `/rtp` behavior
[3] **FEATURE**: Hub servers can force players to choose worlds visually via auto-open GUI
[4] **FEATURE**: Traditional `/rtp <world>` commands still work for direct teleportation
[5] **FEATURE**: Added command alias support – `/rtp base` can now be configured as an alternative command
[6] **FEATURE**: WorldGuard support for `/rtp nearclaim` – allows RTP near protected regions
----------, Mar 15, 2026

[1] **NEW FEATURE**: Smart cost formatting - displays clean numbers (100 instead of 100.00)
[2] **NEW FEATURE**: Separate actionbar message for teleport delay countdown
[3] **FIXED**: RTP GUI now enabled by default in config
[4] **FIXED**: Type casting errors in GUI system resolved
[5] **IMPROVED**: Cost display shows 100, 100.5, or 100.25 based on actual value
[6] **IMPROVED**: Cleaner economy messages throughout the plugin
[7] ENHANCED: FormatUtils helper class for consistent number formatting
[8] STABILITY: Enhanced reliability for GUI and update checker systems
----------, Mar 12, 2026

[1] **NEW FEATURE**: Added configurable dynamic pitch toggle for delay countdown sounds
[2] **NEW FEATURE**: Delay sounds can now keep constant pitch by setting `dynamic_pitch: false`
[3] **NEW FEATURE**: Cross-server RTP support added to GUI system
[4] **NEW FEATURE**: GUI world buttons can now teleport to other servers via `server_name` configuration
[5] **NEW FEATURE**: Added `<server>` placeholder to GUI lore (shows "Local" or server name)
[6] IMPROVED: Enhanced RTP GUI with network-wide teleportation capabilities
[7] IMPROVED: Delay sound system now more customizable with static pitch option
[8] IMPROVED: Cross-server GUI buttons automatically use `/rtp <server>:<world>` format
[9] IMPROVED: GUI lore dynamically shows server information for cross-server worlds
[10] CONFIG: Added `dynamic_pitch` option to `effects.teleport_delay_sound` section
[11] Full backward compatibility with existing configurations
[12] Cross-server GUI teleportation functions properly with MySQL proxy
[13] OPTIMIZED: Server placeholder efficiently shows local vs remote server status
----------, Mar 5, 2026

[1] CRITICAL FIX: Chunk generation corruption causing flat borders, missing chunks, and weird terrain generation
[2] CRITICAL FIX: Removed problematic chunk preloading that was causing corruption
[3] CRITICAL FIX: Now relies on PaperLib.teleportAsync() for safe chunk loading/generation
[4] 1.21+ FIX: Updated Registry.BIOME to use modern RegistryAccess API (deprecated API removed)
[5] IMPROVED: Works perfectly in both explored AND unexplored worlds
[6] IMPROVED: Enhanced Folia 1.21.11 and Paper 1.21+ full compatibility
[7] IMPROVED: PaperLib handles chunk generation safely with neighbor chunk loading on 1.15+
----------, Feb 28, 2026

[1] Added option to disable the Update Checker and message: `c
heck_for_updates:`, `
notify_ops_on_update` in config.yml
----------, Feb 27, 2026

[1] FIXED: Holograms disappearing after player teleportation (RTP) - now properly refresh visibility on world change and teleport events
[2] FIXED: Display entity holograms not respawning when chunks unload - added entity validity checks to detect dead holograms
[3] FIXED: PacketEvents holograms not updating for players after teleport - added automatic visibility refresh
[4] FIXED: FancyHolograms not refreshing for players after world change - added force update mechanism
[5] IMPROVED: Hologram healer task interval reduced from 5 seconds to 2 seconds for faster recovery
----------, Feb 19, 2026

[1] NEW: Added RTP near online players feature with `/rtp nearplayer [world]` command
[2] NEW: Added SimpleClaimSystem hook integration for region protection
[3] NEW: Configurable nearplayer settings (min/max radius, silent mode, self-targeting)
[4] NEW: Tab completion and help integration for nearplayer command
[5] FIXED: Issue where Cross Server teleports did not respect custom max Radius correctly
----------, Feb 14, 2026

[1] CRITICAL FIX: Resolved infinite teleport loop race condition in async queue
[2] CRITICAL FIX: Resolved infinite teleport loop for non-OPs (bug in DelayManager)
[3] CRITICAL FIX: Removed duplicate "[JustRTP]" log prefix in console output
[4] FIX: Ensuring debug logging respects config reload immediately
[5] Updated internal dependencie for full Paper/Folia 1.21.11 compatibility
----------, Jan 31, 2026

[1] Migrated entire logging system to categorized RTPLogger for professional diagnostics
[2] Implemented premium dynamic pitch feedback for teleport warmups (escalating pitch)
[3] Added multi-server target support for RTP Zones via comma-separated string lists
[4] Optimized sound and actionbar tasks to significantly reduce redundant config I/O
[5] Fixed -c flag logic to strictly enforce delay/cooldown regardless of bypass permissions
[6] Added logic for selecting random target servers per teleport wave in cross-server zones
[7] Standardized all console output with unified headers, banners, and status indicators
[8] Improved FancyHolograms integration stability during concurrent zone updates
----------, Jan 30, 2026

[1] Fixed per-world permission group cooldowns overriding each other
[2] Prevented disabled command aliases from being registered or suggested
[3] Implemented permission-based filtering for the /rtp help command
[4] Added proper handling for disabling the /rtpzone command and improved its permission logic
----------, Jan 10, 2026

[1] Fixed Issues with Permissions
[2] Fixed minor issues with folia
[3] Other small changes/improvements
----------, Dec 31, 2025

[1] Fixed Issue about random players being teleported
[2] Fixed Issue with World Border
[3] Mostly minor improvements
----------, Dec 28, 2025

[1] Probably fixed Folia Region bug
[2] Fixed enabled world error
[3] Fixed "-c" option in /rtp
[4] Small fixes & other adjustments
----------, Dec 11, 2025

[1] Fancyholograms issue with not saving was fixed
[2] /rtp is not a default cmd anymore and requires 'justrtp.command.rtp' permission
[3] Fixed some bugs
----------, Nov 30, 2025

[1] Probably fixed Issues with fancyholograms
[2] Added API -> https://kotori.ink/wiki/justrtp/api
[3] Fixed Several Reload Issues
[4] Added KingdomX/Lands Support
[5] Added new config feature
----------, Nov 19, 2025

[1] Added time formatting placeholder
[2] Implemented OP and permission-based cooldown bypass system
[3] Added ability to disable messages -> ("")
[4] New radius based pricing system with configurable tiers
[5] Added dynamic cost calculation based on player-selected radius
----------, Nov 2, 2025

[1] Fixed Issues with Sounds
----------, Oct 27, 2025

[1] Fixed Issue with 1.21.4 and below
----------, Oct 26, 2025

[1] Added new Placeholders -> See Github
[2] Added Fancyholograms Support (Experimental - bugs may appear)
[3] Fixed Per World Cooldowns
[4] Updated dependencies to latest versions
[5] Updated Cooldown warnings (every second now)
[6] Small additional changes and fixes
----------, Oct 26, 2025

  • Fixed RTPZone (previously in a buggy state)
  • Resolved a critical issue where materials like Snow, Grass, etc. were incorrectly identified as Air
  • Fixed excessive console debug messages appearing even when debug mode was disabled
    → Critical errors will now always display debug information
----------, Oct 24, 2025

- Fixed RTPZone
- Placeholders fixed
- updated github page
----------, Oct 16, 2025

- Added Cross Server auto complete (server:world)
- Fixed RTPZone and overall Nether root teleporting
- You can now use packetevents for holograms (more optimized)
- Fixed some issues with redis and mysql
- Updated some messages and added tips
- Updated some yml files with clearer descriptions
----------, Oct 14, 2025

  • Fixed spawning on Nether Roof
  • Updated and adjusted messages
  • Fixed issues with Redis
  • Optimized the plugin
  • Fixed spam messages
----------, Oct 10, 2025

  • Added Redis (experimental, use with caution)
  • Added Zone Sync
  • New Features + QoL Stuff
  • Fixed some bugs & issus
----------, Oct 6, 2025

- Fixed Critical bug where players could teleport with having the permission justrtp.command.rtp.others.

- Probably fixed weird glitch where players teleported in a random world?!
- Fixed unlimited /rtp usages while teleport process.
----------, Sep 3, 2025

some fixes
----------, Aug 13, 2025

Bug fixes
----------, Aug 13, 2025

Probably fixed a weird bug that teleports other players instead
of the caller
----------, Aug 11, 2025

You can use <server>:<world> when teleporting

Added Version Checker

New Startup Design
----------, Aug 9, 2025

on_leave title fixed
RTPzone hologram fixed
RTPZone teleportation fixed and optimized

Invalid/(blacklisted values are now not shown anymore in TabComplete


Small changes/fixed and more optimization
----------, Aug 9, 2025

Improved Cross-Server Teleportation (RTP Zone):
Players within the same RTP zone are now grouped into a single queue. This allows the target server to preload chunks and teleport all players at the same time safely and efficiently.

Bug Fixes:
  • Fixed an issue where holograms could stack incorrectly.
  • Setting a message to "" in the config will now correctly result in a blank message.
New Config Option:

yaml
# Number of players to teleport from the queue each time it is processed.
# Increasing this value can significantly speed up teleports on busy servers.
queue_batch_size: 5
----------, Aug 4, 2025

fixed Issues with new Versions
probaby fixed RTPZone multi player teleport
----------, Aug 3, 2025

fixed END DImension teleportation
----------, Aug 1, 2025


More Stable
Fixed Critical Bugs
----------, Aug 1, 2025

[+] Added folia/paper 1.21.7 support
----------, Jul 28, 2025

[+] Added World Aliases
[/] Fixed Folia Issue using RTP Zone (probably)
[/] More Fixes and Optimizations
----------, Jul 28, 2025

- [/] Fixed and adjusted things
----------, Jul 28, 2025

[+] Key Highlights
  • ⚔️ NEW - Arena-Style RTP Zones: Create dynamic zones where all players inside are teleported together on a global timer to a random location in a target world or even another server! Perfect for automated PvP events, boss fights, or server-wide adventures.

  • ✨ NEW - Persistent Zone Holograms: Place beautiful, customizable holograms at the center of your RTP Zones. They display a live countdown, persist through server restarts, and are managed with simple in-game commands.

  • Reworked Cross-Server Teleportation: The entire proxy teleport system has been re-engineered for stability and performance, now fully supporting group teleports for RTP Zones across your network.
[/] New Features & Quality of Life
  • Interactive Zone Setup: A new guided command, /rtpzone setup <id>, walks you through creating a complete arena zone step-by-step, including setting the teleport timer, target destination, and random teleport boundaries.

  • Zone Effects Engine: Each RTP Zone can have its own unique set of effects. You can now configure:
    • on_enter effects (titles/sounds) for when a player enters a zone.

    • on_leave effects for when they exit.

    • teleport effects that play for the entire group on teleport.
  • Zone Ignore Command: Players can now use /rtpzone ignore to toggle whether they are included in zone teleports, giving them control over their experience.

  • Server Aliases: You can now set user-friendly display names for your proxy servers in config.yml. The plugin will show "Survival" in messages instead of a technical name like "survival-1".

  • Hologram Customization: The new holograms.yml file allows you to globally configure the text, line spacing, and particle effects for all zone holograms.

  • Nether: Spawning in lava when teleporting in nether is now fully fixed.

[/] Command & Permission Updates
  • New Commands Added:
    • /rtpzone setup <id>

    • /rtpzone sethologram <id> [y-offset]

    • /rtpzone delhologram <id>

    • /rtpzone ignore
  • New Permissions Added:
    • justrtp.admin.zone for all zone management.

    • justrtp.command.zone.ignore for the player-facing ignore command.
----------, Jul 27, 2025

[+] Key Highlights
  • Teleport Cost Confirmation: A new optional /rtp confirm step can be enabled to avoid accidental charges when teleports cost money.
[-] Major Bug Fixes & Critical Improvements
  • Cooldown Reset on Fallback: If a cross-server RTP fails, the player’s cooldown is instantly reset, and they’re notified.

[/] New Features & Quality of Life
  • Teleport Cost Confirmation Toggle: New config option: economy.require_confirmation. When enabled, users must run /rtp confirm to accept a paid teleport.

  • Improved "Cancel on Look" Sensitivity: The cancel_on_look feature now includes look_sensitivity_threshold in config.yml to fine-tune sensitivity.

[/] Behind the Scenes & Optimizations
  • "Moved Too Quickly" Warning Fixed: Teleport logic is now more stable and reduces console spam. Smoother experience overall.

  • Efficient Chunk Handling: Still uses fast asynchronous loading with PaperLib. Chunks are briefly loaded for checks only, no memory bloat or lag.
----------, Jul 25, 2025

Many fixes
----------, Jul 24, 2025



Key Features & Improvements
[+] Intelligent Command System

  • Choose Your Commands: You are now in complete control. A new commands.yml file lets you enable or disable any command alias (/rtp, /wild, /randomtp, etc.).
  • Clean and Conflict-Free: By disabling aliases you don't need, you ensure a smooth experience for your players and prevent confusing command overlaps.

[+] Comprehensive Bug Fixes & Stability Hardening
  • 'Cancel on Look' Fixed: The long-standing bug where the cancel_on_look setting was ignored has been permanently resolved.
  • 'Blacklist:' A new Blacklist/Whitelist feature is now live!
----------, Jul 24, 2025

fixed some bugs
----------, Jul 24, 2025

Added Animation Engine (animations.yml)
fixed cancel on look feature
----------, Jul 23, 2025

[+] Config to edit the teleport chat message
----------, Jul 23, 2025


Auto Config Updater
much more fixes and improvements
----------, Jul 22, 2025

The Cross-Server Overhaul: Now Powered by MySQL

[+] Rock-Solid, Reliable Teleports
No More Lost Players: The previous teleport system could fail if the player arrived before the data did (a "race condition"). The new architecture is bulletproof.

True Cross-Server Coordination: it's a synchronized, cross-server event. The plugin on the destination server is now fully aware of who you are, where you came from, and what your teleport parameters are, allowing for flawless execution.

[+] Simplified Setup & Admin Control
No More Bridge Plugin: The separate JustRTP-Velocity bridge plugin is no longer needed. This update removes all complexity. You only need one JustRTP.jar on your Spigot/Paper servers. The plugin now communicates directly and securely with the database.

Centralized Management: All cross-server communication happens through one MySQL table. It’s clean, efficient, and easy to manage for server owners.

New Admin Command: The /rtp proxystatus command was added to give you a clear, real-time diagnosis of your proxy setup, showing the connection status to your MySQL database.

Enhanced Core & Quality of Life

[+] Intelligent Configuration
Automatic File Generation: No need to manually create mysql.yml. JustRTP now generates a clean, documented configuration file on the first startup, ready for you to fill in your database credentials.

Optimized Performance: By removing the dependency on a Velocity bridge plugin and direct socket connections, the plugin is now lighter, faster, and has fewer points of failure. The connection pooling provided by HikariCP ensures that database connections are handled efficiently, even under heavy load.

[+] Full Folia & Paper Optimization
Modern Schedulers: JustRTP continues to be fully optimized for modern server software. It automatically detects if you are running Folia and uses its region-aware schedulers to ensure teleports have a minimal impact on server performance, even during peak hours.

[+] Full PlaceholderAPI Expansion
Deeper Integration: The PlaceholderAPI expansion is now more powerful. You can display a player’s current cooldown, their assigned teleport delay, and the min/max radius for the world they are in, allowing for deep integration with scoreboards, action bars, and other plugins.
----------, Jul 22, 2025

Please remember to backup and regenerate your config.yml and messages.yml to access all the new features and comments.

[+] Additions / New Features
  • Folia Support: JustRTP is now fully compatible with Folia servers! The plugin will automatically detect if you are running Folia and use its region-based scheduler for all tasks. This ensures optimal performance and stability without compromising server TPS.
  • Cross-Server Teleportation (BungeeCord & Velocity):
    • You can now teleport players to a random location on a different server within your network!
    • Simply use /rtp <player> <server>.
    • Enable this feature and list your server names in the new proxy section of the config.yml.
  • New Command Permission:
    • justrtp.command.rtp.server: Grants permission to specify a server name in the RTP command.
  • New Sleek Startup Message: The plugin now features a new, stylish startup message in the console, providing a quick overview of the status of its hooks (Proxy, PlaceholderAPI, WorldGuard).
  • Detailed Configuration Comments: Both config.yml and messages.yml have been fully commented in English to clearly explain every option and what it does.
[/] Changes & Improvements
  • Command Parser Overhaul: The /rtp command is now significantly smarter. Arguments for [player], [world], and [server] can be provided in any order, making the command more flexible and intuitive for both players and console.
  • Asynchronous Task Handling: The core logic for finding a safe location has been completely rewritten to be fully asynchronous and thread-safe, fixing the UnsupportedOperationException crash on Folia servers. This also improves performance on standard Paper/Spigot servers.
  • Scheduler Abstraction: Implemented a new internal task system that seamlessly handles both the standard Bukkit scheduler and Folia's new scheduler, ensuring code stability and future compatibility.
  • API & Dependencies Updated: The plugin is now built against the latest Paper API (1.20.6) and includes updated dependencies for BungeeCord and Velocity.
----------, Jul 20, 2025

- /rtp credits is now permission based (edit in config.yml)
----------, Jul 4, 2025

Resource Information
Author:
----------
Total Downloads: 1,825
First Release: Jul 2, 2025
Last Update: Jun 22, 2026
Category: ---------------
All-Time Rating:
8 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings