Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Making Minetest easy to install on all operating systems #3596

Open
Calinou opened this Issue Jan 21, 2016 · 48 comments

Comments

Projects
None yet
@Calinou
Copy link
Member

commented Jan 21, 2016

Discussions on IRC and forums have shown that Minetest is not that easy to install and integrate with the system, so I'm making this issue to keep track of problems related to ease of installation.

What needs to be done:

  • In portable Windows builds, put the minetest.exe binary at the root rather than in bin/
  • Provide official Windows installers (NSIS? InnoSetup? Squirrel?)
    • 64-bit
    • 32-bit
  • Provide official, distribution-independent GNU/Linux binaries (Static linking? .so bundling? AppImage?)
    • 64-bit
    • 32-bit
  • Provide official OS X .dmg or .pkg
    • 64-bit
  • Improve the website to make the download process easier
    • Modal window that appears when clicking the "Download" button?
    • Reorganize download page to look like ownCloud's?
@kaeza

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2016

For the portable Win32, I'd add a simple Play.bat (or Play.lnk [Windows shortcut file]) running bin\minetest.exe. I like that the binaries (executables and DLLs) are kept in their own directory, not cluttering the root.

@rubenwardy

This comment has been minimized.

Copy link
Member

commented Jan 21, 2016

I have made 64bit Windows build using Inno Setup. I'll make a 32bit one now.

@Calinou

This comment has been minimized.

Copy link
Member Author

commented Jan 21, 2016

For the portable Win32, I'd add a simple Play.bat (or Play.lnk [Windows shortcut file]) running bin\minetest.exe. I like that the binaries (executables and DLLs) are kept in their own directory, not cluttering the root.

Why not just minetest.bat then? At least, it doesn't lose all its meaning when you take it out of context.

@rubenwardy

This comment has been minimized.

Copy link
Member

commented Jan 21, 2016

Added a windows 32 bit installer to the releases. Updating website now...

@kaeza

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2016

Why not just minetest.bat then? At least, it doesn't lose all its meaning when you take it out of context.

Name does not matter, but it should be placed in the root. I chose "Play" as an example. Not sure what you mean by "context".

@rubenwardy

This comment has been minimized.

Copy link
Member

commented Jan 21, 2016

It you move it out of it's folder for some reason, maybe accidentally.

@red-001

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2016

It can't be too hard to change some settings to make minetest run from root of the minetest folder? No need for a .bat file. It also means minetest doesn't loss it's icon.

@rubenwardy

This comment has been minimized.

Copy link
Member

commented Jan 21, 2016

It works already when you run it from the root folder using ./bin/minetest.

@kaeza

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2016

It you move it out of it's folder for some reason, maybe accidentally.

Then how would it find minetest.exe?

@rubenwardy

This comment has been minimized.

Copy link
Member

commented Jan 21, 2016

It probably wouldn't. If it was accidentally moved then it wouldn't. I don't really know what Calinou meant.

Personally I'd prefer a shortcut over a bat.

@red-001

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2016

How do you make a shortcut to a portable file? I don't think you can. I thought @Calinou meant running minetest.exe from root as in what freeminer does. Isn't this just a cmake setting?

@kaeza

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2016

Personally I'd prefer a shortcut over a bat.

