dscalzi / HeliosLauncher

☀ Custom launcher for modded minecraft written in Electron and Node.js
MIT License
830 stars 1.72k forks source link

Prevent redistributing Minecraft official jar #304

Open Kamesuta opened 11 months ago

Kamesuta commented 11 months ago

Prevent redistributing Minecraft official jar

Problem

HeliosLauncher includes Minecraft client jar in the distribution for versions 1.13 and above. This violates the EULA and poses a risk of receiving a DCMA request.

Solution

This pull request changes the launcher to run the Forge installer instead of bundling the jar file.

Implementation

I created a project called ForgeInstallerCLI, which allows running the Forge installer from the command line. It is based on the ForgeWrapper functionality, but with added support for getting installation progress. I made this project for HeliosLauncher, so I would like to transfer it to you if possible.

Notes

The installer is currently run in the frontend process. If needed, I can re-implement it in a fork process instead. Please let me know if you have any feedback or suggestions.

Related PRs

I also submitted separate pull requests for dscalzi/Nebula#65 and dscalzi/helios-core#3, which are required for this change to work.

GeekCornerGH commented 11 months ago

Interesting concept, however I'm not sure if @dscalzi is okay to rely on third-party tools

Kamesuta commented 11 months ago

Interesting concept, however I'm not sure if @dscalzi is okay to rely on third-party tools

I created the ForgeInstallerCLI with reference to ForgeWrapper (third-party tool), but it is not dependent on it. What it does in the tool is just that, call functions in the official Forge installer while avoiding the GUI display. Therefore, the code is very simple.