Joinqueue
Modby epicskydex
Async Join Queue for NeoForge 1.21.1/1.21.8. Prevents crashes and TPS drops during mass logins by holding players in a thread-safe queue. Admits players at a stable rate. Features a custom position screen. Required on both server and client.
Type
Mod
CurseForge Downloads
3,265
CurseForge ID
1480521
Last Updated
Jul 27, 2026
Description
JoinQueue
Versions: NeoForge 1.21.1 & 1.21.8
Prevents server crashes and TPS drops caused by many players joining at the same time (e.g., after a restart or during events). The mod puts connecting players into a waiting line during the Configuration Phase, preventing the Main Thread from overloading.
Features
- Activation: With default settings the queue is always active (queue_activation_threshold = 0). Set a threshold to only activate above a given online player count. It also force-activates during the grace period after a server restart (default 60s) or whenever TPS drops below 8.0.
- TPS Check: Players are only released while the server is stable (TPS ≥ 8.0) and the queue is not paused. Releasing stops automatically during heavy lag.
- Release Rate: Players are let in on a timer — by default every 2s (normal) and every 1s (VIP), configurable via ticks_between_joins / ticks_between_joins_vip.
- Manual Control: Admins can use /joinqueue pause and /joinqueue resume to stop or start the login process manually, or /joinqueue toggle to enable/disable the whole mod.
- Priority & Bypass:
- Staff members bypass the queue entirely.
- VIP players are moved to the front of the queue and released on a faster timer.
- Server-Full Handling: When the server reaches its vanilla player cap, normal players are held in the queue (with a "Server is full" message) until a slot opens, instead of being rejected at the network layer. Staff bypass the limit and VIPs may join over it.
- Async Chunk Loading: Loads spawn chunks on background threads (radius configurable, default 3) before a player joins to prevent main-thread freezes. A hold_back_ms safety ceiling (default 1500ms) guarantees release even if chunks are slow.
- Queue Screen: Shows players their live position in line, the total queue size, and a custom (configurable) message, including a separate message when the queue is paused.
- Minimum Wait & Size Cap: Optional min_queue_seconds forces every player to wait a minimum time, and max_queue_size can cap how many players the queue holds.
Commands
All commands require permission level 2 (OP). Changes are saved automatically and take effect immediately.
Command Description /joinqueue status Shows master switch, release state, server-ready state, TPS, queue size, threshold and staff/VIP counts. /joinqueue toggle Enables or disables the entire mod (master switch). /joinqueue pause Pauses the queue (players accumulate but are not released). /joinqueue resume Resumes releasing players. /joinqueue reload Reloads the configuration from config/joinqueue.json. /joinqueue staff <add|remove> <player> Adds or removes a player from the Staff (bypass) list. /joinqueue vip <add|remove> <player> Adds or removes a player from the VIP (fast-queue) list. /joinqueue list <staff|vip> Lists all members of the Staff or VIP list.Technical Details
- Runs entirely in the Configuration Phase, before the player fully joins the world.
- Uses ConcurrentLinkedDeque and AtomicInteger for thread-safe performance.
- TPS is measured via a rolling 40-tick ring buffer using nanoTime.
- Extends the server keep-alive timeout (15s → 2min) via a Mixin so queued players are never kicked while waiting.
- Released players that never complete the join handshake are dropped after 15s so the line never stalls.
- Compatible with Arclight/hybrid servers (chunk preloading is safely skipped there).
- Required on both server and client.
Recommended Gear
AffiliateHardware and extras that pair well with this mod.
As an Amazon Associate I earn from qualifying purchases.
Similar Mods
Simple Mob Buff System
Makes mobs rarely spawn with buffs and drop rewards based on how strong they are
Unusual End - Tinkering Additions
Compat between Unusual End and Tinker's Construct
Harder Mobs
Amp up your survival difficulty with faster, smarter, and tougher mobs
No More Ocean Ruins
Removes ocean ruins from the world generation.
Wayfinder
A new Immersive exploration mob that takes you to your desired biome! This mob creates a more lore & balanced way of fin...
Stacks Are Stacks
Increases stack size for all items to 64, including Shulker Boxes, Totems, Enchanted Books & Potions. Now configurable!