Compare commits

..

2 Commits

Author SHA1 Message Date
Leonard Steppy
b9e82b96e3 Add some info output 2025-12-23 13:30:30 +01:00
Leonard Steppy
4f710e80be Add quiet flag and produce default output 2025-12-23 13:20:03 +01:00

View File

@ -1,11 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Constants
# port of the server in standalone mode, aka the open port # port of the server in standalone mode, aka the open port
STANDALONE_PORT=25565 STANDALONE_PORT=25565
# port of the server in proxy mode, aka the internal port # port of the server in proxy mode, aka the internal port
PROXY_PORT=25566 PROXY_PORT=25566
# installs ViaVersion on BungeeCord and standalone mode, removes it in Velocity mode # installs ViaVersion on BungeeCord and standalone mode, removes it in Velocity mode
MANAGE_VIA_VERSION=true MANAGE_VIA_VERSION=false
# installs ViaBackwards on BungeeCord and standalone mode, removes it in Velocity mode # installs ViaBackwards on BungeeCord and standalone mode, removes it in Velocity mode
MANAGE_VIA_BACKWARDS=$MANAGE_VIA_VERSION MANAGE_VIA_BACKWARDS=$MANAGE_VIA_VERSION
@ -18,6 +20,11 @@ VIA_VERSION_REPO="ViaVersion/ViaVersion"
# Github repo of ViaBackwards project # Github repo of ViaBackwards project
VIA_BACKWARDS_REPO="ViaVersion/ViaBackwards" VIA_BACKWARDS_REPO="ViaVersion/ViaBackwards"
# Runtime variables
quiet=false
function main { function main {
# parse arguments # parse arguments
@ -32,33 +39,33 @@ function main {
"velocity") "velocity")
velocity=true velocity=true
if $bungeecord || $standalone; then if $bungeecord || $standalone; then
echo "argument velocity can't be used together with bungeecord or standalone" err "argument velocity can't be used together with bungeecord or standalone"
exit 1
fi fi
;; ;;
"bungeecord") "bungeecord")
bungeecord=true bungeecord=true
if $velocity || $standalone; then if $velocity || $standalone; then
echo "argument bungeecord can't be used together with velocity or standalone" err "argument bungeecord can't be used together with velocity or standalone"
exit 1
fi fi
;; ;;
"standalone") "standalone")
standalone=true standalone=true
if $bungeecord || $velocity; then if $bungeecord || $velocity; then
echo "argument standalone can't be used together with bungeecord or velocity" err "argument standalone can't be used together with bungeecord or velocity"
exit 1
fi fi
;; ;;
"--fetch") "--fetch")
fetch=true fetch=true
quiet=true
;;
"--quiet" | "-q")
quiet=true
;; ;;
"--help") "--help")
help=true help=true
;; ;;
*) *)
echo "Unknown argument: $arg" err "Unknown argument: $arg"
exit 1
;; ;;
esac esac
done done
@ -76,6 +83,7 @@ function main {
echo "OPTIONS:" echo "OPTIONS:"
echo " --fetch - print the current mode before reconfiguring the server. Nothing else will be printed." echo " --fetch - print the current mode before reconfiguring the server. Nothing else will be printed."
echo " --help - show this message" echo " --help - show this message"
echo " -q --quiet - Dont print any output, except for output which is caused by --fetch"
exit 0 exit 0
fi fi
@ -94,6 +102,7 @@ function main {
# Velocity # Velocity
if $velocity; then if $velocity; then
info "Configuring for Velocity"
enable_online_mode false enable_online_mode false
set_port "$PROXY_PORT" set_port "$PROXY_PORT"
enable_velocity true enable_velocity true
@ -107,6 +116,7 @@ function main {
# BungeeCord # BungeeCord
elif $bungeecord; then elif $bungeecord; then
info "Configuring for BungeeCord"
enable_online_mode false enable_online_mode false
set_port "$PROXY_PORT" set_port "$PROXY_PORT"
enable_velocity false enable_velocity false
@ -120,6 +130,7 @@ function main {
# standalone # standalone
elif $standalone; then elif $standalone; then
info "Configuring for standalone mode"
enable_online_mode true enable_online_mode true
set_port "$STANDALONE_PORT" set_port "$STANDALONE_PORT"
enable_velocity false enable_velocity false
@ -177,6 +188,7 @@ function update_plugin {
local plugin_name=$1 local plugin_name=$1
local repo=$2 local repo=$2
remove_plugin $plugin_name remove_plugin $plugin_name
info "Downloading latest version of $plugin_name..."
download_jar_from_github $repo "plugins/" download_jar_from_github $repo "plugins/"
} }
@ -187,7 +199,28 @@ function download_jar_from_github {
local repo=$1 local repo=$1
local dst=$2 local dst=$2
local url=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r '.assets[] | select(.name | endswith(".jar")) | .browser_download_url') local url=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r '.assets[] | select(.name | endswith(".jar")) | .browser_download_url')
if $quiet; then
wget -qP "$dst" "$url" wget -qP "$dst" "$url"
else
wget -P "$dst" "$url"
fi
}
# Print something unless quiet flag has been set
#
# Usage: info <msg>
function info {
if ! $quiet; then
echo "$1"
fi
}
# Shows ans error message and exits the program with code 1
#
# Usage: err <msg>
function err {
echo "$1"
exit 1
} }
main "$@" main "$@"