forked from itzg/docker-minecraft-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
start-utils
84 lines (68 loc) · 1.16 KB
/
start-utils
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/bash
function isURL {
local value=$1
if [[ ${value:0:8} == "https://" || ${value:0:7} == "http://" ]]; then
return 0
else
return 1
fi
}
function isTrue {
local value=${1,,}
result=
case ${value} in
true|on)
result=0
;;
*)
result=1
;;
esac
return ${result}
}
function isDebugging {
if [[ -v DEBUG ]] && [[ ${DEBUG^^} = TRUE ]]; then
return 0
else
return 1
fi
}
function debug {
if isDebugging; then
log "DEBUG: $*"
fi
}
function logn {
echo -n "[init] $*"
}
function log {
echo "[init] $*"
}
function normalizeMemSize {
local scale=1
case ${1,,} in
*k)
scale=1024;;
*m)
scale=1048576;;
*g)
scale=1073741824;;
esac
val=${1:0: -1}
echo $(( val * scale ))
}
function versionLessThan {
local activeParts
IFS=. read -ra activeParts <<< "${VANILLA_VERSION}"
local givenParts
IFS=. read -ra givenParts <<< "$1"
if (( ${#activeParts[@]} < 2 )); then
return 1
fi
if (( activeParts[0] < givenParts[0] )) || \
(( activeParts[0] == givenParts[0] && activeParts[1] < givenParts[1] )); then
return 0
else
return 1
fi
}