Skip to content

Slingshot : A fast minecraft launcher in Java and C++

Notifications You must be signed in to change notification settings

freya022/Slingshot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slingshot

A fast minecraft launcher

This project is mostly made in Java but uses C++ methods in critical places like file checking and performing HTTP(S) requests

The launcher can also be compiled into a native executable and will save you startup time, memory usage and snappiness

Why ?

Some friends and I decided to play Modded Minecraft, we used the Technic Launcher for some time, but it suffers from several weaknesses :
  • Forced to have Internet access
  • Very slow startup
  • It's Windows version is wrapped, forces us to use java 8, disallows higher versions
  • Using the Linux/MacOS version on Windows is fine though, but double clicking on it will prevent itself from having command line arguments like enabling anti aliasing and non-latin symbols
  • Extremely slow modpack upgrading / downgrading, I suspect they tried to keep the launcher single threaded to display accurately download status, combine that to slow mod hosting servers and you got a 5 minute long modpack update
  • A JAR file cannot be pinned on the taskbar nor the Start menu on Windows (and probably Linux too), making it a chore to find the launcher on the PC

These issues are fixed by using a much more modern GUI toolkit such as JavaFX and by using "Ahead of Time" compilation to make native executable, which are also pin-able, and using multiple threads to achieve certain tasks.

Taking the modpack upgrade example shows us that (approximately), Technic launcher took about 5 minutes to upgrade a modpack, while my launcher took advantage of my Internet capabilities and upgraded that same modpack in about 10 seconds

About

Slingshot : A fast minecraft launcher in Java and C++

Resources

Stars

Watchers

Forks

Languages