Published May 11th, 5/11/26 5:59 pm
- 99 views • 1 today
- 2 downloads • 0 today
0
EzRTP - Advanced Random Teleport Plugin
Production-ready random teleport plugin for modern Minecraft servers
Latest release and docs: https://github.com/ez-plugins/EzRTP • Java 17+ • Bukkit/Paper/Spigot/Purpur/Folia support
Production-ready random teleport plugin for modern Minecraft servers
Latest release and docs: https://github.com/ez-plugins/EzRTP • Java 17+ • Bukkit/Paper/Spigot/Purpur/Folia support
Feature Summary
- Safe RTP with configurable unsafe-block filtering and recovery behavior
- Biome include/exclude filtering, pre-cache, and rare-biome optimization
- Search pattern control: random, circle, square, triangle, diamond
- Per-world/per-group cooldowns, daily/weekly limits, and optional costs
- GUI destination selector with permission-gated entries
- Heatmap generation and PNG export
- Named centers and WorldGuard region command routing
- Optional Chunky pre-generation support
- Optional performance and unsafe-location monitoring exports
- Folia-compatible runtime behavior for modern scheduler environments
Feature Preview
Biome Statistics Dashboard

Heatmap Visualization

World Selector GUI

Commands and Subcommands
Main Commands
| Command | Description | Permission |
|---|---|---|
| /rtp | Default RTP flow (GUI or direct teleport depending 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 stats with paging |
| stats rare-biomes | /rtp stats rare-biomes | ezrtp.stats | Rare-biome optimization stats |
| stats performance | /rtp stats performance | ezrtp.stats | Percentile and timing metrics |
| unsafe-stats | /rtp unsafe-stats | ezrtp.stats | Unsafe rejection breakdown |
| heatmap | /rtp heatmap [biome] | ezrtp.heatmap | Creates and gives a heatmap map item |
| heatmap save | /rtp heatmap save | ezrtp.heatmap | Exports heatmap PNG to plugin folder |
| fake | /rtp fake <amount|clear> [world] | ezrtp.heatmap.fake | Add or clear simulated samples |
| setcenter | /rtp setcenter <x> <z> or /rtp setcenter <world> <x> <z> | ezrtp.setcenter | Updates center and reloads configuration |
| addcenter | /rtp addcenter <name> | ezrtp.setcenter | Stores named center from player location |
| pregenerate | /rtp pregenerate [world] [radius] | ezrtp.pregenerate | Starts Chunky-assisted warmup tasks |
Extra RTP Routing:
- /rtp <center-name> uses centers.named.<name> from rtp.yml
- /rtp <region-id> uses WorldGuard region routing when worldguard.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 and unsafe-stats |
| ezrtp.heatmap | op | Use heatmap commands |
| ezrtp.heatmap.fake | op | Use /rtp fake |
| ezrtp.queue.bypass | op | Bypass queue |
| ezrtp.forcertp | op | Use /forcertp |
Used by Runtime or Config
- ezrtp.setcenter - required for /rtp setcenter and /rtp addcenter
- ezrtp.pregenerate - required for /rtp pregenerate
- ezrtp.bypass.cooldown - bypass cooldown checks
- ezrtp.bypass.limit - bypass daily/weekly limits
- ezrtp.gui.<name> - per-destination GUI permission nodes from gui.yml
Configuration Files
| File | Scope | Key Examples |
|---|---|---|
| config.yml | Core plugin/global options | message-prefix, language, enable-bstats, worldguard.region-command.* |
| rtp.yml | RTP behavior/safety/biomes | search-pattern, radius.*, countdown.*, unsafe-blocks, biomes.*, chunky-integration.* |
| limits.yml | Cooldowns, limits, group/world overrides | 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 entries | enabled, rows, worlds.*, rare_biomes.* |
| queue.yml | Queue throttling | enabled, max-size, interval-ticks |
| network.yml | Proxy/server selector entries | enabled, lobby, servers.<name>.* |
| force-rtp.yml | /forcertp behavior | default-world, bypass.cooldown, bypass.permission, bypass.safety |
| performance.yml | Optional performance monitoring | performance.monitoring.enabled, warnings.*, percentiles.* |
| unsafe-location-monitoring.yml | Optional unsafe-location tracking | unsafe-location-monitoring.monitoring.enabled, logging.*, metrics.* |
| messages/en.yml | Localizable message templates | teleport-*, forcertp-*, heatmap-*, fake-*, stats-* |
Selected Current Defaults
config.yml
message-prefix: "&7[&bEzRTP&7] &r"
language: en
enable-bstats: true
worldguard:
region-command:
enabled: false
autocomplete: false
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
- Paper, Purpur, Spigot, or Folia 1.7+
- Optional: Vault/EzEconomy for pricing
- Optional: WorldGuard/GriefPrevention for protection-aware behavior
- Optional: Chunky for pre-generation workflows
Support
| Progress | 100% complete |
| Game Version | Minecraft 26.1.1 |
| Tags |
6927480
7


Have something to say?