Advice for new build - Minecraft and home server lab

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

WoolyGuy

New Member
Apr 19, 2022
7
4
3
I’m building a home server and I could use some advice on hardware, or anything you feel is helpful. Bear with the length of this please. I am new to this and I just don’t want to spend a lot of money and get it wrong again, like my first attempt with a Supermicro board.

I have never successfully built a server from scratch, I have only repurposed old comps. If my thinking and approach to this project is myopic, please share your thoughts on how I should change my approach. Thanks!



Two main purposes of this server:

  • Family Minecraft server. I want the server to allow for a view distance of 32 for up to 5 people at a time, with a decent amount of Minecraft redstone machines and active NPCs. It will be a Forge server with 5-6 mods. Everything I have read says you don’t need a lot for a Minecraft server, but I have repurposed some pretty decent comps and the Minecraft server didn’t run that well because I want to run a Minecraft server with pretty high demands. Right now my server is a Win10 comp running only Minecraft, i5-7500 3.4 GHz CPU, dedicating 12Gb RAM, and it is struggling to keep normal tick rates with a view distance of 32 with 2 people on it at a time.

  • Home server lab for learning server skills and tinkering. My high school aged son is getting into IT right now and he thinks he would like to pursue this career path. My wife and I would also like to start on some database projects that could use a server. I thought it would be fun project as a family. I don’t think the hardware really matters much for this purpose. We will not be accessing the databases constantly, just here and there during the week. I don’t need constant uptime, and I don’t need any RAID array stuff. A simple back up is fine. I just need to host some small databases and a website or two, but I want to build it and run it, not rent space elsewhere. My son wants to learn to manage it, as do I.
Primary Question:

What kind of hardware do I need to run a Minecraft server with a view distance of 30 for five people at a time without my tick rate lagging, and a few small databases for occasional weekly access?
Is the slower tick rate that reliant on hardware anyway, or is it more of a bottleneck due to the games programming? My understanding is that Minecraft is not an efficiently programmed game, so maybe all the RAM in the word won’t let me run large view distances at a normal tick rate.



Budget and current assets:

I would like to keep costs to around $700 on this, but I might spend more if I need to.

Right now I have a case I was thinking about using SilverStone Mini-ITX Case (SST-SG13B-Q-USA) https://www.amazon.com/gp/product/B07MNBWRJT/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&th=1



Here is what I am thinking:

Mobo
: I would like it to be a mini-ITX, but maybe that restricts my mobo options too much? At first, I was looking at using a SoC mobo (like a Supermicro maybe), fanless for both decreased noise and power consumption, but now I am thinking that is a bad idea. I think I need a discrete CPU and a CPU fan for heat dissipation or I will kill the machine eventually. Am I wrong? I have come to think that lack of a fan in a comp is either an overheating failure waiting to happen, and/or an underpowered machine, but maybe I am too biased. Thoughts? On board graphics is fine I assume. Does it matter much if the integrated graphics are CPU dependent?

CPU: Not sure on this one. Was thinking maybe something like the Xenon E-2236, not sure it's worth getting server grade CPU or not. How many cores do I need? Will Minecraft run better with more cores? At most, there might be two Minecraft servers running on this machine at a time, but 80% of the time it will just be one. I don’t know how much the CPU speed really matters either. I know my older supermicro SoC board was slow to do anything and it was a 4 core 2.4 MHz CPU, I don’t want to do that again. Thoughts?

RAM: 32 or 64 I would think, but maybe that is a waste? Or, does throwing 64GB RAM in there probably solve all my issues? ECC RAM, or is that really unnecessary for my purposes too?

Server grade CPU/Motherboard: I see lots of mobos and CPUs listed as “server” grade. Does this matter at all for my purposes? Can I just get a regular mini-ITX mobo and matching CPU? Or, do these server grade boards matter for durability/longevity?

Case Cooling: Any thoughts on cooling an ITX machine. No gaming on this rig, just the Minecraft server and home sever lab. Is a single CPU fan enough? Do I need a case fan at the back too? The case I currently have should accommodate both I think.

Security: This will host a few websites, but nothing sensitive, and no e-commerce. However, I do not want to expose anything else on my network. Any security considerations I should have for hardware?

It will be in my office, so I don’t want a rack system or really loud fans.



Any advice is appreciated, thank you for reading all of this.
 
Last edited:

Nikuuuuu

