macarooni-man/auto-mcs

1.20.5+ not working with Java 17

Closed this issue · 2 comments

1.20.5+ requires version 65 (Java 21+) to run the server. To save storage and download times, a dynamic algorithm to download the appropriate versions of Java will be required. This would download Java 8 with legacy versions, Java 21 for new versions, and Java 17 for everything else.

A temporarily fix to play the newer versions is to download Java 21 and replace the binary files in the auto-mcs directory with the new files:

Windows:
%appdata%\.auto-mcs\Tools\Java\modern

Linux:
~/.auto-mcs/Tools/Java/modern

macOS:
~/Library/Application Support/auto-mcs/Tools/Java/modern

  • constants.java_check() will need to be refactored to accomodate installing 3 versions of Java
  • each server will need to keep track of which java version to use, possibly by using another function to convert the version and type returning "modern", "lts", or "legacy"
  • When running constants.java_check() it will need to run the previous specified function to detect and install the appropriate version

Fixed with previous commit