Skip to content

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

License

Notifications You must be signed in to change notification settings

Ezzud/minecraftlauncher-template

Repository files navigation

- Requirements
- I Setup Workspace
- II Setup Launcher
- III Setup S-Update
- IV Setup Bootstrap
- Support

DEMO

Launcher Demo:
image

Bootstrap Demo:
image

✨ 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
FOR LAUNCHER ONLY OpenLauncherLib v3.0.5
FOR LAUNCHER ONLY Fernet v1.5.0
FOR LAUNCHER ONLY Apache Commons Codec v1.15
FOR BOOTSTRAP ONLY OpenLauncherLib v2.1
S-Update v3.1.0
Swinger v1.0.0

Any Web Hoster (with php incuded)
WEBHOSTER S-Update server-side v3.1.0

📜 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
📢 FOR 1.8 TO 1.12: image
📢 FOR 1.13 TO 1.16: image

📢 IF YOU WANT TO REMOVE FORGE FROM THE LAUNCHER:

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

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