New Member
Dec 17, 2021
7
4
3
I have my own Minecraft server and I run a few more gameservers and other services at home so hopefully it's helpful advice.

CPU: If you are running a Minecraft server you will want to have something that has higher single thread performance.
I wouldn't go with a server cpu, and would go with either a Ryzen 5600G or an Intel 12400 as they are both relatively low cost and have an integrated gpu so you don't have to use a dedicated gpu in your box. They also both include a cooler so you don't have to go out and buy one. You will want to make sure you cpu has integrated graphics as its the cpu that does that, not the motherboard. Any ryzen cpu with a "G" is a desktop cpu with an iGPU or if it has "U or H" its a mobile cpu with an iGPU. Intel cpus all have an iGPU unless it has an "F".

RAM: I would go with either 16 or 32gb of ram with no ECC as that would mostly be wasted and these cpus don't support them. 16 will be lots if you ware running just a minecraft server and a small database - especially if you decide to run linux. 32 would be good if you plan to have more services in the future. If you go ITX I would buy a single 16gb stick then buy another stick when you think you need to upgrade

Server grade CPU/Motherboard: This does not matter so much for you right now. They might have features like IPMI which would let you remotely manage the server as if you were physically there or ECC RAM which is useful for when you are writing sensitive data to your server that you cannot afford to have any piece changed or corrupted for any reason. These servers are also usually much much louder and can wear you down after a while even if they are in the next room.

Cooling: The cpus both come with a cooler which is more than enough but I would put at least one fan to expel out the hot air and cool your CPU and drives (SSD or HDD).

Storage: I would go with a 500GB-1TB SSD if you can afford it, it will make the experience much better and if you get an M.2 NVME or SATA drive they just slot on the motherboard and you don't have to worry about the cables being in the way.

After all this, you can also look at just getting a mini-pc like the ASUS 4X4 BOX-4800U or I know that Minisforum is releasing the new Elitemini B550 which is a mini pc that has a socketed cpu that you can replace. Going with one of these would be a great option as it is very small and can fit just about anywhere and they consume not much power at all. They are still user upgradable in certain ways like the ram and storage (or in the case of the Elitemini B550, the CPU.) The ASUS BOX might be a bit slower for Minecraft though as its a mobile cpu with lower single core performance than even the Xeon that you posted and wouldn't be much of an upgrade over the i5-7500.
 

WoolyGuy

New Member
Apr 19, 2022
7
4
3
I have my own Minecraft server and I run a few more gameservers and other services at home so hopefully it's helpful advice.

CPU: If you are running a Minecraft server you will want to have something that has higher single thread performance.
I wouldn't go with a server cpu, and would go with either a Ryzen 5600G or an Intel 12400 as they are both relatively low cost and have an integrated gpu so you don't have to use a dedicated gpu in your box. They also both include a cooler so you don't have to go out and buy one. You will want to make sure you cpu has integrated graphics as its the cpu that does that, not the motherboard. Any ryzen cpu with a "G" is a desktop cpu with an iGPU or if it has "U or H" its a mobile cpu with an iGPU. Intel cpus all have an iGPU unless it has an "F".

RAM: I would go with either 16 or 32gb of ram with no ECC as that would mostly be wasted and these cpus don't support them. 16 will be lots if you ware running just a minecraft server and a small database - especially if you decide to run linux. 32 would be good if you plan to have more services in the future. If you go ITX I would buy a single 16gb stick then buy another stick when you think you need to upgrade

Server grade CPU/Motherboard: This does not matter so much for you right now. They might have features like IPMI which would let you remotely manage the server as if you were physically there or ECC RAM which is useful for when you are writing sensitive data to your server that you cannot afford to have any piece changed or corrupted for any reason. These servers are also usually much much louder and can wear you down after a while even if they are in the next room.

Cooling: The cpus both come with a cooler which is more than enough but I would put at least one fan to expel out the hot air and cool your CPU and drives (SSD or HDD).

Storage: I would go with a 500GB-1TB SSD if you can afford it, it will make the experience much better and if you get an M.2 NVME or SATA drive they just slot on the motherboard and you don't have to worry about the cables being in the way.

