50 comments

[ 0.21 ms ] story [ 16.9 ms ] thread
> Known Issues

> Exclusive fullscreen mode on Windows may cause the game to crash in certain situations, especially when using multiple monitors

> Entering Exclusive fullscreen mode crashes the game on Wayland

Those, together, kinda seem like the kind of blocking bug that would usually delay a snapshot... Lets hoping it gets fixed before release lands...

osu (the rhythm game) also recently switched to SDL3, from SDL2, and it came with significant performance/latency improvements. SDL3 adoption is a bit slow it seems. Though, I'm surprised Minecraft used GLFW all this time.

One notable thing is that switching to SDL3 eliminated lag from having Discord client open while playing osu. Pretty sure this was from their devlog on YouTube.

I kind of don't see the benefit, as it's still going to use only the window, input and platform integrations features, while SDL3 has a whole software renderer built-in and much more.
(comment deleted)
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.
Docker compose + systemd, automated backups (bonus points for coordinating with restic/borg + rsync cronjob), and ram disks. Ram disks in particular are a game changer for game feel. For the backups you'll need to leverage a feature that exports the world. This used to need to be a mod, but it's possible it's been folded into vanilla.
My son setup a minecraft server on a mac mini using claude, was pretty smooth. If your kids just use it in house you do no need to worry about security issues. In my case I did create a dedicated user account for the server.
I've been running this[0] for a few years now, moved it a couple of days ago to a portainer VM on proxmox with 6GB ram, its running perfectly fine for 3 of us, and works fine from tablets and PC.

Can also run on the nintendo switch if you setup a cname to redirect to your server IP, i.e: mco.lbsg.net x.x.x.x play.lbsg.net x.x.x.x

Then choose the "Lifeboat" server

[0] https://jamesachambers.com/minecraft-java-bedrock-server-tog...

A couple of weeks ago I set up a server this way to help get my fiancee into video games. I already owned a proper Minecraft PC license from way back in the day, and bought Minecraft on Android for ~$5. My thinking is that we could play together, me on a Mac and her on a Galaxy Tab we have with a controller. Attempting to get these two clients to play together is what led me into the same situation you are about to find yourself in.

Something to know is that there are two versions of Minecraft, Java and Bedrock (C++). Some others in this thread have talked about the history of why this is, but the important thing to know is that Java runs on Mac/Windows/Linux, and there are some neat launchers that can run it on Android. Bedrock runs on Consoles/Tablets/Phones/Windows. Note that Bedrock _does not_ run on Linux or Mac.

There are ways to host Bedrock-only servers if you're _sure_ no users will ever be running the Java client, but I would recommend running a Java server with the Geyser and Floodgate plugins for compatibility reasons. The plugins are a translation layer that trick Bedrock clients into thinking they're connecting to a Bedrock server. I've been playing this way (me on Mac/Java, her on Android/Bedrock) for two weeks with no real issues. I haven't explored adding any other plugins to the server.

I'm running this in a container on an old Thinkpad in my office. This setup is common enough that GLM-5.2 set it up in (nearly) one shot.

I also really recommend running an instance of https://bluemap.bluecolored.de/ in another container on the same machine. It hosts a neat map of your world, which your family could pull up on their phones while not playing. My server itself is LAN only, but I used a Cloudflare tunnel to host the map so she can show her friends: https://mcmap.thg3.net/

Let me know if you have any questions or would like my server config!

docker run itzg/minecraft-server:latest
SDL always had a great API design, but in SDL3... Goddamnn!
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 honestly went and read those release notes just to check if they're using this transition as an excuse to make the game less cross platform.
Or once again change the login system in some way that locks tons of people out
How does that make sense? SDL is extremely portable?
Just because SDL is portable it doesn't mean MS is willing to use that portability :)
That's fair, I did not consider that.
Why would they do that? They specifically made bedrock edition so that the game could be more cross platform, which has worked extremely well for them financially.

Java edition has never been playable on anything other than Windows, Mac, and Linux, porting an SDL version onto any of those is extremely easy.

Getting everyone on one platform is a much better model for Microsoft than trying to resell you a copy on each device.

> Armadillos no longer try to roll up when submerged in liquids

This sounds hilarious out of the context :D

It's really amazing how much Minecraft is becoming more and more a game engine on it's own rather than just a game.
Unless some dapper people won't screw all the things up...
I'm teaching my son python programming.

Anyone with experience on programming Minecraft with python? Tips?

The (official, though by now long dead) raspberry pi version has python scripting. TBH that's almost all it has going for it, besides being open source
A long time ago I had some fun with Minecraft Pi Edition. It was a cut down version of pocket edition exclusively for the Raspberry Pi, with an official Python API: https://minecraft.wiki/w/Pi_Edition

It's long discontinued, and apparently doesn't work on recent versions of Raspbian, but there is a current modded version which apparently still works (I haven't tested): https://gitea.thebrokenrail.com/minecraft-pi-reborn/minecraf...

There's also a (discontinued) Bukkit/Spigot plugin called RaspberryJuice which makes the same Python API work with a real Java edition server: https://dev.bukkit.org/projects/raspberryjuice

And there's also a currently maintained Bukkit/Spigot plugin called FruitJuice: https://github.com/jdeast/FruitJuice

Back in the day I made a basic version of Minesweeper which you could play inside Minecraft Pi Edition using the Python API: https://bitbucket.org/dwales/minesweeper-for-minecraft-pi-ed...

This blog showcased a bunch of Minecraft + Python projects: https://mcpipy.wordpress.com/

Also No Starch Press has a book which uses this Python API: https://nostarch.com/programwithminecraft

Luanti is the answer
They still update that? I thought it's all bedrock now?
Yeah I think most of the people who super into Minecraft still play Java Edition if they can. Also MacOS and Linux still don't have Bedrock edition (officially) for some reason.
(comment deleted)
> Entering Exclusive fullscreen mode crashes the game on Wayland

Pretty good for Wayland.

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".

With the regressions this reads like an april fools post...
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.
I recently converted a game, Tribal Trouble (https://github.com/bondolo/tribaltrouble) from GLFW to SDL3. It was mostly a painless refactor though I did have some issues with full screen exclusive modes and desktop full screen but was eventually able to resolve those.

I ended writing a demo for screen mode handling to test and document the fiddly bits.

https://github.com/bondolo/SDL3-Fullscreen-Demo

The game is Java, like Minecraft, the demo is C because I wanted to keep it as simple as possible.

"Switching between Borderless and Exclusive Fullscreen no longer requires restarting the game" Afaik GLFW does not support this. So maybe that is part of the motivation for switching? I use LWJGL3 as well and I think it is really an amazing library!