Note: To play Minecraft you need a Mojang account which you can sign up for at the Mojang Store (basically you need to have bought the Java edition at some point). If you haven’t done that, or aren’t prepared to do that, then this snap is probably not for you (maybe get your 8 year old kid to test instead ).
snap install minecraft --candidate
Notes
I have currently only published an amd64 (64-bit Intel) build of Minecraft so far.
This will install Minecraft and the Oracle JRE as a snap. That means it’s independent of any existing JRE/JDK or Minecraft install.
As it’s a snap, it won’t have access to your ~/.minecraft directory, so won’t see or interfere with existing maps, mods or other things lurking in that directory.
The .minecraft directory for this snap can be found in ~/snap/minecraft/common in case you want to add mods/themes etc
How to run
To ensure you’re running the snapped version (as opposed to any other version you may have installed) while testing, you can either:-
snap run minecraft
or
/snap/bin/minecraft
But if you have no other Minecraft packages or launchers installed, you should just be able to click the familiar icon in your desktop.
Requested setups
As usual we’re looking for as wide a pool of testing as possible!
I’ve tested on Intel integrated graphics and a multi-screen nVidia proprietary setup.
I’ve not tested on AMD graphics cards, wayland or non-Ubuntu systems (yet). So feedback welcomed there.
Known issues
Theme support in snaps causes the window to look like a Windows 3.11 / vanilla Java app on some platforms, and in some cases for the latest news in the launcher to not appear, but the game runs.
Links don’t open - so clicking ‘Register’ doesn’t work, and the links to blog posts on the right of the launcher don’t work
The snap is a little bulky (246MB). I’m looking at ways to slim it down
Reporting feedback
Please report on this thread which I’ll monitor for issues and suggestions.
Heyo! Things seem to be shaping up pretty well A few hiccups when interacting with links inside the launcher do not appear to work ( log: Ubuntu Pastebin ), but logging in does work and I don’t seem to get any authentication or access errors of any sort. However, the launcher display (for game updates and links, etc) appears blank (as listed in the thread)-
screenshot:
if helpful, my full test-run tty output. this was also reported in telegram.
this run only shows the register failure (Alan noted it in known issues)
[00:29:47 INFO]: Loaded 1 profile(s); selected ‘(Default)’
[00:29:51 ERROR]: Failed to open link https://account.mojang.com/register
java.lang.reflect.InvocationTargetException
…
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_151]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_151]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_151]
Caused by: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
dell 755 (old, dual core 2), old radeon [rv610/hd2400] video, firefox is default browser but I’m running debian 9 (this box is under a ceiling fan!)
The Caused by: java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform! error seems to be seen in other applications too. I’ve seen some comments to suggest that it’s not a well supported mechanism to launch browsers on Linux. Will need some further research there.
(I’m fashionably late to reply, as always.)
Yeah, this would appear to be an issue. I remember having worked with some Minecraft mods in the past that needed to call the browser when linking to wikis and info pages, and Java typically threw fits when it didn’t have the ability to call a browser (not directly, but via BROWSE, as it shouts in the terminal ). NOTE, that I’ve launched the game, and links inside of the game (can be accessed in the chat) do not open the browser, and offer the same error. I’m not entirely sure how Snaps work in terms of defining environments, so I wouldn’t likely be much help beyond suggesting that this issue is due to the runtime being separated from the rest of the system somehow, it’s not pointing where it should.
Brilliant workx @popey – What would be even more sterling - would be if the program was included in the Education subcategory aswell, but fairplay if you disagree.
Great to see Minecraft as a snap! Works perfectly here on Ubuntu 17.10 on Intel integrated graphics in the Wayland session as well as in the X11 session.
I’ve got one (possibly stupid) question: since Minecraft and the Oracle JDK/JRE are proprietary, is this snap endorsed by Mojang? Don’t you have to accept a license agreement when installing the Oracle JDK/JRE? Thanks a lot
Ok. Hacking away at this for a couple of hours and I’m stuck.
It seems Java does this browser launcher in the Desktop.java which somehow decides that whatever I’m running isn’t GNOME (or Window) so it refuses to launch the browser. This seems to have bitten otherpeople too with no clear fix.
Things I have tried to trick it (which didn’t work).
Create a shell script called gnome-www-browser which is just a shell script wrapper around xdg-open
Create a mimeapps.list in ~/.local/share/applications telling it to use browser.desktop for http and https links. browser.desktop being a desktop file I made which launches gnome-www-browser created above.
Set DESKTOP_SESSION=gnome, XDG_SESSION_DESKTOP=gnome and XDG_CURRENT_DESKTOP=GNOME
Stage various gnome libraries including libgnome2-0, libglib2.0-0, libgnome-2-0 and gvfs-libs
I am a bit perplexed how to coerce Java into thinking this is a gnome environment inside the snap and to just do whatever it needs to do to launch the browser.
Suggestions welcome!
(getting dangerously close to rebuilding openjdk and patching out this stupid behaviour)
Looked into this a bit further and it required digging into the Java runtime.
Basically openjdk is doing a dlopen() on gnomevfs-2 (soname libgnomevfs-2.so.0).
It explicitly wants the symbol gnome_url_show in another library. (after it calls gnome_vfs_init in gvfs): libgnome-2.so.0
In your snap you’ll need to ensure you have these legacy libraries. You’ll need a writable HOME and .gnome2 directory within the snap environment too. To help debug this, set G_MESSAGES_DEBUG=all in the environment to check what gvfs + gnome are “up to”.
Now, if all that is still being an idiot, I can quite happily write you a fake-library for the JDK to use to provide the aforementioned symbols, but call an arbitrary command instead.
Heyo! Doing some more fiddling with this. Probably not priority, but something that is probably good to bring up. I’ve not found any way to interact with the .minecraft directory itself. Looking under ~/snap and further, of course. Listed directories appear empty, making interacting with the files themselves somewhat impossible. Installing mods (even those with installers like Optifine) is not possible without being able to point to, and interact with the client directory. Resource packs also seem to be affected by this. Being unable to place a resource pack in the proper directory inhibits their use. I’ve tried clicking on the button in the client that opens the resource pack directory, but this does not work.
Thanks for testing everyone. I’ve pushed builds to the stable channel with the following changes. Many thanks to @jdstrand for helping me debug some silly Java issues from the past.
Switched from Oracle JDK to OpenJDK (makes it easier to build)
Added further stage packages to ensure clicking links work in most desktops
Some desktops (notably KDE) seem to be unable to open links (so registration and tumblr links) inside the Minecraft client
Added an i386 build for those people clinging onto their 32-bit systems
Note that the ‘home’ directory for the game is in ~/snap/minecraft/common so the .minecraft directory is $HOME/snap/minecraft/common/.minecraft where you can put your mods etc. (hope that answers your question @Schyken).
Have fun and remember, don’t dig straight down (or indeed up).