After all this, you can also look at just getting a mini-pc like the ASUS 4X4 BOX-4800U or I know that Minisforum is releasing the new Elitemini B550 which is a mini pc that has a socketed cpu that you can replace. Going with one of these would be a great option as it is very small and can fit just about anywhere and they consume not much power at all. They are still user upgradable in certain ways like the ram and storage (or in the case of the Elitemini B550, the CPU.) The ASUS BOX might be a bit slower for Minecraft though as its a mobile cpu with lower single core performance than even the Xeon that you posted and wouldn't be much of an upgrade over the i5-7500.
Thank you so much for your time and advice, that explained a lot of things.

I think I will just go for a regular mini-itx mobo then, non ECC RAM, and just a CPU fan and 1 case fan. That’s very helpful.



As for RAM, if you think 16 Gb RAM is enough for my new server than I am not sure what is wrong with my current server setup. It has 16 Gb of PC-2133 and a i5-7500 4core 3.4 (3.8 max) CPU, with 12 Gb RAM dedicated to Minecraft, and the machine does nothing else. I thought that would be enough RAM for view distances of 24-32, but it struggles with only 2 people on sometimes. My goal is 4-5 people on with those extreme view distances.



Isn’t RAM the main factor in how well Minecraft runs? If my current rig struggles with 16, I assume I need 32 or 64 from the start, or, does my older CPU with only 4 cores and a max clock speed of 3.8 factor in more than I thought?



If the CPU makes a significant difference, then I guess I need help better understanding how to compare CPUs. I thought the single thread performance was capped at the max clock speed for any one core/thread, and recruiting more cores/threads would not make any particular task faster, so multiple cores was really only helping performance if you are doing multiple tasks. So how do cores vs clock speed matter for Minecraft performance?

For instance, how to compare these:

Current - i5-7500 4core 3.4 (max 3.8) Kaby Lake

Suggested - i5-12400 6core 2.5 (max 4.4) Alder Lake $230

My idea - Xeon E-2124 4core 3.3 (max 4.3 ) Coffee Lake$210



You mentioned maybe getting the i5-12400, but you also said the Xeon would not be much of an improvement over my current i5-7500. The Xeon has less cores, but high base clock and same max clock as the i5-12400.

Is the i5-12400 that much better than my current CPU because of the cores, the max GHz improvement, both, etc, because it’s base clock is lower than my current build and the Xeon. I know you suggested the i5-7500 in part for graphics support, which the Xeon doesn’t, but that aside, how does it perform better?



I will take a serious look at those minis though, that is a good idea!
 

pinkanese

New Member
Jun 19, 2014
27
10
3
33
Getting that long a view distance on Minecraft might not be possible. Default on recent releases is 10-12, I haven't heard of trying to run much higher than 16 on a server.

Minecraft likes single core performance and cache. 12GB of RAM might honestly be too much. It depends on whether you play on vanilla or a modded version. If you haven't already I would recommend looking into tuning the Java garbage collection. Java by default will fill up all the RAM you give it before it starts clearing space, but using less RAM and clearing it more often can save you from lag spikes. If you still want more performance, look into the Fabric server with Lithium and Phosphor mods, they include optimizations to the AI, lighting engine, and other tweaks to speed things along.

The CPU speed is not the best metric, the architecture of the chip will have improvements outside of just the numbers. Unfortunately I do not know of a good benchmark to help you compare parts. I usually look at the PassMark single core score. Intel Core i5-7500 @ 3.40GHz vs Intel Core i5-12400 vs Intel Xeon E-2124 @ 3.30GHz [cpubenchmark.net] by PassMark Software which shows the i5-12400 in a pretty substantial lead.
 

unwind-protect

Active Member
Mar 7, 2016
424
157
43
Boston
Since you have a minecraft server running already you can use system monitor to see how much RAM it uses (assuming it is less than your physical amount of RAM). Likewise you can see how much multithreading the process is doing.

I would get ECC RAM if you use the server to hold important files. Most quality AM4 boards can use it with a 5600 or whatever is a good CPU for you.
 

Markess

Well-Known Member
May 19, 2018
1,166
783
113
Northern California
I think I need a discrete CPU and a CPU fan for heat dissipation or I will kill the machine eventually. Am I wrong? I have come to think that lack of a fan in a comp is either an overheating failure waiting to happen, and/or an underpowered machine, but maybe I am too biased. Thoughts?
Passively cooled CPUs are either really low power even at high usage (not what you want here), or rely on chassis fans for cooling. For your use case, your CPU will need cooling, be it from a CPU cooler or chassis fans. For a desktop case, a CPU cooler with a fan will probably be more efficient.

