Live data from Hacker News

Minecraft: Java Edition now uses SDL3

minecraft.net

61–70 of 285 posts

Re: Minecraft: Java Edition now uses SDL3

#61
post #43

Earlier quoted context omitted.

A little AI assisted digging indicates SDL3 has better support for switching between keyboard layout keys and physical keys depending on context (ie. Game controls can be WASD or whatever letters those physical keys are while it can use international keyboard layouts for chat boxes).

Is that why they are doing this? Did your little chat bit tell you anything about Mojang's stated rationale, which is what I asked about? Also, GLFW reports both the scan code and the key code, just like SDL, so I'm not sure I really trust those technical details either. Usually, you want to use scan code for some things (e.g key binds) and key code for others (e.g typing), so you can't have a global switch.

Well the article doesn't state why so all anyone has is speculation.

Here's a bunch of GLFW questions on Microsoft's website, quite a few are Minecraft related errors: https://learn.microsoft.com/en-us/search/?terms=glfw&categor...

Also do a search for GLFW here: https://bugs.mojang.com/browse/MC

Re: Minecraft: Java Edition now uses SDL3

#62

Earlier quoted context omitted.

Minecraft servers are resource hogs even when idle. Enable the built-in idle server shutdown (IDLE_SERVER=true). It automatically stops the server after a few minutes with no players and starts it again when needed. It's not enabled by default.

I'm struggling to find documentation on `IDLE_SERVER`, do you know of any? The only place I see it documented is on ArchWiki [0], but I don't know if that is an Arch distribution specific feature. I do see `pause-when-empty-seconds` [1] when looking at the wiki, which seems the closest, although I can't find doc on what "paused" means (this is the closest [2]). Looks like a fairly new feature (2024), but it's neat th…

You might be right: I am indeed using https://aur.archlinux.org/packages/minecraft-server. I thought IDLE_SERVER was an upstream feature but it seems to part of that package's management script.

Re: Minecraft: Java Edition now uses SDL3

#63
post #43

Earlier quoted context omitted.

Is that why they are doing this? Did your little chat bit tell you anything about Mojang's stated rationale, which is what I asked about? Also, GLFW reports both the scan code and the key code, just like SDL, so I'm not sure I really trust those technical details either. Usually, you want to use scan code for some things (e.g key binds) and key code for others (e.g typing), so you can't have a global switch.

Well the article doesn't state why so all anyone has is speculation. Here's a bunch of GLFW questions on Microsoft's website, quite a few are Minecraft related errors: https://learn.microsoft.com/en-us/search/?terms=glfw&categor... Also do a search for GLFW here: https://bugs.mojang.com/browse/MC

In case you missed it, the question was:

> Is the rationale for switching away from GLFW documented anywhere?

"Not that I know" is a perfectly good answer. Don't spew ChatGPT slop at me.

Re: Minecraft: Java Edition now uses SDL3

#64

Earlier quoted context omitted.

My main advice, ignore all advice online about JVM tuning minecraft. It's dated and often just wrong. The best thing you can do is run on the latest JVM, set your max memory as high as you can tolerate, and use ZGC. That's it. The JVM tuning guides for minecraft will have you switching and toggling every JVM flag under the sun with extremely dubious "evidence" of the payout for the flags they switch. In some cases, t…

It did used to be required. Older Java versions performed pretty terrible. However, Java 17+ completely fixed that. Even the heaviest modded setups run buttery smooth, even on older versions which are not well optimized.

It really wasn't and was always dubious.

A lot of the advice, for example, suggested using CMS. Which has been a terrible garbage collector almost since it was added to the JVM. When G1GC landed in 8, that was the correct GC to select for minecraft. Even the parallel collector would have been a better option than CMS in a lot of cases (sub 4gb heaps).

It was placebo. People wanted there to be SOMETHING that made things better so they reached for the billion different flags on the JVM (rather than fixing the underlying code). I've seen the same sort of mentality professionally and it's basically always been wrong.

Re: Minecraft: Java Edition now uses SDL3

#65
post #16

Earlier quoted context omitted.

Delay a release? Sure. But delay a snapshot? Why? By releasing the snapshot in this state, they learn both 1) how big of a problem those known issues are (how often does entering exclusive fullscreen crash the game on Windows? They presumably have telemetry for this), and 2) if there are other, as of yet unknown issues they need to fix before release. The earlier you learn these things, the better. There hasn't ever…

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're previews of what they're working on and what they're going to add to the next version. You don't get auto updated to them, you have to select them in the launcher.

As you would expect from the word "snapshot" contrasted up against the word "release", might I add.

Re: Minecraft: Java Edition now uses SDL3

#66
post #53

Earlier quoted context omitted.

I'm struggling to find documentation on `IDLE_SERVER`, do you know of any? The only place I see it documented is on ArchWiki [0], but I don't know if that is an Arch distribution specific feature. I do see `pause-when-empty-seconds` [1] when looking at the wiki, which seems the closest, although I can't find doc on what "paused" means (this is the closest [2]). Looks like a fairly new feature (2024), but it's neat th…

> I don't know if that is an Arch distribution specific feature. That's unlikely for two reasons, first because minecraft is closed source, and second because arch packages usually follow upstream very closely.

Based on my read of the `minecraft-server` package [0], I think it is using a management script wrapper around the raw Minecraft JAR [1], which implements the aforementioned idle functionality [2].

[0]: https://aur.archlinux.org/cgit/aur.git/about/?h=minecraft-se...

[1]: https://github.com/Edenhofer/minecraft-server

[2]: https://github.com/Edenhofer/minecraft-server/blob/421ff0ff3...

Re: Minecraft: Java Edition now uses SDL3

#67
post #63

Earlier quoted context omitted.

Well the article doesn't state why so all anyone has is speculation. Here's a bunch of GLFW questions on Microsoft's website, quite a few are Minecraft related errors: https://learn.microsoft.com/en-us/search/?terms=glfw&categor... Also do a search for GLFW here: https://bugs.mojang.com/browse/MC

In case you missed it, the question was: > Is the rationale for switching away from GLFW documented anywhere? "Not that I know" is a perfectly good answer. Don't spew ChatGPT slop at me.

You're pleasant.

Should I have just said no, RTFA? Which clearly doesn't state why. That better? Or say you can search yourself?

As for ChatGPT slop, I've never used that particular LLM, but some are good for bypassing ads/SEO slop while searching the internet.

Re: Minecraft: Java Edition now uses SDL3

#68
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.

Re: Minecraft: Java Edition now uses SDL3

#69

Earlier quoted context omitted.

My main advice, ignore all advice online about JVM tuning minecraft. It's dated and often just wrong. The best thing you can do is run on the latest JVM, set your max memory as high as you can tolerate, and use ZGC. That's it. The JVM tuning guides for minecraft will have you switching and toggling every JVM flag under the sun with extremely dubious "evidence" of the payout for the flags they switch. In some cases, t…

It did used to be required. Older Java versions performed pretty terrible. However, Java 17+ completely fixed that. Even the heaviest modded setups run buttery smooth, even on older versions which are not well optimized.

It was more like Minecraft code was horrible, than anything else.

Creating objects like crazy, range for in hot paths, not caring about data representation, chosen algorithms,....

JIT and GC were already doing heroic efforts.

Yet, it settled Notch for life, which is something to take into account in the usual question regarding which technical stack for games.

Re: Minecraft: Java Edition now uses SDL3

#70

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.

You can actually host a server for bedrock https://www.minecraft.net/en-us/download/server/bedrock The version that mobile and console uses and that in PC you can choose
Post reply on HN