PixelGuys / Cubyz-Launcher

A launcher to manage Cubyz versions and mods.
17 stars 3 forks source link

Installing on nixos #1

Closed moaxcp closed 3 years ago

moaxcp commented 3 years ago

Hello,

I ran into a problem while attempting to install this on nixos. I think it is an issue with this line.

https://github.com/PixelGuys/Cubyz-Launcher/blob/efd56d9c040466e7eadd9a0e7e8a99a4602d668b/src/io/cubyz/ui/MainGUI.java#L122

On nixos and other linux distributions it won't be possible to download files to the install location. Could this be made configurable in some way? I believe many applications in this situation install files to the user $HOME directory. For instance, minecraft downloads to $HOME/.minecraft. Could this project be changed to do something similar?

IntegratedQuantum commented 3 years ago

I ran into a problem while attempting to install this on nixos. I think it is an issue with this line.

How do you get to that conclusion? What error message do you get?

I believe many applications in this situation install files to the user $HOME directory. For instance, minecraft downloads to $HOME/.minecraft. Could this project be changed to do something similar?

Yes that would be possible I guess, but right now we are reworking Cubyz in C++ which makes the java launcher obsolete. And because of that it isn't worth it to add that feature(unless your bug cannot be fixed otherwise).

The Launcher is designed to download everything in the same folder as the launcher.jar. So if you just put the launcher.jar into "$HOME/.cubyz" or similar that should have the same effect.

moaxcp commented 3 years ago

Sorry, the issue is that the game is installed in a protected directory which the user cannot write into. I believe this is true for most linux packages. While it is possible to run in a different location, my goal is to package the game for the nixos linux distribution.

IntegratedQuantum commented 3 years ago

I see.

Can you give the game command line arguments(for example specifying the $HOME directory)?

moaxcp commented 3 years ago

Sure or it can use environment variables. I believe there is a system property for the user home as well.

System.getProperty("user.home")

https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

IntegratedQuantum commented 3 years ago

Ok I fixed this in 65055a05b0fc9c31af139732707e7ef4aeb1ce49. I used your proposition and now all files will be placed in $HOME/.cubyz. I put this into release 0.2.1.