RAM: 32 or 64 I would think, but maybe that is a waste? Or, does throwing 64GB RAM in there probably solve all my issues? ECC RAM, or is that really unnecessary for my purposes too?
I would get ECC RAM if you use the server to hold important files. Most quality AM4 boards can use it with a 5600 or whatever is a good CPU for you.
ECC RAM is kind of a waste for a Minecraft server, but you mention you/your wife wanting to put a database on the box as well. If that's more in the line of "mission critical" stuff, you may want to consider it. Even though Ryzen CPUs and most motherboards for them will work with ECC, not all Ryzen CPU/Motherboard combinations with ECC will work in "ECC Mode". You'll want to check any potential choices on product spec pages before buying.

Alder Lake CPUs will also support ECC when paired with W680 chipset motherboards.


Is the i5-12400 that much better than my current CPU because of the cores, the max GHz improvement, both, etc, because it’s base clock is lower than my current build and the Xeon.
As @Nikuuuuu mentioned, single thread performance is important with Minecraft. The Passmark Benchmark single thread score for your i5-7500 is 2284, while the single thread score for the i5-12400 is 3545. The newer generation CPUs can do more with a core than the older generation, even if the base clock is lower.
 

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,647
2,065
113
Passively cooled CPUs are either really low power even at high usage (not what you want here), or rely on chassis fans for cooling. For your use case, your CPU will need cooling, be it from a CPU cooler or chassis fans. For a desktop case, a CPU cooler with a fan will probably be more efficient.




ECC RAM is kind of a waste for a Minecraft server, but you mention you/your wife wanting to put a database on the box as well. If that's more in the line of "mission critical" stuff, you may want to consider it. Even though Ryzen CPUs and most motherboards for them will work with ECC, not all Ryzen CPU/Motherboard combinations with ECC will work in "ECC Mode". You'll want to check any potential choices on product spec pages before buying.

Alder Lake CPUs will also support ECC when paired with W680 chipset motherboards.




As @Nikuuuuu mentioned, single thread performance is important with Minecraft. The Passmark Benchmark single thread score for your i5-7500 is 2284, while the single thread score for the i5-12400 is 3545. The newer generation CPUs can do more with a core than the older generation, even if the base clock is lower.
3500 vs 2280 for passmark.... yes it's a big difference, but curious does it matter that much for minecraft?
If yes are we talking 5 users fine on both but 5+ will be laggy on the lower score or ??
 

Markess

Well-Known Member
May 19, 2018
1,166
783
113
Northern California
3500 vs 2280 for passmark.... yes it's a big difference, but curious does it matter that much for minecraft?
If yes are we talking 5 users fine on both but 5+ will be laggy on the lower score or ??
I'm no expert, but I'd say with default settings....no he does not need that much. Heck, my son routinely had 10+ users on his Sky Factory 4 server with default settings running an i5-4590.

As the OP notes though, he's already running Minecraft with the i5-7500 and its laggy with just 2 users. The way I read his post, he wants to increase it to 5 users while keeping the current settings AND eliminate the lag. I think its probably bogging down because he's got the view distance cranked up so high. So, I have no idea if he needs that much more single thread headroom. But, if the i5-7500 isn't cutting it with 2 users, then I'm thinking he needs a lot more compute for 5?
 
Last edited:

Markess

Well-Known Member
May 19, 2018
1,166
783
113
Northern California
What kind of hardware do I need to run a Minecraft server with a view distance of 30 for five people at a time without my tick rate lagging, and a few small databases for occasional weekly access? Is the slower tick rate that reliant on hardware anyway, or is it more of a bottleneck due to the games programming? My understanding is that Minecraft is not an efficiently programmed game, so maybe all the RAM in the word won’t let me run large view distances at a normal tick rate.
Getting that long a view distance on Minecraft might not be possible. Default on recent releases is 10-12, I haven't heard of trying to run much higher than 16 on a server.

Minecraft likes single core performance and cache. 12GB of RAM might honestly be too much. It depends on whether you play on vanilla or a modded version. If you haven't already I would recommend looking into tuning the Java garbage collection. Java by default will fill up all the RAM you give it before it starts clearing space, but using less RAM and clearing it more often can save you from lag spikes. If you still want more performance, look into the Fabric server with Lithium and Phosphor mods, they include optimizations to the AI, lighting engine, and other tweaks to speed things along.
The comments from @pinkanese and from @T_Minus above got me thinking on this. T_Minus is usually much more on point than me on these things, so I wonder just how much CPU you would really need/can use? I'm sure that "more" CPU will give you longer view distance up to a certain point. But, I suppose that after a certain point, the curve flattens out. Plus, maybe the CPU isn't the issue, and its code, or misbehaving Java (when does Java not misbehave?) or something else?

