diff options
author | Martin Ashby <martin@ashbysoft.com> | 2023-09-11 22:49:31 +0100 |
---|---|---|
committer | Martin Ashby <martin@ashbysoft.com> | 2023-09-11 22:49:31 +0100 |
commit | 592b1d744527d803c974af1b5311fb22c2de3896 (patch) | |
tree | b37bbff67d7386d0c0c5a6ab4544c5395d5b353f | |
parent | d155c57a898b70bd6689e83afa288127820b2921 (diff) | |
download | mcl-main.tar.gz mcl-main.tar.bz2 mcl-main.tar.xz mcl-main.zip |
-rw-r--r-- | README.md | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..2ca56db --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# mcl + +Don't use this, it's not very good. + +A tiny minecraft launcher. Downloads and launches the current release version of minecraft (java edition). Hacks in support for linux-aarch64. + +Lots of missing things: + +[ ] Downloading assets +[ ] Applying runtime config correctly +[ ] Compatibility with official launcher +[ ] Support for selecting a version +[ ] Anything to do with mods +[ ] Anything to do with login to minecraft account +[ ] Testing on platforms other than linux +[ ] Fast downloads + + +## Learning + +This project was a learning exercise. Challenges: +- 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. +- 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. +- hacking aarch64 support required some string manipulation +- general file manipulation etc. etc. +- it turns out that the pinebook pro is not fast enough to play minecraft
\ No newline at end of file |