EarthMC / Issue-Tracker

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

[Feature] The big queue problem #1179

Closed S11Daniels closed 4 years ago

S11Daniels commented 4 years ago

2020-06-30

Everyone has to wait in the queue before they can actually play. Usually the queue is about 100 people and on slightly busier days like weekends 200. When there is another raid because a youtuber made a video on the server, the queue can be higher than 300 (see screenshot). A lot of new players drop out because of the long queue and that is a pity for the server. It's a real problem because the number of people in the queue is usually higher than the players on the real server itself. People don't want to wait an hour or several hours before they can enter the server itself. The more people in Towny, the more nations and cities will be created, but new and older cities will have more members. Many drop out when they have to wait too long in the queue, but also when they notice that the wait is not worth it and they can play better in a server where there is no queue. More people in Towny at the same time is more fun for everyone as more epic projects emerge and nations and cities will grow more.

Me and many others would like to see more people in Towny at the same time so that the queue is shorter and the servers can welcome and keep more new players.

I once talked to a mod about server issues when you allow more people into Towny. When many new players join the same place in America where we all start today, the server can crash quickly. But certain plugins can also cause the server to crash when there are more people in Towny, this problem with the plugins and more people have I seen in multiple servers. It may take a while before the server and the plugins can handle it or it is fixed, but then everyone is happy that they no longer have to wait, or less. When youtubers can finally promote the servers and there are a lot more raids coming, it would be best to offer gold, claims or other special things in the shop that people can buy and then the server will earn money to maintain it. Donating to the server should also be an option in the shop and you can easily send an ad for the shop in chat every fifteen minutes through a bot.

GRAnimated commented 4 years ago

Even on 1.13.2 when the server max was 175 and 200, the server was much laggier than it is now to the point where people were leaving due to it. This is a problem that cannot be fixed.

S11Daniels commented 4 years ago

Usually, large servers such as Hypixel, for example, pay a lot of money to let thousands of players play on their server. I think it is a money problem. A mod once said it in the Discord chat. There are many ways to make money as a server, but that sometimes makes the gamemode pay-to-win and that's not always fun. But if it is a money problem, the server should make deals with youtubers. The youtubers get money through video's they make on the server but sponsor also the server so that more and more players but maybe youtubers become interested in the server. A sort of Hermitcraft-effect. Youtubers get extra gold to expand their city / country etc. because they sponsor the server a little. But the server itself should also promote the shop more in the Towny and Queue chat every few minutes, every other server does it.

ghost commented 4 years ago

As a java programmer who has looked into the minecraft code several times, I can tell you that it is not a money problem, but a server program architecture problem. The minecraft server was written as a single threaded program, meaning it can only utilize one core per cpu. If you have a CPU with 4 cores or 32 cores, it doesn't matter if the cores are the same speed, because the minecraft server will only use one core. It was written like this because it's easier to write it like that. (It's worth noting that lighting is handled in a different thread now, but that is extremely minor compared to everything else.)

The reason Hypixel is relatively lag free is because there's rarely ever more than 20 players in one world, and even if they are, they're not doing lag intensive stuff, just pvp with occasional building usually. Because they have different worlds, they can use multiple servers and CPU cores and distribute the load. Earthmc, being just one world, cannot do that.

It is very complicated and time consuming to rewrite the minecraft server to be multithreaded because there will be many synchronization problems. I've been considering doing that in free time, but the task is just too monumental for one person to do in a reasonable time frame.

jkmartindale commented 4 years ago

ngl I'm not sure what this issue is asking for

ghost commented 4 years ago

They want a shorter queue, which even if possible, wouldn't happen because that's the server's monetization model

ghost commented 4 years ago

Adding onto @bluestonecarrot ‘s talk about single threaded bottlenecks in Minecraft, a comparison with hypixel to show that high players counts are possible, is naive. Hypixel uses a system called BungeeCord which allows multiple servers to talk to each other at once. EarthMC also uses bungeecord in a very limited manner. For example bungeecord is used for the lobby server to talk with the towny server for things like queue. So you might ask why not have bungeecord run on multiple towny servers? If you do that you lose the data synchronization between the towny servers which means that you can’t see what others are doing on separate servers, defeating the idea of “geopolitical” as a whole. Hypixel can get away with this because their game modes aren’t persistent like the towny gamemode is, and data synchronization between servers isn’t needed. Because hypixel uses multiple single threaded instances as opposed to one instance, it runs better even if the hardware specs are the same as EMC. Hypixel doesn’t have 1000’s of players on a single server, they have 1000’s of players in their network which is a big and important difference. So let’s pull this all together, EMC is not limited by hardware, and comparing it to hub servers like hypixel is erroneous. EMC is limited by the server software which struggles at around 150 online, there’s really not much you can do at this time to fix this.

ghost commented 4 years ago

And again, for anyone else reading this and wondering why no one has made a multithreaded server, the answer is that it is very hard and time consuming. For one person to do it casually, it would take at least a year, and I don't see anyone working 8 hours a day on it for no pay. If mojang wanted this to happen, they definitely could do it and do have the resources and money, but there is not enough demand for it as there is almost no demand as very few servers have this many people on one world.