Have you checked the logs to see if you were getting any errors or warnings? I'm not a Minecraft guru, but helped my son get his Sky Factory 4 server together. Whenever it started bogging down or crashed, it was inevitably one of the players running a mod/hack to fly much faster than allowed and the system couldn't keep up with the screen draws and crashed. There was always a warning about which player was creating the problem and what they were doing. Ours had an i5-4590, and I assume more CPU oomph would have delayed the point when it crashed, but at some point it probably would have anyway.

High School aged kids and home servers: I've been there! Both my kids are pretty experiential learners, so aside from the Minecraft server that was based on an old desktop, I wound up setting up a separate server for them to be able to tinker with and start over with bare metal if they wanted (or needed because they'd gotten themselves in a corner) without impacting anything else. I used some old(er) Ivy Bridge generation parts I had (Asus Z9PR-D12), plus a couple old GPUs to play with passthrough, and some old disks (I seem to throw nothing away) for them to work with arrays an file systems. I did buy a pair of E5-2651 v2 for for it at ~$20 each. They were slow, but gave them 24 cores and 48 threads to work with. If everything is going to be in your office, some old dual processor box may not be right for you, although we got ours to run pretty quiet! But, you may want to consider repurposing the current Minecraft box for the purpose so that your kids can tinker without risk of creating issues with your other programs/VMs.

Cheers!
 
Last edited:
  • Like
Reactions: T_Minus

WoolyGuy

New Member
Apr 19, 2022
7
4
3
Thank you everyone for all the advice and help. I have learned a lot.

Yes, my main goal is to run the Minecraft server with a view distance of 32, or as low as 24 if that is the best it can get. That is the real issue here I think. The first question is can that be done without too much lag? Is there a limitation that the right hardware can't solve? I would like to do that for 5 people, but at least 4.

Really, if it comes down to it, I will buy the hardware necessary. I don't want to spend money on the wrong hardware again though. I just need to figure out what that hardware is, if it can be done at all.
 
  • Like
Reactions: Markess and T_Minus

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,647
2,065
113
I wish I had more to contribute, I'm going to follow along for the education and if\when I stand up a minecraft server can share my results and hardware.
 

WoolyGuy

New Member
Apr 19, 2022
7
4
3
The comments from @pinkanese and from @T_Minus above got me thinking on this. T_Minus is usually much more on point than me on these things, so I wonder just how much CPU you would really need/can use? I'm sure that "more" CPU will give you longer view distance up to a certain point. But, I suppose that after a certain point, the curve flattens out. Plus, maybe the CPU isn't the issue, and its code, or misbehaving Java (when does Java not misbehave?) or something else?

Have you checked the logs to see if you were getting any errors or warnings? I'm not a Minecraft guru, but helped my son get his Sky Factory 4 server together. Whenever it started bogging down or crashed, it was inevitably one of the players running a mod/hack to fly much faster than allowed and the system couldn't keep up with the screen draws and crashed. There was always a warning about which player was creating the problem and what they were doing. Ours had an i5-4590, and I assume more CPU oomph would have delayed the point when it crashed, but at some point it probably would have anyway.

High School aged kids and home servers: I've been there! Both my kids are pretty experiential learners, so aside from the Minecraft server that was based on an old desktop, I wound up setting up a separate server for them to be able to tinker with and start over with bare metal if they wanted (or needed because they'd gotten themselves in a corner) without impacting anything else. I used some old(er) Ivy Bridge generation parts I had (Asus Z9RP-D12), plus a couple old GPUs to play with passthrough, and some old disks (I seem to throw nothing away) for them to work with arrays an file systems. I did buy a pair of E5-2651 v2 for for it at ~$20 each. They were slow, but gave them 24 cores and 48 threads to work with. If everything is going to be in your office, some old dual processor box may not be right for you, although we got ours to run pretty quiet! But, you may want to consider repurposing the current Minecraft box for the purpose so that your kids can tinker without risk of creating issues with your other programs/VMs.

