Mod
Joinqueue
No reviews yet
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.
Does not follow a specific thematic focus apart from vanilla Minecraft.
Used for mods with little to no gameplay elements.
Includes quality of life improvements and small tweaks to enhance and customize gameplay.
Includes tools and features for server management.
Neoforge is a fork of the Minecraft Forge available for versions 1.20.1+ of Minecraft. Many Forge mods are compatible with Neoforge and vice versa.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
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 pauseand/joinqueue resumeto stop or start the login process manually, or/joinqueue toggleto 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_mssafety 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_secondsforces every player to wait a minimum time, andmax_queue_sizecan 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
ConcurrentLinkedDequeandAtomicIntegerfor 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.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources