justRTP
3.8.4Random teleport for Paper and Folia. Safe spots served from a cache, per-world radius, cooldowns and Vault costs, plus sky drops, RTP zones, party teleports, pre-generation and cross-server RTP for Ve
- Tested MC versions
- 1.21, 26.1, 26.2, 26.3

justRTP is a random teleport plugin for Paper and Folia. /rtp sends a player to a safe spot inside a radius you set per world, with cooldowns, warmups and optional Vault costs. A background cache keeps checked landing spots ready, so most teleports do not wait for a live search. On top of the plain /rtp it has sky drops with a parachute, RTP zones that send everyone inside out on a timer, party teleports, a matchmaking queue, world pre-generation, an in-game dashboard, a web panel and cross-server RTP for Velocity and BungeeCord networks. It is for survival, SMP and network servers that want one teleport plugin from a small server up to a network.
Each image below has a text version under it.

Text version: justRTP overview
The random teleport engine
justRTP
A free random teleport plugin that has a safe landing spot ready before the player asks for one. Sky drops, arena zones, party teleports and cross-server jumps all run on the same checked search.
Five stars, "Battle-tested".
- Cache: served, not searched
- 12: ways to teleport
- Folia: respawn RTP included
Screenshot: a player gliding down during a sky drop, with the title "Sky Drop, glide to your landing spot" and chat lines such as "Parachute deployed! Glide to your landing spot." and "Touchdown! Welcome back on solid ground".
Feature list along the bottom: Location cache, Sky drops, RTP zones, Party teleports, Pre-generation, Cross-server, In-game dashboard, Web panel.

Text version: ways to teleport
Ways to teleport: one command, twelve ways to leave spawn.
Every mode below uses the same safe location search, so a sky drop, a party landing and a cross-server jump all end somewhere a player can stand.
| Command | Mode | What it does |
|---|---|---|
/rtp | Plain random teleport | A safe spot inside the world radius, with its own cooldown, warmup and cost |
/rtp <world> | Per-world rules | Each world has its own radius, centre, price, cooldown and biome filter. World aliases work too |
/rtp air | Sky drop | Dropped high above a checked spot with a parachute canopy and a steerable glide |
| Space twice | Jump RTP | Double jump and you are gone. Its own cooldown, switched on per world |
/rtp gui | World selector | A menu of your worlds with live cooldowns and prices on the buttons |
/rtp party | With friends | Invite a party and land together, on one block, or each on their own spot |
/rtp queue join | Matchmaking | Queue up and get dropped at a fresh spot with your opponents, spread apart |
/rtp nearplayer | Near a player | Land close to a random online player, inside a radius you set |
/rtp nearclaim | Near a claim | Land beside claimed land from SimpleClaim, GriefPrevention, Lands or WorldGuard. The subcommand name is yours to rename |
/rtp location koth | Named spots | Your own named areas, each with a permission, price and radius |
/rtp 500 2000 | Their own band | Players pick a radius, priced by tier and capped by permission |
/rtp survival:world | Another server | The far server finds the spot and the player arrives with no second warmup |
A paid teleport, start to finish. The cost is asked first, confirmed with a click, then a countdown on screen that cancels if the player moves. (Screenshot chat: "This teleport will cost 100. Type /rtp confirm or click [HERE] to continue.", "Teleport confirmed.", "Searching for a safe location for you...", "Teleporting in 3s... Don't move!")

