joinqueue-1.2.0+1.20.1-fabric.jar
Curse Maven Snippet
What's new
First release built from a single source tree for six Minecraft versions, and a large round of bug fixes: several of them are the reason players were dropped from the queue or bounced the moment it was their turn.
⚠️ Update the server and all players together
The queue protocol changed. Forge and NeoForge refuse a connection when the two sides do not match, so an old client cannot join a 1.2.0 server and a 1.2.0 client cannot join an old server. JoinQueue is required on client and server.
Supported
| Minecraft | Loader |
|---|---|
| 1.20.1 | Forge 47.x, Fabric |
| 1.21.1 | NeoForge 21.1.x, Fabric |
| 1.21.8 | NeoForge 21.8.x, Fabric |
Critical fixes
- Waiting players were disconnected after about 30 seconds. The mod raised the server's keep-alive interval to two minutes, which meant the client sent nothing in between - and the server closes any connection it has not heard from for 30 seconds. Everyone in line was dropped, reconnected, and started again at the back. Queue positions barely moved as a result.
- Players were disconnected at the very moment the queue let them in. Minecraft checks "is the server full?" a second time when the player actually joins. If the queue was at its limit right then, that check refused the player who had just waited for their turn. The queue now keeps a promise it made: a released player is let in even while the queue is full.
- The queue stopped sending anything to a player whose position did not change. Sitting at position 9 meant hearing nothing at all, which ran into the client's own 30 second timeout. The server now sends at least every 5 seconds.
- Preparing a player froze the whole server. Chunk preloading waited for chunks on the main thread, which stalled every tick - once per release. Chunks are now loaded in the background.
- On Minecraft 1.21.2 and newer, the first player never got in. An empty server stops ticking after 60 seconds, and a queue that is not ticked never releases anyone.
- "Leave Queue" did not actually leave. The connection stayed open: the player kept their place in line and was pulled into the world later, out of the main menu.
- The player limit could be bypassed in some cases, and VIPs could overtake each other.
New
min_release_tps- the TPS the server has to hold for players to be let in. Below it, releases stop and the queue switches itself on, so a lag spike is not made worse by more joins. Default8.0, maximum20, and0turns the TPS check off completely./joinqueue statusshows the current TPS and the limit in force.- One place in line per player. A second login with the same account is refused instead of taking another slot, so nobody can push the line back by opening several clients.
- Forge 1.20.1 only: a workaround for a race in Forge itself that left clients stuck on "Connecting to the server..." until they timed out. It is not caused by JoinQueue - it happens just as often with the mod switched off - but a queue is where it hurts most, so the Forge build now repairs it.
Also fixed
- A typo in the config file used to overwrite it with defaults, wiping the staff and VIP lists. A broken file is now backed up to
joinqueue.json.bakfirst. - The default staff list shipped with "steve" and "notch" on it. On an offline-mode server that let anyone with those names skip the queue and the player limit. It is empty now.
max_queue_sizeonly applied while the server was full; it applies always (VIPs excepted).- Players who joined while the queue was paused kept seeing the pause message after it resumed.
- After being released, the client briefly showed the title screen instead of the joining screen.
- Queue timers no longer use the wall clock, so a system time change cannot stall the queue.
- Malformed queue packets are ignored instead of breaking the connection.
- Version ranges in the mod metadata were too wide and let the mod load on versions it was not built for.
Notes for server admins
- Check
max_queue_sizeinconfig/joinqueue.json.0means unlimited. /joinqueue statusnow also reports the TPS limit;/joinqueue reloadapplies config changes without a restart.- Staff and VIP lists match by player name.
- On Fabric the mod is not forced onto clients. A player without it still waits in line correctly, they just see the normal loading screen instead of the queue screen.
This mod has no additional files

