Honest question: is that a lot?
Testing a 1,000 player Minecraft server with Folia
111–120 of 166 posts
Re: Testing a 1,000 player Minecraft server with Folia
#112Earlier quoted context omitted.
But each has to do a lot of stuff. People on such big servers build farms with hundreds of mobs dropping thousands of items which then go through redstone sorting systems.
The kind of mental gymnastics that people do here to justify needing 8 GB of RAM with a turnover of 3 GB per ~minute~ second to handle 1000 users.
Re: Testing a 1,000 player Minecraft server with Folia
#113What about ZGC?
Somewhat orthogonal to what Folia is doing, and already explored by the community. Folia's main trick is to dynamically split the "main game tick loop", where logic and actions are processed into several threads based on location. Such that processing for say a mob farm in the South of the map does not impede on processing for a hopper based storage system in the North West etc. This doesn't solve the everyone's at o…
Re: Testing a 1,000 player Minecraft server with Folia
#114Earlier quoted context omitted.
But each has to do a lot of stuff. People on such big servers build farms with hundreds of mobs dropping thousands of items which then go through redstone sorting systems.
> People on such big servers build farms ~Normally, yeah, but Folia is based on Paper which, AFAIK, is known for its unreliability when it comes to the technical aspects of Minecraft (ie redstone and farms.) Even your bog-standard simple item sorter is apparently a bit hit-or-miss on Paper.~ Edit: Possibly outdated info, things sound better re: technical Minecraft support on Paper now according to 'ocelotpotpie.
Re: Testing a 1,000 player Minecraft server with Folia
#115Earlier quoted context omitted.
> Each player loads in a lot of living entities (monsters/animals/...) and block entities (furnaces, redstone, ...) that all need to update. Sure, but that list of entities in the area is close to static (apart from crazy redstone magic). One would expect them to be pooled and not have many allocations for each tick.
But each has to do a lot of stuff. People on such big servers build farms with hundreds of mobs dropping thousands of items which then go through redstone sorting systems.
But that's not even what we're talking about here. This was a short-lived test server with new environment, not huge farms. The super high GC stats we see here are the baseline behaviour. More complex scenarios will push this even more.
Re: Testing a 1,000 player Minecraft server with Folia
#116Interesting to see how they scale a multiplayer big world. Not many systems try to do this. Improbable, Minecraft, Second Life, and Roblox are the ones I know about. Almost everybody else shards. Any other examples of really big shared seamless multiplayer worlds?
Ultima Online, Star Wars Galaxies, and Planetside
largest multiplayer video game PvP battle (8,825 players) most concurrent participants in a multiplayer video game PvP battle (6,557 participants)
Re: Testing a 1,000 player Minecraft server with Folia
#117Earlier quoted context omitted.
EVE Online
I believe they shard each sector and their inability to sub-divide their hosting on a sector level has created their infamous timewarped battles?
largest multiplayer video game PvP battle (8,825 players) most concurrent participants in a multiplayer video game PvP battle (6,557 participants)
Re: Testing a 1,000 player Minecraft server with Folia
#118Earlier quoted context omitted.
> Always fun to continue to see innovation within the Minecraft Java space. Just don't expect that innovation to come out of Mojang/Minecraft
Let's all remember that Notch didn't want any multiplayer and purposefully did everything he could to make it painful. Minecraft would be dead without the community devs and artists.
Re: Testing a 1,000 player Minecraft server with Folia
#119Cool stuff. The possibilities of Minecraft if some optimisation work was done would be amazing. It's demotivating just how rotten the internals of Minecraft are. Bedrock edition has really nice performance but nobody wants to play it.
It's just.... a very sanitized and corporate experience. And for Java edition players just different enough in mechanics / ux / feel to annoy them.
Very much pushes you to stick to official servers or small friend groups, and is quite aggressive on its monetization.
Re: Testing a 1,000 player Minecraft server with Folia
#120Earlier quoted context omitted.
Pooling would have been more overhead than allocation + deallocation? Do you have any relevant readings? No idea how to do it in java but a few pointers ought to be enough. You can also omit clearing the memory area between allocations for things that aren't security sensitive, if that is done in java, which I would assume.
Allocation + deallocation might have more overhead together. I'll try to rephrase: Requesting an object from a pool might have more overhead than allocating a fresh object, and deallocating the object doesn't happen on an application thread but on a GC thread (depending on the GC, obviously). Alexksey Shipilev has good resources how GCs in HotSpot typically allocate objects ( https://shipilev.net/jvm/anatomy-quarks/4…
For sure there are other tradeoffs, and whether it is worth it. But when we actually see many GB/s that is not cheap even if you are able to offload to other cores.
The article also concludes:
>It is funny to consider that having TLABs is the way to experience more frequent GC pauses, just because the allocation is so damn cheap!
Sounds like a nightmare, the problem just snowballs, because now you'll be tempted to get into GC tuning.