Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
Donut RTPQueue
If you've played on DonutSMP, you probably know their RTP Queue. You join the queue, wait for someone else to join, and then both of you get thrown into the same random spot in the world. I really liked that idea, so I made my own version of it for regular servers.
What it does
A player types /rtpq and a small menu pops up asking if they're sure they want to randomly teleport with another player. There's a diamond sword in the middle, a red pane for "No" and a green pane for "Yes".
After clicking "Yes", the player is put into the queue. While they wait, a gray "Searching for opponent..." text shows up in the action bar and a random music disc starts playing (Strad, Wait, Mellohi, Chirp or Stal). I added the music because waiting in silence felt boring.
When someone else joins the queue, the search keeps going for another 3 seconds so the players have a moment to get ready. Then both of them are teleported to the same random location, with the enderman teleport sound when they land.
If nobody shows up within 80 seconds, the search just stops, the text and music go away, and the player can try again whenever they want.
A few other things worth mentioning
The plugin checks where it's teleporting people, so nobody ends up in lava, water, a cactus or anything like that. If one player leaves the server right after a match is found, the other one doesn't get stuck. They just keep searching. Players with Russian as their game language see everything in Russian, everyone else gets English. You can change every message for both languages in the config. When you update the plugin, your old config gets updated automatically and your settings stay the same. A backup of the old file is saved too, just in case.
Supported servers
The same jar works on Spigot, Paper, Purpur and Folia. The plugin figures out which one you're running by itself, so there's nothing to set up. Folia is supported properly, with its region threads, not just marked as compatible.
It works on Minecraft 1.21.x and 26.x. Keep in mind that 26.x servers need Java 25, which is a Minecraft requirement and not something specific to this plugin.
I tested it on Paper 1.21.1 and 26.3, Purpur 1.21.1, 1.21.11 and 26.3, Folia 1.21.4, 1.21.11 and 26.2, and Spigot 26.1.2 and 26.2.
Plain CraftBukkit is not supported.
Commands and permissions
Command What it does Permission /rtpq Opens the menu rtpqueue.use (everyone by default) /rtpqueue Same thing, just a longer name rtpqueue.use /rtpq reload Reloads the config rtpqueue.admin (OP by default)
Config
Most of the settings should be self-explanatory, and there are comments in the file too. The main ones are:
YAML
# World players get teleported to
world: world
# Teleport area
min-x: -2499
max-x: 2499
min-z: -2499
max-z: 2499
# How long to search for an opponent (seconds)
search-time: 80
# Delay between finding an opponent and teleporting (seconds)
teleport-delay: 3
# Sound when players land (same ids as /playsound)
teleport-sound: entity.enderman.teleport
# Music discs that can play while searching
music:
- strad
- wait
- mellohi
- chirp
- stal
All the messages are in the lang section, split into ru and en. Color codes with & work everywhere. If you want to turn a chat message off, set it to an empty string "".
Installation
Drop the jar into your plugins folder and restart the server. That's it. If you change something in the config later, use /rtpq reload to apply it without restarting.
One thing about Spigot
Spigot doesn't have a way to load chunks asynchronously, so if the random location lands in a part of the world that hasn't been generated yet, the server might lag for a moment. I spread the work across several ticks so it's not one big freeze, but it's still there. Paper, Purpur and Folia don't have this problem, so I'd recommend one of those.
Feedback
If you find a bug or have an idea for a feature, feel free to let me know. I'd be happy to hear how it works on your server.
This project is inspired by DonutSMP but is not affiliated with DonutSMP in any way.
For errors / bugs: albekanastoev@gmail.com


