Giter Site home page Giter Site logo

ezzud / minecraftlauncher-template Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 3.0 1.38 MB

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

License: MIT License

Java 100.00%
minecraft launcher minecraftlauncher minecraft-launcher bootstrap autoupdate minecraft-forge minecraft-server minecraft-launcher-core minecraft-template minecraft-launcher-template

minecraftlauncher-template's Introduction

- 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

minecraftlauncher-template's People

Contributors

ezzud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

minecraftlauncher-template's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.