mcl

A terrible minecraft launcher
Log | Files | Refs | README

README.md (1113B)


      1 # mcl
      2 
      3 Don't use this, it's not very good. 
      4 
      5 A tiny minecraft launcher. Downloads and launches the current release version of minecraft (java edition). Hacks in support for linux-aarch64.
      6 
      7 Lots of missing things: 
      8 
      9 [ ] Downloading assets
     10 [ ] Applying runtime config correctly
     11 [ ] Compatibility with official launcher
     12 [ ] Support for selecting a version
     13 [ ] Anything to do with mods
     14 [ ] Anything to do with login to minecraft account
     15 [ ] Testing on platforms other than linux
     16 [ ] Fast downloads
     17 
     18 
     19 ## Learning
     20 
     21 This project was a learning exercise. Challenges: 
     22 - Zig's stdlib http client only supports TLSv1.3, and Mojang's download servers only support TLSv1.2. Had to resort to libCURL C library. It was an experience.
     23 - json parsing discriminating based on element type: see the specs for Manifest and Version. Some fields are _either_ a string or an array of strings and that requires zig's escape hatch implementing jsonParse on a type.
     24 - hacking aarch64 support required some string manipulation
     25 - general file manipulation etc. etc. 
     26 - it turns out that the pinebook pro is not fast enough to play minecraft