RustMine
A Minecraft launcher written in Rust, with an Electron frontend.
Why?
I thought it would be fun to use two of my most familiar languages, Rust and JavaScript, to create a Minecraft launcher. I will most likely to not finish this program, since I only did this for fun.
I will create the UI using Electron and I will use Rust with Neon Bindings.
Roadmap
- Frontend
- Main Page
- Backend
- Mojang Login
- Microsoft Login
- Download Libraries
- Download
minecraft.jar
- Authenticating
- Launching Minecraft
- Extra Stuff
- Multiple Instances
- Instance Specific Settings
- Multiple Accounts
- Mojang Status
- Auto Update
- Integrate with mod-updater
- Animate Splash Screen
Development
- Clone this repository.
- Run
yarn
to install the dependencies for the frontend. - Then, run
yarn
inside thebackend
folder to install the dependencies for the backend. - Run
yarn dev
in the root folder of this project to start the app.
What if I am religiously opposed to using Electron?
It's clear that highly polarized opinions about languages and frameworks are characteristic of people who lack real-world programming experience and are more interested in building an identity than creating computer programs. When pressed for reasons what exactly is so bad about Electron, they can rarely offer anything than vaguely mumbled "memory usage" or "b-but it's an entire browser" (both of which have not been true for years, for example Electron's memory usage has improved dramatically, but the meme stuck). The programming world is filled with people who read angry rants about why library X or Y sucks and you should hate it, then repeat whatever they remember because they think whining makes them seem smart, without critically examining whether it makes sense or not.
The reasons behind Electron
With experience comes a certain appreciation of tradeoffs you take when building software and while Electron is not the perfect solution for every use case, it's certainly good enough for what I was trying to achieve with this app.
License
RustMine, a Minecraft launcher written in Rust, with an Electron frontend. Copyright (C) 2022 sourTaste000
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.