Text version: new in 3.8.0
New in 3.8.0: respawn RTP on Folia, and radius limits that hold across the network.
Plus clearer errors when no safe spot is found, and a few GUI fixes.
- Folia: respawn RTP on Folia. Folia does not fire the respawn events, so
respawn_rtpnever ran there. Players on Folia are now teleported once after they respawn, the same as on Paper. - Network: the destination sets the radius. A cross-server request only carries a radius the player typed or one from their permission group, and the destination server caps it to the largest
max_radiusit allows for that world. - Commands: take /rtp back. If another plugin owns
/rtp,/jrtp,/wildor/randomtp, the console names it after startup. Setforce-claim-aliases: truein commands.yml and justRTP claims them back./justrtp:rtpalways reaches justRTP. - A floor in void worlds.
void_world.platform_blockplaces a small platform under a player who would otherwise land on nothing in a VOID world. Off by default. - No safe spot? Now you know why. When most attempts fail for one reason (no ground, ungenerated chunks, excluded biomes, water or lava, protected regions), the console names the settings to change, and admins see the same hint in chat.
- GUI that forgives typos. A button that shares a slot with decoration is shown, blocks like WATER display as their item, and one bad material name is logged instead of stopping
/rtp guifrom opening.
Updating from 3.7.x: drop in the new jar and restart. Your values carry over, new options arrive with their comments, and the old file is saved next to it first. On a network, set custom_worlds.<world>.max_radius on each destination server.

Text version: sky drop
Sky drop: arrive under a parachute, and steer where you land.
Air RTP places the player high above a spot that already passed the safety search, opens a canopy and lets them glide down.
| Setting | Default |
|---|---|
| Drop height | 120 blocks above the ground, always under max_y and the world ceiling |
| Canopy | Display entity, white wool, gentle sway |
| Glide | Slow falling, sprint pushes you forward |
| Fall damage | Cancelled while gliding |
| Flight | Turned off for the drop, restored on landing |
Sky drop, mid-air. The SKY DROP title, the canopy overhead and the landing coordinates in chat.
- The ground is checked first. The drop starts above a spot from the normal safe search, so the ground straight below is already checked.
- A real canopy, no extra plugins. The parachute is a native Display entity, so nothing else needs to be installed.
- Four ways to drop in.
/rtp air,mode: alwaysfor whole worlds, a zone's air drop toggle, or cross-server arrivals on a server that has it on.

Text version: RTP zones
RTP zones: stand in the ring. The countdown does the rest.
Mark out a region, set an interval, and everyone inside is sent out together when it hits zero. Each player gets their own checked spot, spread apart by a distance you choose.
- The entry title. "You have entered the queue!" is the default on-enter title, with its own sound. Both are editable per zone. (Screenshot subtitle: "The battle will begin soon.")
- Every zone in one menu.
/rtpzone guishows world, target, interval, radius, shape and air drop. Left-click to visit, right-click to toggle the air drop. (Screenshot: zone "test1", world: world, targets: world, interval: 15s, radius: 100 to 5000, shape: CYLINDER, air drop: ON.)
Zone example:
| Key | Value |
|---|---|
interval | every 60 s |
target | arena_world, or survival:arena_world on another server |
radius | 1000 to 10000 |
spread | 10 to 50 blocks between players |
particles | OUTLINE, BEAM, SWIRL, PULSE, DUST_WALL or NONE |
- A wizard, not a config file.
/rtpzone setup <id>with a cuboid, cylinder or hand-picked blocks, then answer the prompts in chat. - Players can opt out.
/rtpzone ignorekeeps one player out of every zone until they toggle it back. - The same zones everywhere. Push zones to the database and every backend pulls the same set with
/rtpzone sync.

Text version: holograms
Holograms: four engines. Pick one, or let it pick.
Zone holograms count down live and are written in MiniMessage. Leave the engine on auto and justRTP takes the first one installed, in the order shown.
- FancyHolograms. Persistent holograms that survive a restart, with the configured scale applied.
- AxoHologram. Display based, with MiniMessage and PlaceholderAPI.
- PacketEvents. Virtual holograms sent per player, nothing spawned in the world.
- Display entities. Vanilla display entities, no extra plugin needed.
The countdown over a zone. "RTP Zone" and the seconds left, updated live. /rtpzone sethologram <id> places or moves it. (Screenshot: a hologram reading "RTP Zone" and "17s".)