Cheers!
Thanks for the help. Yeah, I think once I build the new machine, I will just give the old one to my son and let him tinker on there first. Once he get more proficiency and has more needs he can take over the new server.

I will run the server tonight with all my kids and test it out, then look at the logs for what is going on. That is a great idea.
 
  • Like
Reactions: Markess

Markess

Well-Known Member
May 19, 2018
1,166
783
113
Northern California
I will run the server tonight with all my kids and test it out, then look at the logs for what is going on. That is a great idea.
Not sure how Forge works, but can you SSH in while the server is running to see messages real time? For ours, we could SSH in, start minecraft, and leave the terminal open to see all the messages and warnings real time as things unfolded. That way, we could figure out just how much the players could "cheat" before it had an impact. If you can change view distance on the fly, maybe you can do some fine tuning diagnostics?
 
  • Like
Reactions: WoolyGuy

WoolyGuy

New Member
Apr 19, 2022
7
4
3
I have been reading up on the Java garbage collector issue in Minecraft. Java in Minecraft uses up all allocated RAM before it clears out unused caches of memory for new calculations. In Minecraft, once you leave an area and start generating the next area, the game is still processing data from the previous area for a while, so it is building up a cache of memory from all the previous calculations it was doing (something like that anyway), and eventually that has to be cleared out by the garbage collector.

The most common school of thought is that if you allocate too much RAM it allows the unused cache to build up too far, and then you get lag spikes when large amounts of cache are cleared out by the garbage collector. So the first solution is you have to balance the RAM, just enough to cover your needs and not too much to allow the cache to build up too much, so your garbage collections are not too large and cause noticeable spikes.

A second solution is to use an "incremental garbage collector" setting, which is uses more resources, but collects the garbage more regularly, keeping the cache build up small, so the collection process is not noticeable. This is some sort of java argument you make, not sure if you have to also download a program or anything.


After thinking about, while I could still use the second option, what happens if you just use a shit ton of RAM instead? If I have 32 or 64 GB of RAM, and give like 90% of it to Minecraft, what would happen? Even if Java uses up all available RAM first, if you have so much RAM allocated, does it cause one of these two things to happen:

1) There is so much RAM that the old caches just kind of end while Minecraft keeps going to new areas, and the garbage collection doesn't happen as much? Meaning you have so much RAM that as you move around even the old caches can't use up all the allocated RAM because they finish their calculations and sort of die off. Is that just an illogical fantasy?

2) The garbage collection is still happens to large caches, but because there is so much RAM available, you just don't notice it?



And lastly, I am not even sure my main problem is from this Java garbage collection issue, it's just another attempt at seeing if there is a software issue that can be resolved before I figure out what hardware I need to make a new server that runs how I want. The main issue is low tick rates (around 30 ms per tick, over 20 causes lag) when the view distance is 24-32 and trying to run 2-5 people at a time.


Edit: I should mention that several solutions suggested using the Optifine mod to help, and I already use the Optifine mod. It's one of the six mods that are used for this particular Forge mod (Conquest Reforged).
 
Last edited:

WoolyGuy

New Member
Apr 19, 2022
7
4
3
We decided to wait on the server a while after the previous discussion, but I am back into research mode again now. Does anyone have any thoughts on my last post about the RAM Java collector. Any help is appreciated.
 
  • Like
Reactions: T_Minus

TheOneRui

New Member
Apr 5, 2023
1
1
3
We decided to wait on the server a while after the previous discussion, but I am back into research mode again now. Does anyone have any thoughts on my last post about the RAM Java collector. Any help is appreciated.
Hi, good decision, research is always great, but sometimes, it also just makes you way more hesitant to take the leap.


