EzRTP
No reviews yet
Advanced Random Teleport (RTP) plugin for Paper, Spigot, Purpur and Folia. Safe random teleportation with biome filters, GUI world selection, Vault economy support, cooldowns, WorldGuard integration and high-performance teleport caching for Minecraft serve
Paper is a fork of Spigot that adds its own plugin API on top of the Bukkit API. All Spigot plugins are compatible with paper, not all paper plugins are compatible with Spigot.
Spigot is a popular software for running dedicated servers that can load Plugins created with the Bukkit API.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
Advanced Random Teleport Plugin
Production-ready random teleport plugin for modern Minecraft servers.
Documentation: https://ez-plugins.github.io/EzRTP
Installation guide: https://ez-plugins.github.io/EzRTP/overview-installation.html#installation
< 3.0.0build on Java 17 (MC 1.13 - 1.21.11.*) for Bukkit/Paper/Spigot/Purpur/Folia>= 3.0.0build on Java 25 (MC 26.1.*) for Bukkit/Paper/Spigot/Purpur/Folia>= 3.1.0build on Java 17 (MC 1.13 - 1.21.11.*) for Bukkit/Paper/Spigot/Purpur/Folia
Modrinth • SpigotMC • Hangar • Discord
Feature Summary
- Safe random teleport with configurable unsafe-block filtering and recovery behavior.
- Biome include/exclude filtering, pre-cache, and rare-biome optimization (weighted search + hotspot tracking).
- Search pattern control:
random,circle,square,triangle,diamond. - Queue controls and cooldown/usage limits per world and per group.
- GUI destination selector with per-destination permissions.
- Heatmap tools (
/rtp heatmap,/rtp heatmap save) and simulated samples (/rtp fake). - Named centers (
/rtp addcenter,/rtp <center-name>) and center editing (/rtp setcenter). - Optional network selector entries via
network.yml. - Optional Chunky pre-generation command (
/rtp pregenerate [world] [radius]). - Optional performance and unsafe-location monitoring exports.
- Folia-compatible runtime behavior for modern server scheduling models.
Feature Preview
Biome Statistics Dashboard

Heatmap Visualization

World Selector GUI