Text version: the location cache
The cache: the spot is found before anyone types the command.
A background worker keeps a pool of checked landing spots per world and keeps the chunks for the next few loaded. A cache hit goes straight to the player, with one last check right before they are placed.
The cache, live. Cached locations, queue size and teleports in progress, straight from /rtp performance. (Screenshot tooltip: "RTP Cache. Cached locations: 17, Queue size: 0, Processing now: 0".)
- Grows and shrinks on its own. The pool grows with players online and live demand, and shrinks when TPS or free memory drops.
- Good finds are kept. A good spot found by a live search is kept for the next player instead of being thrown away.
- It remembers bad terrain. Areas that keep failing, like a big ocean, are re-rolled before any chunk is generated. The map is saved, so it improves across restarts.
- Chunk tickets: the chunk is already loaded. The next spots per world are held with chunk tickets and the terrain around them is generated ahead, so the ground appears quickly on arrival.
- Last check: checked again on the way out. A cached spot still has to be inside the player's radius band and the world border before it is used.

Text version: pre-generation
Pre-generation: build the terrain first, so the first teleport is not the slow one.
A far-out teleport usually stalls on chunk generation, not on the search. Pre-generate the band players actually land in and watch it fill in live.
- Start from a menu. The estimated chunk count is shown before you click, and chunks already on disk are skipped. (Screenshot tooltip: "Start Generation. Estimated chunks: 140625. Already-generated chunks are skipped. World: world. Click to start".)
- Progress while it runs. Percentage, chunks per second and time left, on the item tooltip. (Screenshot tooltip: "Generating world. Progress: 0.8% (1138/140625). Rate: 89 chunks/s. ETA: 26m 13s. Running".)
- Square, circle or ring. A ring covers only the outer band, so you skip the middle nobody lands in.
- Backs off when TPS dips. Adaptive mode pauses when TPS dips and resumes after. Steady mode keeps a fixed pace.
- Feeds the cache while it runs. Safe spots are picked out of the fresh terrain, so the first teleports into a new area are fast too.
/rtp pregen world ring 8000 4000 adaptive
/rtp pregen map // a live colour map of the run
/rtp benchmark world 500 5000 25 // times the real search, writes the result to the log

Text version: parties and matchmaking
Together: take your friends with you, or get matched with a stranger.
Parties teleport as a group from one menu. The matchmaking queue drops players together the moment it fills.
- Invite with a click. Click an online player's head. The invite arrives in chat with accept and deny buttons and expires on its own.
- The leader runs the party. Members show online status and world, and the leader can kick with one click.
- Three ways to land. Together around one spot, all on the same block, or each on their own. Air drop on or off.
- Up to eight by default.
party.max_size, cooldown and an optional cost with a refund if no spot is found. - The party outlives its leader. A leader who leaves hands the party to the longest-standing member, and quitting players are cleaned up.
- Matchmaking that tells everyone. When someone joins the queue, the server sees a clickable Join message. Players can hide those with
/rtp queue broadcasts off.
Matchmaking defaults:
| Setting | Default |
|---|---|
team_size | 2 (a 1v1) |
spread_distance | 10 blocks apart |
queue_timeout | 300 s |

Text version: what counts as safe
What counts as safe: nobody lands in lava, in a wall, or in someone else's claim.
Every candidate goes through these checks before any player lands on it.
- Solid floor, open air. The block underfoot has to hold a player and the space above has to be clear. Powder snow, fire, cobwebs, berry bushes and portals at foot or head height are rejected.
- Biomes and borders. Whitelist or blacklist biomes so nobody lands mid-ocean, and the world border is respected even when a rank has a bigger radius.
- Other people's land. WorldGuard regions and claims from SimpleClaimSystem, KingdomsX, Kingdoms and Towns and Nations are read before a spot is accepted.
Arrival. The player lands on checked ground with the arrival particles playing.
| World type | How it lands |
|---|---|
| NORMAL | Overworld style worlds, landing on the surface |
| NETHER | Kept below the roof (Y under 127), never on top of it |
| THE_END | End islands, with dangerous floors and liquids rejected |
| VOID | Skyblock, oneblock and void arenas. Optional platform_block places a 3x3 floor when there is nothing below |
Shapes: six landing shapes, global or per world: ROUND, SQUARE, RING, CROSS, STAR and SPREAD. Ring keeps players far out, spread puts more of them closer to the centre.

