Live data from Hacker News

Minecraft: Java Edition now uses SDL3

minecraft.net

151–160 of 285 posts

Re: Minecraft: Java Edition now uses SDL3

#151

Earlier quoted context omitted.

Are snapshots explicitly a beta channel? Or do users get auto updates to them? Testing for bugs in prod shouldn’t be acceptable unless users expect bugs in exchange for getting latest features early in something like a beta channel

They are explicitly a beta channel, and in fact if you create a world on a snapshot you don't have an upgrade path to future releases (unless you start hacking at your world files with an NBT editor). So most of the community ignores them and waits till release.

Snapshots do let you upgrade worlds to future releases and you don't need to do any NBT editing, just upgrade the game and load the world.

Re: Minecraft: Java Edition now uses SDL3

#153

Earlier quoted context omitted.

How many people working on Minecraft now were modders ? And how many current persons working on Minecraft are also Modders ?

> how many current persons working on Minecraft are also Modders? Probably less than you'd think: lots of people recognise they need to leave their work behind at work and not get too emotionally invested in something they love, because at work they'll be exposed to the gut-wrenching business-decision sausage factory.

Some jobs are also just so much that there's little room for doing something so similar to your work after you get home.

Re: Minecraft: Java Edition now uses SDL3

#154
Honestly, it seems like the way to go to have a very moddable game is a language that's easily decompiled and modified at runtime like Java or C# (or just JVM and .NET CLR if you prefer).

When they do internal modifications, but also have modders in mind, you get to have an amazing modding API basically "for free".

Re: Minecraft: Java Edition now uses SDL3

#157

Earlier quoted context omitted.

Do not set the heap size to more than 8GiB, even if using heavy modpacks. Anything above 8GiB actually makes the game run worse, unless you have tons of players, because of GC lag.

It depends on the GC, with ZGC no. Particularly if you enable generational mode. For other GCs like G1 and the parallel collector, when new gen is filled up the GC pauses the application in order to run a minor collection. For G1, major collections are ran in the background until the heap fully fills up. When that happens, the GC triggers stop the world GC. A smaller heap size would cause those pauses to be more freq…

I don’t believe this is exactly how g1 works.

- It is divided into by default 2048 regions so it will be setting region size to 4mb means with an 8gb heap, and that you’ll get an inefficient collection once you have a 2mb+ object to deal with. So there is a value to setting a bigger heap size to get a bigger region size. The max is 32mb region size then after that iirc the region count bumps. https://docs.oracle.com/en/java/javase/17/gctuning/garbage-f...

- The young gen size also something that resizes dynamically and so having a bigger max heap will let that get larger and avoid pressure and promotion of objects that would otherwise just never get promoted in the first place (stop the world to move from new to old gen). I’ve never seen this stated anywhere I can think of but believe that I’ve observed it many thousands times.

- The reason that a Full GC occurs is because the application allocates too many objects that can't be reclaimed quickly enough, this isn’t just something that is always happening in the background , I would call full gcs a tuning problem, not everyone agrees in a given org fwiw, but I’ve been able to tune them out for nearly all workloads. https://docs.oracle.com/en/java/javase/17/gctuning/garbage-f...

TLDR , as long as I have enough ram for the working set (page cache etc) I’ve had good luck cranking g1gc very high in prod and avoiding long collection times all together. You see other large deployments do similar (was big in the Cassandra space back in the day, Instagram off the top of my head was running very large heaps with g1gc before anyone else I knew of).

Re: Minecraft: Java Edition now uses SDL3

#158
post #28

Anyone got any advice for a techy dad with no (zero) Minecraft experience who wants to set up a Minecraft server for the family in 2026? Kids right now are playing on their iPads, and (sometimes) old macbooks/windows PCs.

Minecraft comes in two flavors, Java and Bedrock. All of the mobile, console ports, and windows store versions are based on bedrock. Java is the one you download directly from the website. Bedrock isn't really about custom hosted servers, but there is a way. You can run a standard Java Minecraft server however you like, and then you can wrap it to also work with the Bedrock using Gyser[1] which will protocol translat…

Apologies for hijacking an advice thread, but I'm another dad who's had to deal with this incompatibility nightmare, and I really really want to know what the hell happened within Microsoft & Mojang to end up with this mess.

No, seriously, I'm fascinated by the story. It's been over ten years. I'm happy to assume that most of the people involved are smart and good with decent intentions. I also bet there were many kinds of commercial and organisational pressures, especially because it's (a) Microsoft and (b) one of the biggest gaming acquisitions ever.

Does anyone here have any insider knowledge they could share?

Re: Minecraft: Java Edition now uses SDL3

#159
SDL3 switch makes sense given how much SDL2 was showing its age around GPU API abstraction (Vulkan/Metal support especially). Curious if this fixes any of the longstanding input lag / alt-tab issues that Java Edition has had on Linux, since that's usually where the windowing/input layer causes the most pain.

Re: Minecraft: Java Edition now uses SDL3

#160
post #20

Is the rationale for switching away from GLFW documented anywhere? I'd love to read about it, I have some projects which use GLFW myself and I'm always wondering whether or not SDL would be better

> I'm always wondering whether or not SDL would be better SDL supports mobile; GLFW doesn't. Maybe they're unifying codebases between the platforms. Edit: BTW SDL3 still works even on Android 4.2. I made an app using it and ImGui, without any Java.

Highly doubt it. The current mobile version (Minecraft bedrock) is the version that Microsoft wants everyone to use. Java edition only sticks around because they know it's the version most of the community wants.
Post reply on HN