Subcommands
Main Commands
| Command | Description | Permission |
|---|---|---|
/rtp |
Default RTP flow (GUI or direct teleport based on setup) | ezrtp.use |
/forcertp <player> [world] |
Force RTP for a target player | ezrtp.forcertp |
/rtp Subcommands
| Subcommand | Usage | Permission | Notes |
|---|---|---|---|
reload |
/rtp reload |
ezrtp.reload |
Reload configuration |
stats |
/rtp stats |
ezrtp.stats |
Overall RTP metrics |
stats biomes |
/rtp stats biomes [page] |
ezrtp.stats |
Biome activity + paging |
stats rare-biomes |
/rtp stats rare-biomes |
ezrtp.stats |
Rare-biome optimization stats |
stats performance |
/rtp stats performance |
ezrtp.stats |
Percentile/timing metrics |
unsafe-stats |
/rtp unsafe-stats |
ezrtp.stats |
Unsafe rejection breakdown |
heatmap |
/rtp heatmap [biome] |
ezrtp.heatmap |
Gives in-game heatmap map |
heatmap save |
/rtp heatmap save |
ezrtp.heatmap |
Saves heatmap PNG to plugin folder |
fake |
`/rtp fake <amount | clear> [world]` | ezrtp.heatmap.fake |
setcenter |
/rtp setcenter <x> <z> or /rtp setcenter <world> <x> <z> |
ezrtp.setcenter |
Updates world center and reloads |
addcenter |
/rtp addcenter <name> |
ezrtp.setcenter |
Stores named center at player location |
pregenerate |
/rtp pregenerate [world] [radius] |
ezrtp.pregenerate |
Starts Chunky-assisted warmup tasks |
Extra RTP Routing
/rtp <center-name>: teleports usingcenters.named.<name>fromrtp.yml./rtp <region-id>: WorldGuard region-based RTP whenworldguard.region-command.enabled: true.
Permissions
Declared in plugin.yml
| Permission | Default | Purpose |
|---|---|---|
ezrtp.use |
true |
Use /rtp |
ezrtp.reload |
op |
Use /rtp reload |
ezrtp.stats |
op |
Use stats/unsafe-stats |
ezrtp.heatmap |
op |
Use heatmap generation/export |
ezrtp.heatmap.fake |
op |
Use /rtp fake |
ezrtp.queue.bypass |
op |
Bypass queue |
ezrtp.forcertp |
op |
Use /forcertp |
Used by Runtime/Config
| Permission | Source | Purpose |
|---|---|---|
ezrtp.setcenter |
command code | Access setcenter and addcenter |
ezrtp.pregenerate |
command code | Access /rtp pregenerate |
ezrtp.bypass.cooldown |
limits.yml defaults |
Cooldown bypass |
ezrtp.bypass.limit |
limits.yml defaults |
Daily/weekly limit bypass |
ezrtp.gui.<name> |
gui.yml entries |
Per-destination GUI access |
Configuration Files
EzRTP now splits configuration by concern.
| File | Scope | Example Keys |
|---|---|---|
config.yml |
Core plugin/global options | message-prefix, language, enable-bstats, worldguard.region-command.* |
rtp.yml |
RTP behavior and safety | search-pattern, radius.*, countdown.*, unsafe-blocks, biomes.*, chunky-integration.* |
limits.yml |
Cooldowns/usage/cost profiles | rtp-limits.default, rtp-limits.worlds, allow-gui-during-cooldown |
storage.yml |
Limits storage backend | rtp-limits.storage, rtp-limits.mysql.* |
gui.yml |
GUI layout and destinations | enabled, rows, worlds.*.icon, disable-cache-filtering, rare_biomes.* |
queue.yml |
Queue throttling | enabled, max-size, start-delay-ticks, interval-ticks |
network.yml |
Proxy/server selector | enabled, lobby, servers.<name>.* |
force-rtp.yml |
/forcertp behavior |
default-world, bypass.cooldown, bypass.permission, bypass.safety |
performance.yml |
Optional perf monitoring | performance.monitoring.enabled, warnings.*, metrics.*, percentiles.* |
unsafe-location-monitoring.yml |
Optional unsafe tracking | unsafe-location-monitoring.monitoring.enabled, logging.*, metrics.* |
messages/en.yml |
User-facing text templates | teleport-*, queue-*, forcertp-*, heatmap-*, fake-*, stats-* |
Current Core Defaults (selected)
# config.yml
message-prefix: "&7[&bEzRTP&7] &r"
language: en
enable-bstats: true
worldguard:
region-command:
enabled: false
autocomplete: false
# rtp.yml
search-pattern: random
max-attempts: 16
countdown-seconds: 5
heatmap:
enabled: false
biomes:
enabled: true
pre-cache:
enabled: false
rare-biome-optimization:
enabled: false
chunky-integration:
enabled: false
# limits.yml
rtp-limits:
default:
cooldown-seconds: 300
daily-limit: 10
weekly-limit: 50
bypass-permissions:
- ezrtp.bypass.cooldown
- ezrtp.bypass.limit
allow-gui-during-cooldown: true
# storage.yml
rtp-limits:
storage: yaml # yaml or mysql
Requirements
- Java 17 or newer.
- Bukkit, Paper, Purpur, Spigot, or Folia 1.7+.
- Optional: Vault/EzEconomy for pricing.
- Optional: WorldGuard/GriefPrevention for claim-aware behavior.
- Optional: Chunky for pre-generation workflows.
Support
- Discord: https://discord.gg/yWP95XfmBS
- Project and releases: https://github.com/ez-plugins/EzRTP
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers


