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.

4

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

---

ADS