Text version: automatic teleports
Automatic: teleports that happen without a command.
Send new players out, catch them after a death, or keep them out of the hub. Each one is off by default and switched on in config.yml.
| Option | What it does |
|---|---|
first_join_rtp | Teleports a brand new player the moment they join, into a world you pick |
first_world_rtp | Waits until a new player first enters a listed world, then sends them out once |
respawn_rtp | Teleports after death, in all worlds or a list. Works on Paper and Folia |
respawn_rtp.only_without_spawn | Only players with no bed, anchor or /spawnpoint are sent out |
spawn_world_redirect | /rtp typed in your hub world teleports into your main world |
rtp_world_overrides | /rtp in one world teleports in another, for example End to Overworld |
jump_rtp | Double jump to teleport, per world, with its own cooldown |
Redirects: typing /rtp <world> is always respected. Redirects only change a plain /rtp, and each one can tell the player where they were sent.

Text version: ranks and costs
Ranks and costs: charge for distance, or let ranks skip the wait.
Charge per world, per rank or per radius through Vault, and give ranks their own cooldown, warmup and range.
Paid, confirmed, charged. The chat shows the price, the confirm click and the charge. If the teleport fails, the money goes back. (Screenshot: title "Teleported! You have arrived at a new location." and chat "This teleport will cost 100. Type /rtp confirm or click [HERE] to continue.", "Teleport confirmed.", "You have been charged 100 for the teleport.")
Charge by distance. Price the far bands and leave the close one free, per world.
| Band | Price |
|---|---|
| 0 to 5000 blocks | Free |
| 5000 to 15000 blocks | $250 |
| 15000 to 40000 blocks | $900 |
Example values, set in custom_worlds.<world>.radius_pricing.
- Ranks with their own rules. Permission groups carry their own cooldown, warmup, cost and radius per world. The highest priority group a player holds wins.
- Bypass nodes.
justrtp.cooldown.bypass,justrtp.delay.bypass,justrtp.cost.bypassandjustrtp.jumprtp.bypassfor staff and top ranks.

Text version: across the network
Across the network: /rtp survival:world from anywhere on the network.
Install justRTP on each backend behind Velocity or BungeeCord and point them at one MySQL or MariaDB database. The destination server finds the spot, the player is sent over, and they arrive without a second warmup.
- One database, every backend. A request is written for the destination server, which finds and reserves the spot. A timeout gives the cooldown back.
- Radius limits that hold. Since 3.8.0 the destination caps every incoming radius to its own
max_radius, so a lobby setting can no longer send players past it. - Redis if you want it. Cooldowns, warmups, the location cache and the teleport queue can live in Redis, with pub/sub for live updates. If Redis drops, it falls back to memory and MySQL.
Cross-server on the dashboard. The proxy module shows its status and marks that a restart is needed to fully apply. (Screenshot tooltip: "Cross-Server (Proxy). RTP between servers (needs MySQL). Status: Enabled. Restart required to fully apply. Left-click to toggle, right-click to edit settings.")
- Cross-server buttons in
/rtp gui, shown only when the target server is configured and the player may use it - Zone sync with push, pull and status commands
/rtp proxystatuschecks MySQL and Redis from in game

Text version: admin tools and web panel
Admin tools: tune the whole plugin without opening a config file.
Every module is an icon with a green or red dot. Left-click toggles it, right-click opens its settings, and the menu stays open the whole time.
/rtp dashboard. One control panel for every module, wi
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.3MSueta
Chunky
Pre-generates chunks, quickly and efficiently
20.8MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta