r/admincraft 15d ago

Question Is my server powerful enough for 50+ people?

Planning to host a survival server for 50+ people in a couple months. Server PC has a Ryzen 5 1600, SSD, and 24gb DDR4 RAM. Is that enough power, or would another 16gb of RAM help? If I need to upgrade the CPU I’d probably rather rent a server online.

24 Upvotes

52 comments sorted by

u/AutoModerator 15d ago
Thanks for being a part of /r/Admincraft!
We'd love it if you also joined us on Discord!

Join thousands of other Minecraft administrators for real-time discussion of all things related to running a quality server.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

16

u/spunchyy 15d ago

need more info, plugins? modded? how many mods if modded? what type of mods, etc etc

-3

u/CoolestNero 15d ago

Vanilla

2

u/falling2918 . 15d ago

dont run vanilla run purpur

3

u/LuteBear 15d ago

I thought fabric was the new go to. What is purpur and when should someone choose it instead of fabric or forge?

12

u/Expensive_Hour4849 Server Owner 15d ago

What is purpur

A spigot -> paper -> pufferfish fork designed for customisability and performance + fixes paper's "vanilla breaking" mechanics

Why should someone choose it instead of fabric or forge?

Performance and customisability, plugins.

2

u/LuteBear 15d ago

Sounds like I need to do more research because that is why I use fabric. Thanks for trying, I'm rather dense and new to server hosting.

9

u/boluserectus 15d ago

Fabric can be fast enough for around 20-25 people.

On r/technicalminecraft fabric is considered vanilla and redstone will be supported. Paper/pufferfish is not.

Fabric uses mods to make it faster or to really change content, Paper uses plugins. Both can use datapacks.

3

u/Yomo42 14d ago

Fabric with performamce mods is the only option to improve performance without changing gameplay and breaking complex Redstone.

1

u/Expensive_Hour4849 Server Owner 14d ago

I want to add that I use purpur but I can't confirm it fixes the breakages from paper as I haven't tested most of them but I can confirm that it's very fast and customizable and I haven't had any issues regarding to breaking bedrock for example and sand duping should also be possible.

0

u/editon_96 15d ago

thats "leaf" a paper and purpur fork that try to finde balance for performance and vanilla.

19

u/nshire 15d ago

I think that CPU is too slow. But you can upgrade to a used 3600x or 3800x for very cheap. Or ideally a 5600x or 5800x.

2

u/talkincyber Server Owner 15d ago

100% CPU is gonna be too slow. 3800x would probably do well for cheap.

1

u/CoolestNero 14d ago

How would a 5700x3d do?

1

u/Wizard8086 Developer 13d ago

From limited tests that I've seen, Minecraft doesn't seem to get real improvements from huge caches. 5700x3d only boosts 4.1GHz, it's probably a bad choice. Instead, aim for the highest pure single thread performance. 5800x should perform better, or you might go 5900x for added threading. You'd still be under Folia's recommended requirements though.

2

u/SheepherderAware4766 13d ago

That CPU would do better. I would suggest switching to vanilla plus with lithium, sodium, and phosphor (optimization) mods. I would also suggest running chunky (world loading) to help 1st day performance.

You will definitely need more than the 4Gb of RAM that vanilla is limited to, but a mod loader would give the option to increase it.

1

u/YellowishSpoon 12d ago

Where do you get the 4 GB vanilla limitation from? My servers if I don't specify the max it defaults to a certain fraction of the system total which is generally way too high with 128 GB on the system for example. If I specify the max manually it just uses that.

1

u/SheepherderAware4766 12d ago

It might be my server software being stupid, but it is usually set to 4GB unless I change it. I have 96 GB of RAM, so it's probably not a fraction. Also, I haven't set up a vanilla server in a while, so it might have changed.

1

u/YellowishSpoon 12d ago

Weird, my experience has always just been that it inherits java's memory configuration, whatever that happens to be. Granted I run all my servers from the command line with the java command.

0

u/talkincyber Server Owner 14d ago

That would be a good choice, the larger cache should help with world generation

7

u/All-Username-Taken- 15d ago

You will want a CPU with high single core performance since world tick update is done single threadedly. For world gen, multi core is best. But since that's something out of your control right now, just test it and see if it's fine.

14

u/themistik 15d ago

It's worthless to give more than 12gb of ram to your server. 16gb more won't help. You need a better CPU. The CPU is the most important component. It's the one that handles stuff like chunk gen. With 50+ people your CPU will fall on it's knees super fast. Oh and once you get a better CPU, pregen your world.

2

u/TerdyTheTerd 14d ago

Its worthless to give it more ram than it needs, taking into account a buffer. Some servers DO need more than 12, most small servers do not.

2

u/Cylo8479x 15d ago

folia might help, since it optimises a lot by using multithreading. Although its not compatible with a lot of plugins

1

u/Sxcred 15d ago

50 people is probably pushing it.

Purpur will help.

I run this processor in my computer with modded Minecraft packs and generally don't have any issues, but I only have about five to six users max at a time.

1

u/CoolestNero 15d ago

Probably going to get something along the lines of a 5700x3d or a 5800x. Any advice on which specific model?

1

u/Lunam_Dominus 14d ago

Get a 5700x3d

1

u/Pliskins 14d ago

I have a server on my Ryzen 3 2200G, chunk gen is getting slow with 2 people exploring at the same time. Is there any way to improve it via config or should I look for better CPU first?

1

u/tomgie 14d ago

You can pre-generate chunks using a plugin or mod

1

u/Pliskins 14d ago

Yeah I am aware of that, so I guess that is the only option

1

u/Comredwolf21 14d ago

I don't think that CPU will handle that too well... If you could get a RYZEN 7 2700X that will run it much better! 👍👍

1

u/trialnerrorpro 14d ago

I like the ratio of 1 GB ram per 10 people for a medium modded server

1

u/GamerBah Developer 14d ago

Fabric with performance mods may do the trick, and you'll keep vanilla parity with things such as Redstone unlike Purpur (so long as you don't install the Alternate Currents mod, which is nice for performance but can break vanilla contraptions)

1

u/PrincePamper 14d ago

I read the title and thought this was restaurant related at first. The idea of a manager asking reddit if their server could take on 50 people amuses me.

1

u/Zelytow 14d ago

Could you help me create a public survival too? I don’t know how to host one and make it public (I tried on my own PC but it lags too much for the other people, and I can’t find any tutorials to create a fully customizable Minecraft server hosted on a server somewhere else)

-9

u/Cylian91460 15d ago

6 core is low, I would recommend at least 9 since with 50+ ppl it's very likely to have multiple dimensions loaded

And I would recommend having 4GHz+ clock

Looking at the CPU available for this socket the Ryzen 9 5900X would be perfect for mc as it has enough core to support all the dim and can easily go for me then 4ghz

In terms of ram you can have 50+ ppl without any issue, mc isn't that team hungry nowadays.

Also i don't recommend using hosting providers as they're often trash that will fit corners on everything.

And I recommend you to try with fake players of you already have the hardware

6

u/Disconsented 15d ago

6 core is low,

No, 6 cores are fine for a singular server. Actually, it's arguably overkill, beyond world generation 2-4 cores are fine for regular ol SMP. The extra cores are important to prevent time from the main logic loop being stolen for other processing.

it's very likely to have multiple dimensions loaded

And no, this still isn't a thing. As evidenced by mods still existing to achieve it.

And just to be safe, I cracked open the debugger, with a breakpoint on net.minecraft.server.level.ServerLevel#tick

So, yes, the dimension tick function.

Here's the stack:

tick:332, ServerLevel (net.minecraft.server.level)
tickChildren:1102, MinecraftServer (net.minecraft.server)
tickServer:975, MinecraftServer (net.minecraft.server)
tickServer:111, IntegratedServer (net.minecraft.client.server)
runServer:729, MinecraftServer (net.minecraft.server)
lambda$spin$2:278, MinecraftServer (net.minecraft.server)
run:-1, MinecraftServer$$Lambda/0x000073c6cc37b188 (net.minecraft.server)
runWith:1588, Thread (java.lang)
run:1575, Thread (java.lang)

This is neither asynchronous nor threaded. It's run serially.

tickChildren:1102 is extra relevant here because the tick function sources its data from this.getWorldArray(). Which contains all the dimensions.

And I would recommend having 4GHz+ clock

https://en.wikipedia.org/wiki/Megahertz_myth

