In short: if the server already runs EssentialsX, you don't need another plugin — it has /tpr and /settpr. For /rtp with menus, limits and biome filters, take EzRTP or WildRTP; for a network with shared homes, HuskHomes. Either way, keep the radius inside the world border, set a cooldown and pre-generate the RTP area with Chunky: otherwise every teleport makes the server generate new chunks, and TPS drops.
Comparison: EssentialsX, EzRTP, HuskHomes, WildRTP
| Plugin | Command | Default radius | Default cooldown | Platforms and versions | License |
|---|---|---|---|---|---|
| EssentialsX | /tpr, set up with /settpr | From 0 to the world border | The shared teleport-cooldown: 0 | Paper, Spigot; see EssentialsX | GPL-3.0 |
| EzRTP | /rtp, /forcertp | 500–2000; without a maximum, up to the world border | 300 s, up to 10 a day and 50 a week | Paper, Spigot, Purpur, Folia; up to 26.2 on Modrinth | MIT |
| HuskHomes | /rtp | 500–5000 around /spawn (or 0, 0) | 600 s | Paper, Spigot, Folia, Fabric, Sponge; up to 26.3 on Modrinth | Apache-2.0 |
| WildRTP | /wild (aliases /rtp, /randomtp) | 1000–2500 around 0, 0 | 5 s, plus 5 s standing still | Paper, Spigot, Purpur, Folia; up to 26.3 on Modrinth | All rights reserved, code on GitHub |
Each one in brief
EssentialsX: /tpr
In EssentialsX the random teleport is /tpr (aliases /etpr, /tprandom), with the permissions essentials.tpr and essentials.settpr. The area is set in game: /settpr <world> center puts the center where you stand, /settpr <world> minrange <radius> and /settpr <world> maxrange <radius> set the ring the point is picked from. Until a maximum is set, EssentialsX takes it from the world border. Blocked biomes are listed under excluded-biomes in plugins/Essentials/tpr.yml — oceans and rivers by default. Cooldown and delay come from the shared teleport-cooldown and teleport-delay in config.yml: if the player moves or gets hit during the delay, the teleport is cancelled.
EzRTP
A standalone MIT plugin configured by file: rtp.yml holds radius.min and radius.max, heights, the search pattern (random, circle, square and others), unsafe blocks and the biomes.include and biomes.exclude filters; limits.yml holds the cooldown and daily and weekly limits. It has a world selection menu, pre-cached locations, a queue, a teleport price through Vault and a /rtp pregenerate command that pre-generates the world through Chunky. Builds 3.0.0 and later for 26.1 need Java 25.
HuskHomes
A homes and teleports plugin for a single server or a network: /rtp is one command next to /home, /warp and /tpa. The area is the rtp.region section (min: 500, max: 5000) around the /spawn point, the cooldown is RANDOM_TELEPORT: 600 under cooldowns. By default RTP is disabled in the Nether and the End (restricted_worlds): the docs say plainly that /rtp doesn't work well in the Nether. On a network, an admin can send a player to a random spot on another server: /rtp <player> <world> <server>.
WildRTP
A plugin with /wild and an /rtp alias: a circular or square area (shape), centered on 0, 0 or on the player, a cooldown and a movetimer — a few seconds standing still before the teleport. Blocked biomes go in the biomes list, unsafe blocks in blocks (LAVA, WATER, AIR by default), per-world settings in the custom section. It can teleport players on first join and after death (auto-rtp) and respect WorldGuard, GriefPrevention, Lands and other claims. For the Nether there's the BOTTOM_UP search strategy.
The settings that matter
| Setting | EssentialsX | EzRTP | HuskHomes | WildRTP |
|---|---|---|---|---|
| Radius | /settpr <world> minrange and maxrange | radius.min, radius.max | rtp.region.min, max | min, max |
| Center | /settpr <world> center | center.x, center.z | The /spawn point | center.x, center.z or the player |
| Cooldown | teleport-cooldown | cooldown-seconds in limits.yml | RANDOM_TELEPORT | cooldown.time |
| Biome blacklist | excluded-biomes | biomes.exclude | Not in the docs | biomes |
| World restrictions | No separate list | world per destination | restricted_worlds | blacklist or whitelist |
- A minimum radius keeps players from landing near spawn, where everything is already cut down and built over.
- A maximum radius belongs inside the world border: a point past the border is useless. EssentialsX without a
maxrangeand EzRTP withoutradius.maxuse the border as the maximum anyway. - A cooldown stops both command spam and hunting for a «good» spot with dozens of teleports in a row — each of them loads new chunks.
- A delay that cancels on movement (
teleport-delayin EssentialsX,movetimerin WildRTP, the countdown in EzRTP) stops players escaping a fight by teleport. - Blacklist the oceans: spawning in the middle of an ocean without a boat is the worst possible start.
Pre-generate the world so RTP doesn't lag
A random point almost always lands where nobody has been. If the chunk doesn't exist yet, the server builds it during the teleport — terrain, caves, structures, lighting: the player waits longer, and a wave of teleports after a restart gives the server the same generation work as an elytra flight into unexplored land. The WildRTP author notes that Paper loads and generates chunks asynchronously, and that a world pre-generated with Chunky makes teleports faster. EzRTP built in a /rtp pregenerate command for exactly this.
- 1
Set a world border
The command takes a diameter: RTP up to 5000 blocks from the center needs at least
/worldborder set 10000. Details in world border. - 2
Match the RTP radius to the border
The maximum teleport radius should be no more than half the border's diameter.
- 3
Estimate the size
The chunk calculator shows how many chunks and region files a world that size has.
- 4
Pre-generate the area
With Chunky:
chunky worldbordertakes the center and radius from the border,chunky startbegins generation. The order of steps, hardware and disk space tips are in pre-generating the world. - 5
Don't forget the Nether and the End
If RTP is allowed in other dimensions, each has its own border and needs its own pre-generation.
RTP and the anticheat
RTP drops a player far from spawn, and from there speed decides everything. Movement cheats — ElytraFly, BoatFly, Fly, Speed and Timer — cross the world faster than honest players: the server generates chunks faster than it's built for, and other people's bases get found in minutes. DGuard — the best anticheat for a modern Minecraft server — checks all 47 cheat types of the comparison, gathers evidence and doesn't rush to a verdict, so an honest player's lag after a teleport doesn't turn into a ban.
| Cheat | DGuard | GrimAC | Vulcan | Polar | Intave | Matrix |
|---|---|---|---|---|---|---|
| ElytraFlycontrolled elytra flight | partly: not named — the simulation recreates 'most' movements | |||||
| BoatFly / EntitySpeedflies and speeds up on vehicles | ||||||
| Flyflies without elytra or creative | ||||||
| Speedfaster than the game allows | ||||||
| Timerspeeds the game up |
The checks run in network threads — 0.03 % of one core on the main thread — so the anticheat adds no load where world generation already creates it. DGuard runs on Paper and Leaf 1.21–26.3; the main version is 1.21.11, and the other versions are supported but not yet proven on live servers.
FAQ
How do I add /rtp to a Minecraft server?
Install a random teleport plugin such as EzRTP, WildRTP or HuskHomes — /rtp works right away in all of them. Then set a radius inside the world border and a cooldown, and pre-generate the area with Chunky.
Does EssentialsX have a random teleport?
Yes, /tpr. The center and radius are set with /settpr <world> center, /settpr <world> minrange <radius> and /settpr <world> maxrange <radius>, blocked biomes with excluded-biomes in tpr.yml. Players need the essentials.tpr permission.
Why does the server lag after /rtp?
The RTP point usually lands in chunks that don't exist yet, and the server generates them during the teleport. Pre-generate the RTP area with Chunky before opening and put a cooldown on the command.
How do I stop RTP from landing in the ocean?
Put ocean biomes on the blacklist: excluded-biomes in EssentialsX (oceans are there by default), biomes.exclude in EzRTP, biomes in WildRTP.
Can I use RTP in the Nether?
Yes, with care: HuskHomes disables RTP in the Nether and the End by default and says it works poorly in the Nether. WildRTP has the BOTTOM_UP search strategy for the Nether, and the Nether has its own world border that also needs setting and pre-generating.
Sources
- EssentialsX on GitHub: tpr.yml
- EssentialsX on GitHub: commands and permissions (plugin.yml)
- EzRTP docs: rtp.yml
- EzRTP on Modrinth
- HuskHomes: config files
- HuskHomes: commands
- WildRTP on Modrinth
- Chunky: commands (GitHub wiki)
- Minecraft Wiki: /worldborder command
- DGuard, the best anticheat for a modern Minecraft server: checks compared with GrimAC, Vulcan, Polar, Intave and Matrix
- DGuard: installation, requirements and troubleshooting
- DGuard: supported Paper and Leaf versions