It would be ideal, partly because it allows you to set an icon for it (though I'm not really sure if icons work with relative paths), and partly because it hides the file extension regardless of the "Show extension for know file types" setting.

@rubenwardy

This comment has been minimized.

Copy link
Member

commented Jan 21, 2016

I think shortcuts can be relative? I meant a shortcut in minetest root to the file in bin.

@red-001

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2016

why not move the file?

@kaeza

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2016

why not move the file?

If you move minetest.exe, you must move all the DLLs, cluttering the root.

@red-001

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2016

you could make it search for dlls in /bin, right?

@kaeza

This comment has been minimized.

Copy link
Contributor

commented Jan 21, 2016

you could make it search for dlls in /bin, right?

Yes, but you would need to alter PATH or similar, before running minetest.exe. So let's put minetest.exe in the root, along with, dunno, a batch file or a shortcut that modifies PATH, and then runs minetest.exe in the root. Sooo... why did we move minetest.exe to the root in the first place?

A batch file or shortcut does the job nicely: does not require patching the engine (if needed) to look in e.g. $exepath/games (currently it looks in $exepath/../games IIRC, which works from bin/), and keeps everything mostly tidy, only requiring a single extra file in the root. Am I missing something here?

@red-001

This comment has been minimized.

Copy link
Contributor

commented Jan 23, 2016

Relative path shortcuts on windows are at best a hack, they can't have the minetest icon because they work by making command prompt start the program. .bat files can't have an icon either. If you don't want to make a few small changes to minetest engine then the best you can do will being more user friendly is to make another executable that will work as a launcher for minetest.

@est31

This comment has been minimized.

Copy link
Contributor

commented Jan 23, 2016

Relative path shortcuts on windows are at best a hack, they can't have the minetest icon because they work by making command prompt start the program

Windows does support both softlinks and hardlinks to my knowledge, at least since vista I think. They just don't have an UI in the explorer.

@Dragonop

This comment has been minimized.

Copy link

commented Jan 24, 2016

Just adding this: you can't attach a .bat shortcut in the task bar on Windows

@kaeza

This comment has been minimized.

Copy link
Contributor

commented Jan 24, 2016

[...]they can't have the minetest icon because they work by making command prompt start the program.

What do you mean by "command prompt", and what does it have to do with shortcuts? Did you mean .bat files?

[...]the best you can do will being more user friendly is to make another executable that will work as a launcher for minetest.

That could be a viable solution, even if the "launcher" just execvs bin/minetest.

@est31 Yep, Windows does support links as of Vista, but IIRC, from the point of view of the program loader, you still have the executable where the link is.

Maybe I'm misunderstanding @Calinou's point about this. I guess his point is that minetest.exe is "hidden" in bin. I'd add that it is also mixed among several DLLs that may confuse/overwhelm non-tech-savvy users.

Edit: Minor corrections.

@est31

This comment has been minimized.

Copy link
Contributor

commented Jan 24, 2016

Why not just use LNK files then?

@kaeza

This comment has been minimized.

Copy link
Contributor

commented Jan 28, 2016

@est31 I was wrong. Creating .lnk files with relative targets is not possible (at least from the GUI; it may or may not be possible programatically).

@kaeza

This comment has been minimized.

Copy link
Contributor

commented Jan 28, 2016

@est31 Good to know it can be done, but this line discards that option:

The icon is problematic, does not seem like it works with relative paths [...]

I agree with @red-001. A simple frontend/launcher .exe would be better.

@rubenwardy

This comment has been minimized.

Copy link
Member

commented Jan 29, 2016

The installer fixes most of these problems.

@kaeza

This comment has been minimized.

Copy link
Contributor

commented Jan 29, 2016

The installer fixes most of these problems.

Except the "no need for an installer" problem, which is, the Whole. Fucking. Point. of a portable package.

Why do I even bother anymore?

@Calinou

This comment has been minimized.

Copy link
Member Author

commented Jan 29, 2016

I agree with @red-001. A simple frontend/launcher .exe would be better.

A launcher typically means you must go through additional clicks. It does not improve the system integration of Minetest at all, eg. by providing system-wide shortcuts available in the Start Menu. (Currently, you can create one by hand and place it in %ProgramData%\Microsoft\Windows\Start Menu\Programs\Minetest).

@gjgfuj

This comment has been minimized.

Copy link

commented Feb 7, 2016

@Calinou a launcher isn't neccessarily additional clicks, if it's just a simple .exe that launches it without any kind of GUI or anything. all it'd need to be is a quick wrapper program.

@rubenwardy

This comment has been minimized.

Copy link
Member

commented Feb 7, 2016

There's no need for that tone, @kaeza. Very rude.
If the point is to be noob friendly, then you should use an installers. Note that I said most of these problems.

A launcher typically means you must go through additional clicks. It does not improve the system integration of Minetest at all, eg. by providing system-wide shortcuts available in the Start Menu. (Currently, you can create one by hand and place it in %ProgramData%\Microsoft\Windows\Start Menu\Programs\Minetest).

Alll the installer does is unzip some files then make a shortcut. If you want system integration, that's how you do it.

@lugarius

This comment has been minimized.

Copy link

commented Feb 15, 2016

http://www.portablelinuxgames.org/game/minetest

i can contact the maker... he can teach you, he helped me too

tux AT portablelinuxgames.org

@lugarius

This comment has been minimized.

Copy link

commented Feb 16, 2016

@lugarius

This comment has been minimized.

Copy link

commented Feb 17, 2016

Another option is just include ALL libraries into an folder called lib... and let the executable take them and not from the system...

See www.xonotic.org they have done it already, appimage seems to need more time

@C1ffisme

This comment has been minimized.

Copy link

commented Feb 17, 2016

@lugarius Please edit your previous comments rather than posting several times.

@est31

This comment has been minimized.

Copy link
Contributor

commented Feb 18, 2016

Also @lugarius Appimage itself is discussed in #3568 in detail, so better to discuss about it there.

@telastrus

This comment has been minimized.

Copy link

commented May 26, 2016

I also noticed this issue, and to combat this, I have started work on a launcher for the game, similar to MultiMC and the default Minecraft Launcher. You can find it here. It is very early in the works, only supports Linux, and compiles each new instance from source, which means that the system has to have the Irrlicht libraries and CMake installed, along with all of their dependencies.

Would this, if further developed, be a good solution to the problem at hand?

@est31

This comment has been minimized.

Copy link
Contributor

commented May 26, 2016

That's cool!

There might be a chicken-egg-problem for the use case of getting minetest releases work on all different distros, but it will be very useful for non technical users who want to try latest minetest from git.

@telastrus

This comment has been minimized.

Copy link

commented May 26, 2016

It actually doesn't compile from master (though that's easy to add). It uses the GitHub tags to allow the user to download and compile any tagged version of Minetest. Unfortunately, it's limited to compiling, as Minetest doesn't actually provide releases for Linux (though that's kind of what this entire issue is about).

@benrob0329

This comment has been minimized.

Copy link

commented May 26, 2016

FYI I can compile Minetest in < 5 minutes, so I'd be happy to compile and cross compile stuff.

@alugarius

This comment has been minimized.

Copy link

commented Jul 5, 2016

Any succsess in Appimage??

@Calinou

This comment has been minimized.

Copy link
Member Author

commented Jul 5, 2016

Any succsess in Appimage??

I have tried making a quick-and-dirty AppImage of the latest Minetest Git on a Ubuntu 12.04 64-bit chroot, but it does not work outside of the chroot (on Arch Linux, for example), I believe it needs some tweaking. It also doesn't provide LevelDB support due to a bug in Ubuntu 12.04.

@sofar

This comment has been minimized.

Copy link
Member

commented Jul 7, 2016

With flatpak being usable, it may be more interesting to go that route for Linux.

@alugarius

This comment has been minimized.

Copy link

commented Jul 8, 2016

Try Ubuntu 14.xx LTS..

@est31

This comment has been minimized.

Copy link
Contributor

commented Aug 10, 2016

I've created a flatpak build script for the minetest client: https://github.com/est31/minetest-flatpak

@est31

This comment has been minimized.

Copy link
Contributor

commented Aug 10, 2016

Maybe we can even make an official repo for flatpak for release + nightly, but someone would need to supply a buildserver for this (hosting can happen on github pages).

@alugarius

This comment has been minimized.

Copy link

commented Apr 22, 2017

@Calinou
https://forum.minetest.net/viewtopic.php?f=42&t=15802

I am for AppImage, add them to the download page?

@adrido adrido referenced this issue Jul 19, 2017

Merged

Windows: Cpack wix installer #6153

2 of 4 tasks complete
@Luraktinus

This comment has been minimized.

Copy link

commented Feb 12, 2018

any news?

@paramat

This comment has been minimized.

Copy link
Member

commented May 16, 2018

Do the checkboxes need updating? Any more thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.