This article explains a little bit about how threads work in Minecraft, and what a dedicated thread is

But wait, isn't Minecraft single-threaded?

It's a common misconception that Minecraft can only use one thread. Whilst this used to have some sense of truth, especially with older versions such as 1.7.10, with more recent versions this has become more and more untrue. The latest version of Minecraft (and especially Paper) does still use one thread for the main logic loop, and things such as Entity AI and physics, however it also uses multiple other threads for other tasks that would usually take up valuable time on the main thread, such as chunk generation, lighting, and also running most plugin code.

This means that in fact, Minecraft can and does use Multiple threads. Here's the CPU graph of a fresh Paper 1.15.2 server booting up, you can see it is using up to 300% which means that it's using almost 3 full threads, and if it were to have less threads than this then the boot would be slowed down by the CPU bottleneck:



Okay, so, what's a thread?

A thread is essentially a measure of CPU power. For example, take the i9-9900K. This CPU has 8 cores and 16 threads. Each of these 16 threads is capable of working on one task, all by itself. So, for example, one thread could be generating a chunk, while another calculates whether a sand block is hovering in the air or not. A third could be running your AntiCheat plugin. All the threads work together as fast as they can to do things as soon as they come in. Most servers, however, would not be able to use anywhere near the full amount of threads on a CPU such as the i9-9900K, therefore on a node we would have multiple users all sharing the same threads.

Cool. So what's a dedicated thread and why would I want it?

On our shared plans such as Budget and Premium, the threads on the node are shared between all servers on it - this means you would share the CPU with everybody else on the node, and there may be throttles or limits in place - for example, if you were to start flying and generating chunks as fast as you could it might impact others on the node, therefore if you do this for an excessive amount of time and start to cause issues for others, your server may be limited in how much it can use. This is good for most servers as it means everybody gets fair access to the CPU, however if you have a massively intensive server then this might not be ideal.

With Extreme, however, you would just purchase the exact amount of threads you want. So, for example, if you buy 3 Threads, this means that you get those three threads dedicated just to your server. So, you're not sharing them with anybody. This means if you want to fly around with /speed 10 loading chunks, or have multiple players in dimensions raiding bases with TNT, or do both of those things at the same time, you can do so - those threads are yours to use as much as you like with no compromises, no limits, and no chance of somebody else on the node compromising your performance. This would mean you'd get the best possible performance as you're not having to share your CPU power with anybody.
Was this article helpful?
Cancel
Thank you!