@@ -10,8 +10,20 @@ function isTrue() {
10
10
return 1
11
11
}
12
12
13
+ function replace_version_in_url() {
14
+ local original_url=" $1 "
15
+ local new_version=" $2 "
16
+
17
+ # Use sed to replace the version number in the URL
18
+ local modified_url
19
+ modified_url=$( echo " $original_url " | sed -E " s/(bedrock-server-)[^/]+(\.zip)/\1${new_version} \2/" )
20
+
21
+ echo " $modified_url "
22
+ }
23
+
13
24
function lookupVersion() {
14
25
platform=${1:? Missing required platform indicator}
26
+ customVersion=${2:- }
15
27
16
28
# shellcheck disable=SC2034
17
29
for i in {1..3}; do
@@ -23,6 +35,11 @@ function lookupVersion() {
23
35
DOWNLOAD_URL=$( curl -s https://mc-bds-helper.vercel.app/api/latest)
24
36
fi
25
37
38
+ if [[ -n " ${customVersion} " && -n " ${DOWNLOAD_URL} " ]]; then
39
+ DOWNLOAD_URL=$( replace_version_in_url " ${DOWNLOAD_URL} " " ${customVersion} " )
40
+ return
41
+ fi
42
+
26
43
# shellcheck disable=SC2012
27
44
if [[ ${DOWNLOAD_URL} =~ http.* /.* -(.* )\. zip ]]; then
28
45
VERSION=${BASH_REMATCH[1]}
@@ -65,27 +82,6 @@ if [[ ${EULA^^} != TRUE ]]; then
65
82
fi
66
83
67
84
case ${VERSION^^} in
68
- 1.12)
69
- VERSION=1.12.0.28
70
- ;;
71
- 1.13)
72
- VERSION=1.13.0.34
73
- ;;
74
- 1.14)
75
- VERSION=1.14.60.5
76
- ;;
77
- 1.16)
78
- VERSION=1.16.20.03
79
- ;;
80
- 1.17)
81
- VERSION=1.17.41.01
82
- ;;
83
- 1.17.41)
84
- VERSION=1.17.41.01
85
- ;;
86
- 1.18|PREVIOUS)
87
- VERSION=1.18.33.02
88
- ;;
89
85
PREVIEW)
90
86
echo " Looking up latest preview version..."
91
87
lookupVersion serverBedrockPreviewLinux
@@ -96,17 +92,18 @@ case ${VERSION^^} in
96
92
;;
97
93
* )
98
94
# use the given version exactly
95
+ if isTrue " $PREVIEW " ; then
96
+ echo " Using given preview version ${VERSION} "
97
+ lookupVersion serverBedrockPreviewLinux " ${VERSION} "
98
+ else
99
+ echo " Using given version ${VERSION} "
100
+ lookupVersion serverBedrockLinux " ${VERSION} "
101
+ fi
99
102
;;
100
103
esac
101
104
102
105
if [[ ! -f " bedrock_server-${VERSION} " ]]; then
103
106
104
- if [[ -z " ${DOWNLOAD_URL} " ]]; then
105
- binPath=bin-linux
106
- isTrue " ${PREVIEW} " && binPath+=" -preview"
107
- DOWNLOAD_URL=" https://minecraft.azureedge.net/${binPath} /bedrock-server-${VERSION} .zip"
108
- fi
109
-
110
107
[[ $TMP_DIR != /tmp ]] && mkdir -p " $TMP_DIR "
111
108
TMP_ZIP=" $TMP_DIR /$( basename " ${DOWNLOAD_URL} " ) "
112
109
0 commit comments