Roam
Advanced asynchronous random teleport (RTP) plugin for Paper, Purpur and Folia. Features a modern GUI, biome targeting, favorites, history, stats, claim protection bypass, Vault economy integration, and full customization.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Roam
---
Roam
Async RTP
Async random teleport plugin for Paper, Purpur and Folia.
Source-available • Folia-native • Iris/TerraformGenerator support • EN/ES/PT_BR
---
Requirements
* Paper, Purpur or Folia * Java 21+ * Minecraft 1.21.1 → 1.21.11 → 26.1.x
Spigot is NOT supported.
Roam depends on:
* Adventure API * Async chunk loading * Folia schedulers
---
Performance
* ~0.91% CPU usage on production Folia servers * No idle loops * No unsafe thread usage * Async-first architecture
Parallel Search
Roam evaluates multiple teleport candidates concurrently (1–16).
Typical teleport search times:
* Dense/claimed worlds: ~1–2s * Traditional RTP plugins: ~5–10s
---
Features
* Async parallel RTP * Built-in GUI * Biome targeting * Claim-aware teleportation * YAML / SQLite / MariaDB * Multi-language support * Favorites & history * Density preview * NPC integration * Vault economy support * Cooldowns & warmups * First-join RTP * Post-teleport protection
---
Compatibility
Region Plugins
* WorldGuard * GriefPrevention * Towny * Lands * Residence * Factions * KingdomsX * HuskClaims * HuskTowns * CrashClaim
Other Plugins
* Vault * PlaceholderAPI * EssentialsX * Iris * TerraformGenerator * Chunky * Citizens * CombatLogX
---
Commands
| Command | Description | | ----------------- | --------------- | | `/rtp` | Random teleport | | `/rtp biome` | Biome selector | | `/rtp back` | Return | | `/rtp check` | Density preview | | `/roamadmin info` | Diagnostics |
---
Quick Start
1. Put the `.jar` in `/plugins/` 2. Start the server 3. Configure the plugin 4. Run `/roamadmin reload` 5. Use `/rtp`
---
Example Config
```yaml global: warmup: 3 cooldown: 300 search-parallelism: 4
worlds: world: min-radius: 100 max-radius: 5000
storage: type: SQLITE ```
---
API
```java RoamAPI roam = RoamProvider.get();
if (roam != null) { roam.randomTeleport(player); } ```
Events:
* PreTeleport * LocationFound * PostTeleport
---
License
Source-available
Allowed:
* Personal use * Commercial server use
Not allowed:
* Redistribution * Resale
---