Skip to content
master
Switch branches/tags
Go to file
Code

README.md

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

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
  • Manage your Minecraft skin directly from the launcher

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
  • 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

A simple way to keep in terms of the license is by forking this repository and leaving it open source under the same license. We love free software, seeing people use our code and then not share the code, breaking the license, is saddening. So please take a look at the license and respect what we're doing.

Also, while we cannot enforce this under the license, you cannot use our CDN/files/assets on your own launcher. Again we cannot enforce this under the license, but needless to say, we'd be very unhappy if you did that and really would like to leave cease and desist letters as a last resort.