@@ -38,7 +38,7 @@ fn_update_localbuild() {
3838 # Gets local build info.
3939 fn_print_dots " Checking local build: ${remotelocation} "
4040 # Uses log file to get local build.
41- localbuild=$( grep Version " ${consolelogdir} " /* 2> /dev/null | tail -1 | sed ' s/.*Version: // ' | tr -d ' \000-\011\013-\037 ' )
41+ localbuild=$( grep -hoP ' Version:\s*\K[\d.]+ ' " ${consolelogdir} " /* 2> /dev/null | sort -V -r | head -n1 )
4242 if [ -z " ${localbuild} " ]; then
4343 fn_print_error " Checking local build: ${remotelocation} : missing local build info"
4444 fn_script_log_error " Missing local build info"
@@ -51,15 +51,18 @@ fn_update_localbuild() {
5151}
5252
5353fn_update_remotebuild () {
54- # Random number for userAgent
55- randomint=$( tr -dc 0-9 < /dev/urandom 2> /dev/null | head -c 4 | xargs)
56- # Get remote build info.
57- if [ " ${mcversion} " == " latest" ]; then
58- remotebuildversion=$( curl -H " Accept-Encoding: identity" -H " Accept-Language: en" -Ls -A " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.${randomint} .212 Safari/537.36" " https://www.minecraft.net/en-us/download/server/bedrock/" | grep -o ' https://www.minecraft.net/bedrockdedicatedserver/bin-linux/[^"]*' | sed ' s/.*\///' | grep -Eo " [.0-9]+[0-9]" )
54+ # Gets remote build info.
55+ apiurl=" https://net-secondary.web.minecraft-services.net/api/v1.0/download/links"
56+ remotebuildresponse=$( curl -s " ${apiurl} " | jq ' .result.links[]' )
57+ # Latest preview.
58+ if [ " ${mcversion} " == " preview" ]; then
59+ remotebuildurl=$( echo " ${remotebuildresponse} " | jq -r ' select(.downloadType == "serverBedrockPreviewLinux") | .downloadUrl' )
60+ # Latest release.
5961 else
60- remotebuildversion= " ${mcversion} "
62+ remotebuildurl= $( echo " ${remotebuildresponse} " | jq -r ' select(.downloadType == "serverBedrockLinux") | .downloadUrl ' )
6163 fi
62- remotebuildurl=" https://www.minecraft.net/bedrockdedicatedserver/bin-linux/bedrock-server-${remotebuildversion} .zip"
64+ remotebuildversion=$( echo " ${remotebuildurl} " | grep -Eo " [.0-9]+[0-9]" )
65+ remotebuildfilename=" bedrock-server-${remotebuildversion} .zip"
6366
6467 if [ " ${firstcommandname} " != " INSTALL" ]; then
6568 fn_print_dots " Checking remote build: ${remotelocation} "
0 commit comments