Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ezzud/minecraftlauncher-template

Template for a Modded/Vanilla Minecraft Launcher (AutoUpdate - Custom Appdata)
https://github.com/ezzud/minecraftlauncher-template

autoupdate bootstrap launcher minecraft minecraft-forge minecraft-launcher minecraft-launcher-core minecraft-launcher-template minecraft-server minecraft-template minecraftlauncher

Last synced: 10 days ago
JSON representation

Template for a Modded/Vanilla Minecraft Launcher (AutoUpdate - Custom Appdata)

Awesome Lists containing this project

README

        

Ezzud's Minecraft Launcher Template


- Requirements

- I Setup Workspace

- II Setup Launcher

- III Setup S-Update

- IV Setup Bootstrap

- Support

DEMO

Launcher Demo:

![image](https://user-images.githubusercontent.com/44119886/188251148-1d898248-5af0-4d96-801d-9c5c328ff515.png)

Bootstrap Demo:

![image](https://user-images.githubusercontent.com/44119886/188251161-403a879a-3083-4237-b76f-8f8e442f9ca1.png)

✨ Features

🎈 CUSTOM APPDATA

🎈 CUSTOM DESIGN

βŒ› SELF-HOSTED AUTO UPDATE

βŒ› SELF-HOSTED LAUNCHER UPDATE

βŒ› MICROSOFT AUTH

βœ… MCP COMPATIBLE

βœ… FORGE OR VANILLA COMPATIBLE

βœ… **1.7.10 -> 1.13.2** Tested

⭐ EMAIL SAVER

⭐ PASSWORD ENCRYPTED SAVER

⭐ RAM SELECTOR

⭐ EMERGENCY BUTTON

⭐ SHOW/HIDE EMAIL OR PASSWORD FOR STREAMING

⭐ EASY TO CONFIGURE

πŸ›‘ Requirements

> **FOR LAUNCHER ONLY** [OpenAuth v1.1.2](https://beta.ezzud.fr/download/openauth-1.1.2.jar)

> **FOR LAUNCHER ONLY** [OpenLauncherLib v3.0.5](https://beta.ezzud.fr/download/openlauncherlib-3.0.5.jar)

> **FOR LAUNCHER ONLY** [Fernet v1.5.0](https://beta.ezzud.fr/download/fernet-java8-1.5.0.jar)

> **FOR LAUNCHER ONLY** [Apache Commons Codec v1.15](https://beta.ezzud.fr/download/commons-codec-1.15.jar)

> **FOR BOOTSTRAP ONLY** [OpenLauncherLib v2.1](https://beta.ezzud.fr/download/openlauncherlib-2.1-SNAPSHOT.jar)

> [S-Update v3.1.0](https://beta.ezzud.fr/download/s-update-3.1.0-BETA.jar)

> [Swinger v1.0.0](https://beta.ezzud.fr/download/swinger-1.0.0-BETA.jar)

> Any Web Hoster (with php incuded)

> **WEBHOSTER** [S-Update server-side v3.1.0](https://github.com/Litarvan/S-Update-Server/releases/download/3.1.0-BETA/s-update-server-3.1.0.zip)

πŸ“œ Installation

I Install the workspace


1.0 - Download all requirements from the requirement section

1.1 - Open your Java IDE (Eclipse, IntelliJ)

1.2 - Optional: With Eclipse IDE, open the ".project" file on launcher & bootstrap (Easier)

1.3 - Create a JavaProject for Launcher, AND ANOTHER for Bootstrap (⚠ Launcher & Bootstrap are 2 different projects)

1.4 - Import respective launcher & bootstrap files into each project

1.5 - Import required Libraries

II Setup Launcher

2.0 - (IDE) Open the `src/fr.ezzud.defaultlauncher/functions.java` file

2.1 - (IDE) Edit your website url, appdata name, launcher name etc...

2.2 - (IDE) Edit messages as you want

2.3 - (IDE) Replace `https://yourwebsite.com/supdate/` by your website url where the s-update server will be hosted (Example: https://site.com/supdate/)

πŸ’‘ You can store s-update server in a folder on your website, so add the folder in your URL

2.4 - (MISC) Change textures in `fr.ezzud.defaultlauncher.resources` if you want to edit textures

2.5 - (IDE) Open the `src/fr.ezzud.defaultlauncher/Main.java` file


2.6 - (IDE) At line 30, Change your Minecraft Game version:

πŸ“’ **FOR 1.7.10**: ![image](https://user-images.githubusercontent.com/44119886/188249478-bf22ceeb-5f90-47e4-9dcc-dc2720e6d366.png)

πŸ“’ **FOR 1.8 TO 1.12**: ![image](https://user-images.githubusercontent.com/44119886/188249487-4c8b31fe-f704-43d7-931e-ae2d28b5ad55.png)

πŸ“’ **FOR 1.13 TO 1.16**: ![image](https://user-images.githubusercontent.com/44119886/188249508-81200964-2a38-4fa3-8439-e8e4c09de230.png)


πŸ“’ **IF YOU WANT TO REMOVE FORGE FROM THE LAUNCHER**:


> (IDE) At line 31, Remove `new GameTweak[] { GameTweak.FORGE }` by "null"

![image](https://user-images.githubusercontent.com/44119886/188250349-318d708c-bda2-4099-8a0d-afac735e8678.png)


2.7 - (IDE) Extract your project as a Executable JAR and name it **launcher.jar** (Name is important)

III Setup the S-Update server

3.0 - (MISC) Download the s-update server zip from the requirement section

3.1 - (FTP) Upload the content of the ZIP file in a folder named **supdate** in your web hoster

3.2 - Wait for upload

3.3 - (WEB) Access to the S-Update panel with `https://your-url.com/supdate`

⚠ If you get 404 error, go on `https://your-url.com/supdate/index.php/`

⚠ If after registering, you didn't get redirected, verify permission (Debian: `chmod -R 777 /var/www/html/supdate`)

⚠ If you cannot setup password, go on this link and paste content into `https://your-url.com/supdate/config/server.json`

3.4 - (WEB) Create admin credentials (to reset, delete file **server.json** at update/config/)

3.5 - (WEB) Enable S-Update by clicking on the circle (if it is already green, he is already activated)

3.6 - (MISC) Go on your **Appdata/Roaming/.minecraft/version** folder

3.7 - (MISC) Go on the folder with the name of the version you chosen (NOT FORGE)

3.8 - (MISC) Take the yourversion.jar file, copy and rename it by `minecraft.jar`

3.9- (FTP) Go back to your WebHoster FTP

3.10 - (FTP) Access to the `files` folder (or create it)

3.11 - (FTP) Select all these files:

- `minecraft.jar` that you got before
- `assets` folder from your .minecraft appdata folder
- `libraries` folder from your .minecraft appdata folder (πŸ’‘TIP: On Windows, go to "libraries" folder and type in search bar "*.jar", then press CTRL+A to select all libraries)
- `bin` folder from your .minecraft appdata folder (πŸ’‘TIP: On Windows, go to "bin" folder and type in search bar "*.jar", then press CTRL+A to select all libraries)

⚠ **I recommend you to launch Minecraft in your desired version in another appdata folder to get ONLY the assets, libraries & natives for the version you want**

⚠ **YOU NEED TO RENAME "libraries" FOLDER TO "libs"**

⚠ **YOU NEED TO RENAME "bin" FOLDER TO "natives"**

⚠ **If you don't have "bin" folder**, try to delete the bin folder and launch your Minecraft with the correct forge version

Also you can download 1.12.2 Minecraft natives here



3.12 - (FTP) Place all selected files into the **files** folder in the S-UPDATE

3.13 - (FTP) Add other folders like "mods" folder or anything your launcher need (mods folder, config folder, every folder that is normally on .minecraft folder

3.14 - (FTP) Open the `supdate/config/ignore.list` file and add every folder and file you want not to be **deleted/replaced by original version** during launcher updates

πŸ’‘ Recommended list:

```
options.txt
saves/
resourcepacks/
resources/
shaderpacks/
logs/
crash-reports/
screenshots/
launcher.properties
ram.txt
launcher/
game/
journeymap/
```
3.15 - (FTP) Every time you change the `files` folder in your FTP, when launcher starts it will update the new files & folders

3.16 - (FTP) Save the file and now your launcher will work when you launch `launcher.jar`

🎀 If you don't want to add a launcher updater, you are free to stop reading because the next part will talk about setting-up the bootstrap

IV Setup the Bootstrap

4.0 - (IDE) Open or Import **bootstrap** project in your Java IDE

4.1 - (IDE) Open the `src/fr.ezzud.defaultbootstrap/functions.java` file

4.2 - (IDE) Edit the file with your informations

4.3 - (IDE) Replace supdate URL by your supdate url with **/bootstrap** after the url
(Example: https://yourwebsite.com/supdate/bootstrap/)

⚠ If you get 404 error, go on `https://example.com/supdate/bootstrap/index.php/`

⚠ If after registering, you didn't get redirected, verify permission (Debian: `chmod -R 777 /var/www/html/supdate`)

⚠ If you cannot setup password, go on this link and paste content into `https://your-url.com/supdate/bootstrap/config/server.json`

4.4 - (IDE) Extract the project as a JAR Executable and name it `bootstrap.jar` (not important)

4.5 - (FTP) **In the S-Update folder**, create a new folder named `bootstrap`

4.6 - (FTP) Duplicate __the entire__ supdate folder ⚠ except **bootstrap** folder and **files** folder

4.7 - (FTP) In the freshly created bootstrap folder, create a `files` folder

4.8 - (FTP) Upload your launcher.jar (the JAR of the launcher from the Part 2)

4.9 - (FTP) Create a `Libs` folder (with the cap) and upload all libraries used in the `launcher project`

4.10 - Now when you start `bootstrap.jar` it will check if launcher is updated and if so the launcher will start

❓ For any help, join my discord at https://ezzud.fr/discord