/GDLauncher

GDLauncher is a simple, yet powerful Minecraft custom launcher with a strong focus on the user experience

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

GDLauncher

forthebadge forthebadge

Maintenance PRs Welcome GitHub issues Codacy Badge GitHub pull requestsPRs Welcome Electron CD Discord David GitHub code size in bytes Github All Releases

🦺 Support this project

Buy Me a Coffee at ko-fi.com Become a Patron

Table of Contents (click to expand)

GDLauncher

🎮 What is GDLauncher

GDLauncher is a custom open-source Minecraft launcher written from the ground up in electron/react. Its main goal is to make it easy and enjoyable to manage different Minecraft versions and install forge/fabric, bringing the playing and modding experience to the next level!

⚡️ Comparison with Twitch Launcher

This is an example of the time that GDLauncher takes to install a modpack in comparison to Twitch. Both tests are running at the same time over a 1Gbps network to ensure that the network doesn't impact the comparison.

  • GDLauncher: 0.52m
  • Twitch Launcher: 2.25m

GDLauncher

🚀 Getting Started

Below you will find everything you need to know about the launcher. If you want to download the latest stable release you can do it from our official website (gdevs.io). If you want to test the possibly unstable features, you can clone the repo and compile it yourself.

🎮 Download

To download the latest version, you can either click here and select the appropriate version for your operating system or visit our website.

🎨 Features

Our features:

  • Java downloader. You don't need to have java installed, a suitable version will be downloaded automatically.
  • It's as easy as pie to install the vanilla game, forge, fabric, and all curseforge modpacks. No further action from the user is required.
  • Install mods for both fabric and forge directly from our UI
  • Built-in auto-updater. The launcher will always keep itself updated to the latest release.
  • Easily manage multiple accounts and switch between them.
  • Still playing on your grandma pc from the 80s? Don't worry, we got you covered with our Potato PC Mode!

You can also:

  • Import modpacks from other launchers
  • Keep track of the time you played each instance
  • Add instances to the download queue, they will automatically download one after the other

Some of the features we are still working on are:

  • Drag and drop instances wherever you like them, just like in your desktop
  • Export instances to other launchers
  • Liteloader support
  • Optifine easy-installation support
  • Manage your Minecraft skin directly from the launcher
  • A lot more...

💾 Compilation

These are the steps to compile it yourself.

⚙️ Requirements

You need the following software installed:

  • NodeJS (> v14.14.0 x64)
  • Rust
  • Python2(Mac and linux)
  • C++ compiler (g++ or windows build tools)

▶️ Steps

Install the dependencies and devDependencies.

$ cd GDLauncher
$ npm i

Start the development environment

$ npm run dev

For production environment...

$ npm run build && npm run start-prod

🚚 Packaging

To package the app for the local platform:

$ npm run release

🚀 Technologies

🎁 Contributing

You can find a list of unassigned tasks here. Feel free to ask anything on our discord if you need help or want other tasks.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

❤️ Author

See also the list of contributors who participated in this project.

📜 History

This project started as a way for me to learn programming and get better at it. I initially developed it in C#.

After a while, I didn't really like the language, so I just started it again from scratch in React and Electron. It was here that a community started gathering around the project. In the meanwhile, I also found a job where I could learn even more about best practices, data structures, and more.

This is why I decided to rewrite it completely one more time, applying all the knowledge I gained at that time, and that made it possible to implement a lot of really cool features, that were really complicated to code from a technical point of view.

Here you can find the previous versions of the code:

🎓 License

This project is licensed under the GNU GPL V3.0 - see the LICENSE file for details.

If you need GDLauncher licensed under different conditions, please contact davide@gdevs.io

You are free to clone the repository and do whatever you want as long as you stick to the license above, just be aware that most of the assets available in the repository are licensed differently (check COPYING.md) so you are not allowed to redistribute those. Also keep in mind that some features will not be working unless you set them up yourself (such as analytics, error tracking..) because the private API keys are stored secretly.

We do not encourage clones of this project (to avoid fragmentation) so don't expect any help from us when trying to do that. We, however, encourage collaboration and growth on this official project and you're more than welcome to contribute.