EarthMC / Issue-Tracker

The public issue tracker for the EarthMC Minecraft server.
https://earthmc.net
38 stars 23 forks source link

[ISSUE] The problem with the queue system: Ordering and priorities #723

Closed MypleSyrup closed 5 years ago

MypleSyrup commented 5 years ago

There are many ways to implement a queue system and EarthMC does it the worst way possible..

EarthMC has two types of queues: Priority and standard. Priority pays to join first, and gets to skip to the front of the line.

There are two ways that EarthMC could have it currently implemented, one is lazy, the other doesn't even pause to consider an acceptable solution.

The lazy solution is one where there are two separate queues players get placed into Once the priority queue is empty, the standard players get to join. It can be better with minimal effort.

The other dogshit excuse for a solution is one where there is only one queue and priority players get placed at spot #1 This is the worst possible solution for both standard and priority players, as both get pushed back whenever a priority player joins.

THIS IS NOT WHAT YOU WANT!! YOU SHOULD NEVER MOVE BACK IN A QUEUE!

Here is my proposed solution:

First, have 2 separate queues and only display your position for the queue you are currently in. This way, you'll never move backwards

Second, have the queues alternate. First a priority player joins, then a standard player joins. This could be easily modified from a 1:1 ratio to a 2:1 or a 3:1 ratio, and extra queues that cost different prices could be added for something like a 3:2:1 ratio.

Please fix your frustrating excuse for a queue system. I'll do it for you if you let me. Thank you. -MypleSyrup

P.S: Perhaps a zipper system is already used, but the queue is added up. How an application feels is just as important as how it functions.

KarlOfDuty commented 5 years ago

We decided against doing that as it would often lead to priority players having a longer queue than normal players when the queue is shorter and especially after server restarts.

In any case, you don't have to be such a dick about it.

docwhomc commented 5 years ago

While rude, MypleSyrup did have a good underlying point... there are disadvantages to the priority queuing system used by EMC.

If the rate players with priority join is faster than the rate at which players get onto the server, then players without priority end up stuck in the queue indefinitely. (See also Starvation (computer science).)

KarlOfDuty, would you consider implementing an aging system to alleviate this?

In a worst case scenario, frequent or protracted lockouts (of non-priority players) cause more and more players to buy priority, which in tern leads to longer, more frequent lockouts. Eventually, there is a perpetual lockout in which priority is effectively mandatory.

MypleSyrup commented 5 years ago

Sorry for being rude, but my frustrations should be clear-

The current system is extremely frustrating, and I feel the least that could be done is that the queue could be displayed differently to stop the feeling that you're moving backwards.

Second, your current system might cause even priority players to get pushed back. As I do not have priority, I can not be sure. Please read my paragraph, because even though it is ranty, it does describe a very real problem.

Fixing issues like this adds to the overall experience of the server. If I may draw a comparison, 2B2T has 7 hour queue times but I never feel remotely as frustrated waiting 7 hours compared to the 30 minutes - an hour in EarthMC