Language

EzRTP

EzRTP

ModrinthSpigotMC

Add /rtp easily to your server. By default a simple RTP plugin but under the hood a highly configurable random teleport plugin with GUI world selection, Vault charging, heatmaps, safe-location scanning and smart pre-caching.

5.2k downloads 7 followers updated 27d ago
Modrinth
Bukkit Folia Paper Purpur Spigot 1.7.2 – 26.1.2 AdventureEconomyGame-mechanics

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.0 build on Java 17 (MC 1.13 - 1.21.11.*) for Bukkit/Paper/Spigot/Purpur/Folia
  • >= 3.0.0 build on Java 25 (MC 26.1.*) for Bukkit/Paper/Spigot/Purpur/Folia
  • >= 3.1.0 build on Java 17 (MC 1.13 - 1.21.11.*) for Bukkit/Paper/Spigot/Purpur/Folia

Documentation
Support

ModrinthSpigotMCHangarDiscord


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

Biome Statistics

Heatmap Visualization

RTP Heatmap

World Selector GUI

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 | Add/clear simulated heatmap samples |
| 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 using centers.named.<name> from rtp.yml.
  • /rtp <region-id>: WorldGuard region-based RTP 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/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

Usage of the RTP plugin

Try Other EzPlugins

Versions

No version history available. Use the Download button to get the latest from the source.

Comments 0

No comments yet. Be the first to share your thoughts.

Download EzRTP

SpigotMC

Files are served directly from the original source. Modgrid does not host or modify them.