Minetest and Minecraft on Haiku?

Could you create a package for lwjgl on Haikuports?If it is ok for you I’d could then try create a native minecraft launcher for Haiku that links to this package

I made a script to automatically download and install Minecraft. If you need it, I can publish it tomorrow.

3 Likes

That would be great

I probably won’t have the time to write a launcher in the next few days, but I’ll be looking forward to writing one

1 Like

I want it please

1 Like

Just run this script from Tracker: Minecraft_Installer-1.2-haiku-x86_64.zip
The script will automatically download the selected version and create shortcuts in the Deskbar menu.

PS: Script based on https://github.com/alexivkin/minecraft-launcher

4 Likes

Ok i can run Mincraft and i can load my saved worlds of windows minecraft, but i spawn on unkown position or all i build on the world are not compatible to this version, so not added.

If it ever works out that you can use savegames saved on windows on Haiku, then I can contribute a world with 14 different cities connected by a mine railway.

Minecraft worlds have to match the version of Minecraft that you are running. A 1.16.5 world will not work in Minecraft 1.17.1. If you are playing multiplayer through a server, the server’s Minecraft version has to match as well. If the world is older than your version of Minecraft, it is possible to upgrade the world. It’s not possible to downgrade a world however.

Also note that there are two Minecraft editions, Java edition and Bedrock edition. These are also not compatible with one another.

1 Like

Could you publicise the patch files/create a haikuports recipe for the lwjgl build? That would allow for a 32-Bit version of the library as well as for me to create a launcher. I have already tried to compile lwjgl for myself with no luck. If there is a haikuports package the libraries could be linked to by the launcher on game launch which would be a tidy approach in my opinion.

Minecraft is the most inutile game ever? jajajaja

1 Like

Latest Minecraft 1.19.4 works fine now:

18 Likes

May I ask how you got this to work? I only get LWJGL library errors with PolyMC or PrismMC, and the Installer from LOTE seems to also not work anymore

1 Like

Can you give more details about the difficulties encountered? I checked my installer script hosted at LOTE and found no problems with installation and running. I am running Minecraft and all its clones with no problems.

3 Likes

I got it to work, but without the installer script. I think it is a LWJGL problem, although it worked when i manually used the LWJGL that the installer script downloads in PolyMC (I modified the JSON file for it to download from my website, since it cant decompress a zip file)

Really interesting that it simply works for you, though. Could it maybe be a graphics problem that i have? I tested it on my laptop with a Tiger Lake iGPU, which does not support full acceleration on Haiku

Minecraft requires a ported version of LWJGL, which can be found on my website - http://haikuware.ru/files/lwjgl3/lwjgl-3.3.2-haiku-x64-minimal.zip. Other versions will not work. Regarding hardware - it doesn’t matter what video card, the rendering will be done by the CPU anyway.

1 Like

Yes, i am aware that a patched LWJGL library is needed, what I was saying is that its super weird that your installer did not work for me lol

It does work if I use another launcher (such as PolyMC or PrismMC, which both work after minimal patches) and give them a modified manifest for LWJGL which contains downloads for the patched files.

My installer script downloads in single threaded mode and without download error control, so very long and with possible broken files. Maybe that’s the reason. I have no problems with installation on good and fast internet - just checked.

Noted, that is very possible considering I did it over WiFi lol

Anyway, in case it helps anyone, I have attached the LWJGL json definition needed for MC launchers - i mirrored the files over at my web site since it wants the .jar files as normal downloads, rather than a single .zip file.
There are SHA1 checksums in case you want to manually verify the download, however the game launchers should do that for you.
org.lwjgl3.json:

{
    "formatVersion": 1,
    "libraries": [
        {
            "downloads": {
                "artifact": {
                    "sha1": "e42369eff88e5afd3e641e26f73730f9f9e4e31e",
                    "size": 130034,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-glfw.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-glfw:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "2b6af11ea831535a09dfc6152c2d6f0482a140e1",
                    "size": 100010,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-natives-haiku.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-natives-haiku:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "629e0fdf84d2159426ebfd12449b15fa3109542a",
                    "size": 102462,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-openal.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-openal:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "a1ee3d3f73273d96b276d84f9a8e66f3dd887666",
                    "size": 73796,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-opengl-natives-haiku.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-opengl-natives-haiku:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "a6ecd44ae669085f8b15b074ce49afcffa984327",
                    "size": 930868,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-opengl.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-opengl:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "9c1c936a54ad77c79157e3d0eb2c8676481b5dcd",
                    "size": 217971,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-stb-natives-haiku.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-stb-natives-haiku:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "c94ab27eed27fbe6c8e08f5d15fd0be9abafc6b7",
                    "size": 114138,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-stb.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-stb:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "1e2ef41e0ddd39ccb0804cb383a3423dc5866963",
                    "size": 42647,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-tinyfd-natives-haiku.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-tinyfd-natives-haiku:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "53bffe7aa51518b9e3bb6eecdbb0b76fc3b26f88",
                    "size": 7688,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-tinyfd.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-tinyfd:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "ed39abe649193abbba295b3ee3aa5e0d477ebf6b",
                    "size": 851481,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl.jar"
                }
            },
            "name": "org.lwjgl:lwjgl:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "a1ee3d3f73273d96b276d84f9a8e66f3dd887666",
                    "size": 73796,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-opengl-natives-haiku.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-opengl-natives-haiku:3.3.2-haiku"
        },
        {
            "downloads": {
                "artifact": {
                    "sha1": "2b6af11ea831535a09dfc6152c2d6f0482a140e1",
                    "size": 100010,
                    "url": "https://electrode.codes/lwjgl-3.3.2-haiku/lwjgl-natives-haiku.jar"
                }
            },
            "name": "org.lwjgl:lwjgl-natives-haiku:3.3.2-haiku"
        }
    ],
    "name": "LWJGL 3",
    "releaseTime": "2023-09-07T12:42:32+00:00",
    "type": "release",
    "uid": "org.lwjgl3",
    "version": "3.3.2-haiku",
    "volatile": true
}

EDIT: messed up the URL for the lwjgl tinyfd jar

How can i use this on stable Haiku?

If interested, the patched version of lwjgl for Haiku and the build instructions are here - GitHub - threedeyes/lwjgl3-haiku: LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan, bgfx), audio (OpenAL, Opus), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR, OpenXR) applications.

1 Like

would it make sense to have a Haikuports package? Then game launchers could probably be adapted to use a common place for lwjgl, like for example /system/lib/lwjgl/3.1.0/ or something like that

(You’d probably have to seperate versions, as some games need older Lwjgl versions to function properly if I remember correctly)

1 Like