X

NOTICE

Are you sure you want to report this?

This category is for Realms and dedicated server feedback. Please send support issues to help.mojang.com, as support posts, bugs, and individual server issues will be removed. Remember that when it comes to "adding more servers" we are constrained by the rules of the various platforms Minecraft is available on. Thanks!

1392

[Java Edition] Performance Enhancements For Minecraft Servers (Multithreading?)

84 Comments

Post a new comment:

Please sign in to leave a comment.

  • 1
    dklebedev commented
    Comment actions Permalink

    A lot of servers are stranded on versions 11 and 12, because performance dropped significantly afterwards. Fixing the issues of 13 and 14 and adding multithreading is a HUGE deal.

  • 0
    Comment actions Permalink

    Agree. Ever since the 1.14 release, the server performance is chaotic. This would be a winner.

  • 0
    frist nema commented
    Comment actions Permalink

    oh this is so needed i think only this makes minecraft an old game

  • 0
    Comment actions Permalink

    This is what we really need mojang we don't need new blocks and stuff if it where me i would do that first we will probably never get this so anarchy will stay laggy :(

  • 0
    NeonStove77 commented
    Comment actions Permalink

    Yes yes yes yes please! Huge servers with top end hardware (such as 2b2t with its i9) should be able to take full advantage of it. This would let servers have up to 100s, if not 1000s of players without sharding.

  • 0
    Liam Hogan commented
    Comment actions Permalink

    Strange, I thought some of this was implemented in version 1.8? However I can't find that information now :(

     

    Either way, these suggested implementations are excellent ideas and have my vote!

  • 1
    KennyTVN commented
    Comment actions Permalink

    Simply saying "just make everything async" is just wrong, that's not how games work.

    While yes, chunk loading and generation - and especially saving - should definitely be improved (and moved off the main thread?), per-dimension ticking may have a loooot of unforseen consequences, especially with the plugin frameworks, such as Spigot/Paper and its events, not to mention A LOT of other concurrency issues and workarounds that would make such a process even worse.

    The rest of that list is also plain and simple wrong (5.: lighting has already been greatly improved in 1.14 and doesn't really put any strain on the server anymore, 6.: no two entities will have the same exact path to find, unless they are in the same exact position and have the same exact data and goals, 7.: no).

  • 0
    SCI34486 commented
    Comment actions Permalink

    This is somethign that really does need to be done, and if they are going to help the moddign community they might as well do this and then implement full support working along with the Forge dev team to do so. If they rewrite the game in c++, which they already have bedrock, that might be the end for servers and modding for a loooong time. It is best they take their time to rewrite it in Java to use as many cores as possible.

  • 0
    Jackall199 commented
    Comment actions Permalink

    Please yes please yes please please add this!

  • 1
    Xbox Waffles commented
    Comment actions Permalink

    Or just make Minecraft multithreaded in general. That way everyone will have a better experience with the game, online and offline.

  • 0
    ManaQp commented
    Comment actions Permalink

    make a point in the server.properties using threads and the number of threads you want to use

  • 2
    NiteNinja21 commented
    Comment actions Permalink

    A similar block-building Java-based game, Avorion, uses multi-threading for their servers. Usually you got "worker threads" to handle the AI, "generator threads" to generate the world, and "script background threads" which is whats in the name. And in Minecraft's case, they could have dedicated "garbage collection" threads too, or combine that into the script background threads.

     

    With anyone having cheap access to used server gear (I have a dual Xeon E5530 system myself, 96gb of RAM, SSD, the works), it opens up more chances for people to host Minecraft servers for a large group of friends, or even the world, with ease, their only limit being their internet bandwidth.

    So I fully support development for multi-threaded server support, we're going into 2020, its pretty much a must at this point.

  • 2
    Perixon commented
    Comment actions Permalink

    Fully agreed - I stumbled over this suggestion while googling for "Minecraft multithreaded server support", so fingers crossed for Mojang to do something about this once and for all.

  • 1
    Doward007 commented
    Comment actions Permalink

    Vote #1100 here. This is 2019. Multithread it, or open source the server code and let the community handle it.

  • 2
    Hilmy091 commented
    Comment actions Permalink

    Newer cpus are getting more and more threads, which is why I believe that taking advantage of this would be great. I'm a little surprised to learn that servers only use a single thread, that is really old school.

  • 2
    Wumfie commented
    Comment actions Permalink

    This would be great for every server, including mine, which i struggle to run on a slow CPU. This idea would help people in third world countries who have low CPU speed but high core count. So they can put their skills to an idea with less restrictions and maybe even have a small source of income. I strongly promote this idea, it would make it easier for everyone, and i'm asking why wasn't this done ages ago?

  • 1
    hfjfthc commented
    Comment actions Permalink

    Yeah, pls do this. The plugins on minigame servers already lead to a lot of lag so if you don't have a good ping, the lag is often immensely frustrating. I would say that this is something that servers would hugely benefit from because it's a key issue.

  • 1
    Comment actions Permalink

    This would be very appreciated. Even the fastest single core CPUs struggle with high player counts.

  • 1
    Comment actions Permalink

    It's a good idea. That update will be helpful for all the server owner and some mini games server or survival server. Please update it!

  • 3
    OnwexryS commented
    Comment actions Permalink

    This is what I exactly need. My server version is on 1.14.4. I always want players play in the latest version. Because of the 1.14.4, my server can't run the server more than 35 players :(

    1. multithreaded chunk loading
    2. multithreaded chunk generation
    3. chunk serialization and gzipping for saving to disk to be done in a separate thread

    this is the most important thing for me

    Intel e 1240 v3

    32 ddr4

    with 128 sata ssd

  • 5
    Comment actions Permalink

    *Mojang please, let this be 1.16 update*

  • 4
    MrAlve commented
    Comment actions Permalink

    It's 2020, AMD has just announced a 64 core CPU.

    how could a game that would MASSIVELY benefit from Parallelization/Multithreading still be single-threaded?

    I get bedrock is nice and all, but both you and I know Java is not going to go away, Java is Minecraft's curse and blessing the modding scene is incredible. and you could hardly get that on bedrock unless? doing an opensource of bedrock? Sorry, better write that down on the joke list. 

    Anyway, why cost your players so much? Lag? Degraded play experience? Hosting costs and, yes, even the environment. it would be a tremendous WIN-WIN.

    Mojang, please, if you truly care about the community, this would be one of the best ways to show it.

    And you don't need to roll out one massive update. if you could start with the low hanging fruit, make it a transition, the faster the better. 

    - Mvh Alve Larsson.

  • 1
    KoLorca commented
    Comment actions Permalink

    I don't get why this isn't number 1 priority... Oh wait ... realms...

  • 0
    LexarVN commented
    Comment actions Permalink

    Only thing I would like to comment on is redstone needs to be handled carefully and not become non-deterministic like in bedrock. So either redstone needs to stay single threaded or there needs to be a way to assign loaded adjacent chunks (including adjacency via portals) all to the same redstone thread