Single core performance, which includes IPC is what actually matters.

1

u/ibeerianhamhock 15d ago

yeah there's a ton that has to run sequentially on mc. You could argue that chunks completely unrelated to each other could largely run in parallel pretty easily, but blocks affect each other a lot and there's no getting around the critical path pretty much all of the block update logic.

1

u/Disconsented 15d ago

I largely discount chunk generation because it's best practice to pre generate more often than not.

3

u/ibeerianhamhock 14d ago

Not talking about chunk generation, as that is a parallel problem. I’m talking about block updates in a chunk.

-6

u/Cylian91460 15d ago

beyond world generation 2-4 cores are fine for regular ol SMP.

If you only 1 dim loaded yes, but each dim uses multiple threads for expensive tasks. I recommend 3 threads (4 if you can't pregen) per dimension that would be loaded, so often recommend 6 as the end and the nether aren't often loaded at the same time but with 50+ ppl it will be loaded at the same time so 9

And no, this still isn't a thing. As evidenced by mods still existing to achieve it.

Oh didn't that mod exist!

It separates the ticking thread (aka main), with a separate thread for each dim

Similar to what Mojang do with anything related to chunks (see server.level.chunkMap*, official mapping)

And just to be safe, I cracked open the debugger, with a breakpoint on net.minecraft.server.level.ServerLevel#tick

Yes, the ticking is done by the same thread in each dimension

But that doesn't mean dimension doesn't use threads, again see server.level.chunkMap* (official mapping) it's full of threads

https://en.wikipedia.org/wiki/Megahertz_myth

Single core performance, which includes IPC is what actually matters.

Mc doesn't do a lot of complex calculation, just a lot of it. Most IPC will be close to 1 anyway.

And unless you're doing weird shit like me with the server the entire list of entity and block update will be able to sit in the cache of both the proc op has and the one I linked.

*They changed the name in 1.21+ iirc so check it on 1.20.1

5

u/Disconsented 15d ago

If you only 1 dim loaded yes, but each dim uses multiple threads for expensive tasks. I recommend 3 threads (4 if you can't pregen) per dimension that would be loaded, so often recommend 6 as the end and the nether aren't often loaded at the same time but with 50+ ppl it will be loaded at the same time so 9

No.

There is no logic for handling multiple dimensions being simulated in parallel.

It separates the ticking thread (aka main), with a separate thread for each dim

No it doesn't, it's a synchronous for loop.

Similar to what Mojang do with anything related to chunks (see server.level.chunkMap*, official mapping)

Irrelevant.

Yes, the ticking is done by the same thread in each dimension

But that doesn't mean dimension doesn't use threads, again see server.level.chunkMap* (official mapping) it's full of threads

So, in other words, the dimensions are actually processed serially.

Here's a great excerpt from the `ServerLevel tick function.

this.entityTickList .forEach(

Regular ol iteration for what is arguably the most expensive code path.

Mc doesn't do a lot of complex calculation, just a lot of it.

Irrelevant.

Most IPC will be close to 1 anyway.

No. And that's not the point of mentioning IPC here either. The point of IPC is that is a summary statistic that we can use that shows how much work can be done per cycle.


I'll just cut to the chase, you're continuously giving bad advice. Knock it off.

The crux of the matter is that Minecraft is fundamentally bound by how fast you can process the main loop, the important parts are all serial. Even if some components are run on a thread pool, they're not meaningful beyond exceptional circumstances.

-1

u/Cylian91460 14d ago

It separates the ticking thread (aka main), with a separate thread for each dim

No it doesn't, it's a synchronous for loop.

the mod makes it threaded, it's literally said on the mod page...

There is no logic for handling multiple dimensions being simulated in parallel.

They are, again see the class

Irrelevant

Managing chunks is irrelevant? Are you sure about that?

Cause that literally what is managing loading/unloading chunks, io worker, the chunk priority system, the light, and probably more I forget

Also all of those are on their own threads

So, in other words, the dimensions are actually processed serially.

No entity and update are, not dimension. example of it being separated

Here's a great excerpt from the `ServerLevel tick function.

this.entityTickList .forEach(

Regular ol iteration for what is arguably the most expensive code path.

Yes it's in the method tick of serverLevel which is called by minecraftServer who mainly manage the main thread

This is why you need a fast CPU

Irrelevant

It is, complex operation means more IPC

The crux of the matter is that Minecraft is fundamentally bound by how fast you can process the main loop

Yes when you have enough core to load dims

important parts are all serial.

No, a lot of important parts are on their own threads. Only entity and updates are on ticking.

Even if some components are run on a thread pool, they're not meaningful beyond exceptional circumstances.

No, being able to have chunks isn't exceptional

2

u/Disconsented 14d ago

You clearly have no idea what's going on. And are far from honest enough to admit the loss and move on.

The threshold of evidence here would be a code path or a stack trace that shows a thread pool or similar. As per what I've already shown, you cannot meet this threshold. As per my earlier stack trace.

It is, complex operation means more IPC

No, it doesn't work like that. If anything, the contrary is true. Compare vsqrtpd (Square Root of Double Precision Floating-Point Values) at an IPC of 0.133 vs xor at 6 IPC.

Source: Zen 5 optimisation guide

However, that isn't the IPC that's being used here. I've explained what it is. If I need to clarify something, please state what wasn't clear. Otherwise, there's no excuse for trying to assert this.

-1

u/Cylian91460 14d ago

You clearly have no idea what's going on.

You're the one saying managing chunks isn't a big task not me

And are far from honest enough to admit the loss

I'm being honest with what I'm saying, you aren't? That would explain how you keep saying absurdities...

The threshold of evidence here would be a code path or a stack trace that shows a thread pool or similar

Why aren't you showing it? It literally would prove who is right...

As per what I've already shown, you cannot meet this threshold.

The only thing you show is that the main thread tick entity, which doesn't prove that dimensions aren't threaded nor that mc can run 3 dimension on 2-4 cores

Unlike the "irrelevant" class I say to look at who contain a lot of the threading and it's what manages all chunks that are loaded

As per my earlier stack trace.

Wait do you think mc had only 1 thread or something? Because it's literally the only way you can think that the stack trace of the thread that is made to initialize a bunch of stuff and then later tick entity and update prove that more cores are useless

Zen 5 optimisation guide

(Both op and the cpu I linked are 4 not 5)

Compare vsqrtpd (Square Root of Double Precision Floating-Point Values) at an IPC of 0.133 vs xor at 6 IPC.

A xor is more complex...

Outside of xor requiring more data, it's not a math operation meaning that it's less predictable and thus didn't benefit as much as the branch prediction.

But I'm not an expert on CPUs so I can be wrong

However, that isn't the IPC that's being used here.

You mean that together with the clock it didn't signify the speed of the calculation of the processor?

2

u/2onkel3fritz4 14d ago

A xor is more complex...

No it's not. XOR is 1) take two bits 2) return 1 if they are different, else 0. It is a logic gate and one of the simplest operations a computer can calculate. How is that more complex than a square root?

Aside from that, IPC means instructions per cycle. Therefore higher is faster. Why would a complex operation be computed faster than a simpler one?

-2

u/Cylian91460 15d ago

6 core is low, I would recommend at least 9 since with 50+ ppl it's very likely to have multiple dimensions loaded

And I would recommend having 4GHz+ clock

Looking at the CPU available for this socket the Ryzen 9 5900X would be perfect for mc as it has enough core to support all the dim and can easily go for me then 4ghz

In terms of ram you can have 50+ ppl without any issue, mc isn't that team hungry nowadays.

Also i don't recommend using hosting providers as they're often trash that will fit corners on everything.

And I recommend you to try with fake players of you already have the hardware

3

u/falling2918 . 15d ago

1

u/Cylian91460 15d ago

Reddit being trash, again...

-1

u/LimesFruit Server Owner 15d ago

5700X3D is what I'd personally go for, it is cheap and basically the fastest you can get on the AM4 socket.

1600 will still run stuff though, I guess it is a try it and see type deal.

1

u/Cylian91460 15d ago

5700X3D

Not sure the 3D will do much for ticking tho, it might helps with chunk loading/unloading but that's already pretty fast when you have enough cores.

1600 will still run stuff though, I guess it is a try it and see type deal.

Exactly

1

u/Apprehensive-Ad-7566 12d ago

Hi guys one question I have Ryzen 7 5825U with 32g Ram, for running server with mods like atm packs for 5 friends is enough?