After thinking about, while I could still use the second option, what happens if you just use a shit ton of RAM instead? If I have 32 or 64 GB of RAM, and give like 90% of it to Minecraft, what would happen? Even if Java uses up all available RAM first, if you have so much RAM allocated, does it cause one of these two things to happen:
1) Ok, first, I'll describe what would happen. RAM, once allocated to a program, becomes entirely regulated by that program unless another program interferes (bad other program, and bad other programmer, boundary violations). In the case of a Minecraft Server (which, is even more inefficiently programmed than the client, since servers are not Mojangs priority), your RAM will get used up, as you described, until the boundary value, max RAM, and then it will begin rewriting old memory. The act of rewriting on top of old memory is where you start having issues. That old memory, doesn't really just "end". It's preserved, just inactive. the garbage collector needs to be invoked, or memory overwritten, to clear that old memory. In short, what would happen if you used a ludicrous amount of RAM?
Your server will run beautifully, smooth as butter (assuming you aren't running 32 viewing distance), right until you get to that max RAM boundary, one of your kids decides to go find a jungle biome with an elytra, and chunks stop loading, and your kids character suffocates in a wall. Ramping up RAM only delays, and, in my server hosting experience, worsens, the inevitable lag caused.
RAM doesn't die off.

2) Garbage collector doing things, is felt not because of RAM, but because of the "Instructions per Cycle" needed to do its job. Minecraft runs on 1 core, which runs a certain amount of "Clock Cycles" per Second. (I will bring this up again, cause I want to give a better explanation for why the newer i5 beats your Xenon and your i5.) So, to simplify, effectively, once you run out of Unused RAM, your allocated CPU Core starts wasting its instructions per cycle (of which it has a limited amount per cycle, per second) to run the garbage collector. When this hits, and you have a lot to erase, it takes up enough to cause other processes to slow down, per second.


For instance, how to compare these:

Current - i5-7500 4core 3.4 (max 3.8) Kaby Lake

Suggested - i5-12400 6core 2.5 (max 4.4) Alder Lake $230

My idea - Xeon E-2124 4core 3.3 (max 4.3 ) Coffee Lake$210
I have to agree with everyone above, that comparing single threaded performance on a comparison tool is a good standard, but since your kid is interested in IT, I thought I might expand on this. So, to compare these CPU's, first take your use case, a Minecraft server, and look at needs. Others already explained this part, but MC relies almost entirely on CPU single core speeds (since mojang can't be assed to make it multithreaded), so unless you are running multiple servers, many cores doesn't help. Single core speeds are usually measured and advertised in their Clock Speeds, GHz. What's important however, is that clock speeds are not equal. This is because what counts is the "Instructions Per Cycle" that a core can run. Simplified, more instructions per cycle, means more work can be done in that cycle. so if I had two Cores, each at 4.4 Ghz, but one could do double the instructions per cycle, then that core would be twice as good, in single core use cases.

Newer CPU's used to sell large Ghz differences, to show they are better. but the rise of frequency improvements has faded, and now, newer CPUs focus mostly on IPC (instructions per cycle) improvements, next to mild frequency ones, to reach their 20% or 30% or whatever improvement numbers they want to advertise. Thats why a newer i3 (your low end intel) will beat out, say, a 3 generations old i7 in single core scores (that might be an exaggeration). Xeons, for example, are server grade CPUs, great for long run times and stability, but rarely have the newest architecture, and thus slower single core performance.

Yes, my main goal is to run the Minecraft server with a view distance of 32, or as low as 24 if that is the best it can get. That is the real issue here I think. The first question is can that be done without too much lag? Is there a limitation that the right hardware can't solve?
I am sorry to say, but yes, it's a limitation current hardware cannot solve. 32, is a massive view distance. Given most players don't run more than 12, for performance reasons, and you don't often have a vantage point to see all 32 chunks in one direction, it's pretty insane (I've been playing the game for a decade, and tried 32 view distance once, and it just wasn't worth it). The big problem here is your server view distance correlates with your servers loaded chunks. 32, means you are keeping, in theory, a circle of 32 chunks, around your player, loaded, which is roughly 3200 chunks PER PLAYER (and this is only the horizontal axis. Theres a multiplication for each chunk vertically too). Assuming your players are in different locations on your server, no wonder everything is suffering. with a view distance of 12, you render around 450. These chunks, every last one of the 3200, need to be sent to the player, so their client can display all that information to them. This takes up a literally insane amount of Instructions per cycle, FOR EVERY TICK, alongside whatever else needs to be calculated during that tick.

Don't buy new hardware, and as rude as I probably sound, and I am sorry for that, be realistic with your view distance, and knock it down to 12. 16 if you must (roughly 800 chunks), but 24 or 32 is just impractical, and unneccesary, given hills and biomes, trees and oceans, will prevent you from even seeing that far (usually). You can optimize your Garbage collector too, and maybe run a Paper or Fabric server instead of forge (still supports mods) and look at some of the server sided performance mods (optifine does nothing for the servers performance)
 
  • Like
Reactions: sic0048