diff --git a/server-properties/helpers/loading/bash_loading_animations.demo b/server-properties/helpers/loading/bash_loading_animations.demo new file mode 100644 index 0000000..cb3c7d8 --- /dev/null +++ b/server-properties/helpers/loading/bash_loading_animations.demo @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +# shellcheck disable=SC2034 # https://github.com/koalaman/shellcheck/wiki/SC2034 + +# Load in the functions and animations +source ./bash_loading_animations.sh +# Run BLA::stop_loading_animation if the script is interrupted +trap BLA::stop_loading_animation SIGINT + +demo_loading_animation() { + BLA_active_loading_animation=( "${@}" ) + # Extract the delay between each frame from the active_loading_animation array + BLA_loading_animation_frame_interval="${BLA_active_loading_animation[0]}" + # Sleep long enough that all frames are showed + # substract 1 to the number of frames to account for index [0] + demo_duration=$( echo "${BLA_active_loading_animation[0]} * ( ${#BLA_active_loading_animation[@]} - 1 )" | bc ) + # Make sure each animation is shown for at least 3 seconds + if [[ $( echo "if (${demo_duration} < 3) 0 else 1" | bc ) -eq 0 ]] ; then + demo_duration=3 + fi + unset "BLA_active_loading_animation[0]" + echo + BLA::play_loading_animation_loop & + BLA_loading_animation_pid="${!}" + sleep "${demo_duration}" + kill "${BLA_loading_animation_pid}" &> /dev/null + clear +} + +tput civis # Hide the terminal cursor +clear + +demo_loading_animation "${BLA_classic[@]}" +demo_loading_animation "${BLA_box[@]}" +demo_loading_animation "${BLA_bubble[@]}" +demo_loading_animation "${BLA_breathe[@]}" +demo_loading_animation "${BLA_growing_dots[@]}" +demo_loading_animation "${BLA_passing_dots[@]}" +demo_loading_animation "${BLA_metro[@]}" +demo_loading_animation "${BLA_snake[@]}" +demo_loading_animation "${BLA_filling_bar[@]}" +demo_loading_animation "${BLA_classic_utf8[@]}" +demo_loading_animation "${BLA_bounce[@]}" +demo_loading_animation "${BLA_vertical_block[@]}" +demo_loading_animation "${BLA_horizontal_block[@]}" +demo_loading_animation "${BLA_quarter[@]}" +demo_loading_animation "${BLA_triangle[@]}" +demo_loading_animation "${BLA_semi_circle[@]}" +demo_loading_animation "${BLA_rotating_eyes[@]}" +demo_loading_animation "${BLA_firework[@]}" +demo_loading_animation "${BLA_braille[@]}" +demo_loading_animation "${BLA_braille_whitespace[@]}" +demo_loading_animation "${BLA_trigram[@]}" +demo_loading_animation "${BLA_arrow[@]}" +demo_loading_animation "${BLA_bouncing_ball[@]}" +demo_loading_animation "${BLA_big_dot[@]}" +demo_loading_animation "${BLA_modern_metro[@]}" +demo_loading_animation "${BLA_pong[@]}" +demo_loading_animation "${BLA_earth[@]}" +demo_loading_animation "${BLA_clock[@]}" +demo_loading_animation "${BLA_moon[@]}" +demo_loading_animation "${BLA_orange_pulse[@]}" +demo_loading_animation "${BLA_blue_pulse[@]}" +demo_loading_animation "${BLA_football[@]}" +demo_loading_animation "${BLA_blink[@]}" +demo_loading_animation "${BLA_camera[@]}" +demo_loading_animation "${BLA_sparkling_camera[@]}" +demo_loading_animation "${BLA_sick[@]}" +demo_loading_animation "${BLA_monkey[@]}" +demo_loading_animation "${BLA_bomb[@]}" + +tput cnorm # Restore the terminal cursor + +exit 0 diff --git a/server-properties/helpers/loading/bash_loading_animations.sh b/server-properties/helpers/loading/bash_loading_animations.sh new file mode 100644 index 0000000..4384b24 --- /dev/null +++ b/server-properties/helpers/loading/bash_loading_animations.sh @@ -0,0 +1,111 @@ +#!/usr/bin/env bash + +# Source: https://github.com/Silejonu/bash_loading_animations + +# shellcheck disable=SC2034 # https://github.com/koalaman/shellcheck/wiki/SC2034 + +### Loading animations list ### +# The first value of an array is the interval (in seconds) between each frame + +## ASCII animations ## +# Will work in any terminal, including the TTY. +BLA_classic=( 0.25 '-' "\\" '|' '/' ) +BLA_box=( 0.2 ┤ ┴ ├ ┬ ) +BLA_bubble=( 0.6 · o O O o · ) +BLA_breathe=( 0.9 '  ()  ' ' (  ) ' '(    )' ' (  ) ' ) +BLA_growing_dots=( 0.5 '.  ' '.. ' '...' '.. ' '.  ' '   ' ) +BLA_passing_dots=( 0.25 '.  ' '.. ' '...' ' ..' '  .' '   ' ) +BLA_metro=( 0.2 '[    ]' '[=   ]' '[==  ]' '[=== ]' '[ ===]' '[  ==]' '[   =]' ) +BLA_snake=( 0.4 '[=     ]' '[~<    ]' '[~~=   ]' '[~~~<  ]' '[ ~~~= ]' '[  ~~~<]' '[   ~~~]' '[    ~~]' '[     ~]' '[      ]' ) +BLA_filling_bar=( 0.05 '█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '███▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '█████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '██████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '███████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '█████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '██████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '███████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '█████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '██████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '███████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '████████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '█████████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '██████████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '███████████████████▒▒▒▒▒▒▒▒▒▒▒▒▒' '████████████████████▒▒▒▒▒▒▒▒▒▒▒▒' '█████████████████████▒▒▒▒▒▒▒▒▒▒▒' '██████████████████████▒▒▒▒▒▒▒▒▒▒' '███████████████████████▒▒▒▒▒▒▒▒▒' '████████████████████████▒▒▒▒▒▒▒▒' '█████████████████████████▒▒▒▒▒▒▒' '██████████████████████████▒▒▒▒▒▒' '███████████████████████████▒▒▒▒▒' '████████████████████████████▒▒▒▒' '█████████████████████████████▒▒▒' '██████████████████████████████▒▒' '███████████████████████████████▒' '████████████████████████████████') + +## UTF-8 animations ## +# Require Unicode support (will work in most modern terminals, but not in TTY). +# Some animations may not render properly with certain fonts. +BLA_classic_utf8=( 0.25 '—' "\\" '|' '/' ) +BLA_bounce=( 0.3 . · ˙ · ) +BLA_vertical_block=( 0.25 ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ █ ▇ ▆ ▅ ▄ ▃ ▂ ▁ ) +BLA_horizontal_block=( 0.25 ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▉ ▊ ▋ ▌ ▍ ▎ ▏ ) +BLA_quarter=( 0.25 ▖ ▘ ▝ ▗ ) +BLA_triangle=( 0.45 ◢ ◣ ◤ ◥) +BLA_semi_circle=( 0.1 ◐ ◓ ◑ ◒ ) +BLA_rotating_eyes=( 0.4 ◡◡ ⊙⊙ ⊙⊙ ◠◠ ) +BLA_firework=( 0.4 '⢀' '⠠' '⠐' '⠈' '*' '*' ' ' ) +BLA_braille=( 0.2 ⠁ ⠂ ⠄ ⡀ ⢀ ⠠ ⠐ ⠈ ) +BLA_braille_whitespace=( 0.2 ⣾ ⣽ ⣻ ⢿ ⡿ ⣟ ⣯ ⣷ ) +BLA_trigram=( 0.25 ☰ ☱ ☳ ☶ ☴ ) +BLA_arrow=( 0.15 ▹▹▹▹▹ ▸▹▹▹▹ ▹▸▹▹▹ ▹▹▸▹▹ ▹▹▹▸▹ ▹▹▹▹▸ ▹▹▹▹▹ ▹▹▹▹▹ ▹▹▹▹▹ ▹▹▹▹▹ ▹▹▹▹▹ ▹▹▹▹▹ ▹▹▹▹▹ ) +BLA_bouncing_ball=( 0.4 '(●     )' '( ●    )' '(  ●   )' '(   ●  )' '(    ● )' '(     ●)' '(    ● )' '(   ●  )' '(  ●   )' '( ●    )' ) +BLA_big_dot=( 0.7 ∙∙∙ ●∙∙ ∙●∙ ∙∙● ) +BLA_modern_metro=( 0.15 ▰▱▱▱▱▱▱ ▰▰▱▱▱▱▱ ▰▰▰▱▱▱▱ ▱▰▰▰▱▱▱ ▱▱▰▰▰▱▱ ▱▱▱▰▰▰▱ ▱▱▱▱▰▰▰ ▱▱▱▱▱▰▰ ▱▱▱▱▱▱▰ ▱▱▱▱▱▱▱ ▱▱▱▱▱▱▱ ▱▱▱▱▱▱▱ ▱▱▱▱▱▱▱ ) +BLA_pong=( 0.35 '▐⠂       ▌' '▐⠈       ▌' '▐ ⠂      ▌' '▐ ⠠      ▌' '▐  ⡀     ▌' '▐  ⠠     ▌' '▐   ⠂    ▌' '▐   ⠈    ▌' '▐    ⠂   ▌' '▐    ⠠   ▌' '▐     ⡀  ▌' '▐     ⠠  ▌' '▐      ⠂ ▌' '▐      ⠈ ▌' '▐       ⠂▌' '▐       ⠠▌' '▐       ⡀▌' '▐      ⠠ ▌' '▐      ⠂ ▌' '▐     ⠈  ▌' '▐     ⠂  ▌' '▐    ⠠   ▌' '▐    ⡀   ▌' '▐   ⠠    ▌' '▐   ⠂    ▌' '▐  ⠈     ▌' '▐  ⠂     ▌' '▐ ⠠      ▌' '▐ ⡀      ▌' '▐⠠       ▌' ) +BLA_earth=( 0.45 🌍 🌎 🌏 ) +BLA_clock=( 0.2 🕛 🕐 🕑 🕒 🕓 🕔 🕕 🕖 🕗 🕘 🕙 🕚 ) +BLA_moon=( 0.8 🌑 🌒 🌓 🌔 🌕 🌖 🌗 🌘 ) +BLA_orange_pulse=( 0.35 🔸 🔶 🟠 🟠 🔶 ) +BLA_blue_pulse=( 0.35 🔹 🔷 🔵 🔵 🔷 ) +BLA_football=( 0.25 ' 👧⚽️       👦' '👧  ⚽️      👦' '👧   ⚽️     👦' '👧    ⚽️    👦' '👧     ⚽️   👦' '👧      ⚽️  👦' '👧       ⚽️👦 ' '👧      ⚽️  👦' '👧     ⚽️   👦' '👧    ⚽️    👦' '👧   ⚽️     👦' '👧  ⚽️      👦' ) +BLA_blink=( 0.25 😐 😐 😐 😐 😐 😐 😐 😐 😐 😑 ) +BLA_camera=( 0.1 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📸 📷 📸 ) +BLA_sparkling_camera=( 0.1 '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📸✨' '📷 ' '📸✨' ) +BLA_sick=( 0.9 🤢 🤢 🤮 ) +BLA_monkey=( 0.4 🙉 🙈 🙊 🙈 ) +BLA_bomb=( 0.25 '💣   ' ' 💣  ' '  💣 ' '   💣' '   💣' '   💣' '   💣' '   💣' '   💥' '    ' '    ' ) + +declare -a BLA_active_loading_animation + +BLA::play_loading_animation_loop() { + while true ; do + for frame in "${BLA_active_loading_animation[@]}" ; do + printf "\r%s" "${frame}" + sleep "${BLA_loading_animation_frame_interval}" + done + done +} + +BLA::start_loading_animation() { + BLA_active_loading_animation=( "${@}" ) + # Extract the delay between each frame from array BLA_active_loading_animation + BLA_loading_animation_frame_interval="${BLA_active_loading_animation[0]}" + unset "BLA_active_loading_animation[0]" + tput civis # Hide the terminal cursor + BLA::play_loading_animation_loop & + BLA_loading_animation_pid="${!}" +} + +BLA::stop_loading_animation() { + kill "${BLA_loading_animation_pid}" &> /dev/null + printf "\n" + tput cnorm # Restore the terminal cursor +} + + +############################################################################### +################################# USAGE GUIDE ################################# +############################################################################### +################## Read below for the explanations on how to ################## +################### show loading animations in your script. ################### +############################################################################### + +:<<'EXAMPLES' + +## Put these lines at the top of your script: +## (replace /path/to/bash_loading_animations.sh with the appropriate filepath) +# Load in the functions and animations +source /path/to/bash_loading_animations.sh +# Run BLA::stop_loading_animation if the script is interrupted +trap BLA::stop_loading_animation SIGINT + +# Show a loading animation for the command "foo" +BLA::start_loading_animation "${BLA_name_of_the_animation[@]}" +foo +BLA::stop_loading_animation + +# If foo prints some output in the terminal, you may want to add: +foo 1> /dev/null # hide standard output +# or +foo 2> /dev/null # hide error messages +# or +foo &> /dev/null # hide all output + +EXAMPLES diff --git a/server-properties/helpers/loading/loading.txt b/server-properties/helpers/loading/loading.txt new file mode 100644 index 0000000..2f7d296 --- /dev/null +++ b/server-properties/helpers/loading/loading.txt @@ -0,0 +1,8 @@ + + +▗▖ ▗▄▖ ▗▖ ▗▖▗▖ ▗▖ ▗▄▄▖▗▖ ▗▖▗▄▄▄▖▗▖ ▗▖ ▗▄▄▖ +▐▌ ▐▌ ▐▌▐▌ ▐▌▐▛▚▖▐▌▐▌ ▐▌ ▐▌ █ ▐▛▚▖▐▌▐▌ +▐▌ ▐▛▀▜▌▐▌ ▐▌▐▌ ▝▜▌▐▌ ▐▛▀▜▌ █ ▐▌ ▝▜▌▐▌▝▜▌ +▐▙▄▄▖▐▌ ▐▌▝▚▄▞▘▐▌ ▐▌▝▚▄▄▖▐▌ ▐▌▗▄█▄▖▐▌ ▐▌▝▚▄▞▘ + + diff --git a/server-properties/helpers/splash__creative.txt b/server-properties/helpers/splash__creative.txt new file mode 100644 index 0000000..be3ba77 --- /dev/null +++ b/server-properties/helpers/splash__creative.txt @@ -0,0 +1,27 @@ + + + + + + + ░▒▓████████▓▒░▒▓████████▓▒░▒▓███████▓▒░░▒▓███████▓▒░░▒▓█▓▒░▒▓███████▓▒░░▒▓█▓▒░ ░▒▓██████▓▒░░▒▓███████▓▒░░▒▓███████▓▒░ + ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ + ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ + ░▒▓██████▓▒░ ░▒▓██████▓▒░ ░▒▓███████▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓████████▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ + ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ + ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ + ░▒▓█▓▒░ ░▒▓████████▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░ + + + +░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░ ░░░ ░░░ ░░░ ░░ ░░ ░░░░ ░░ ░░░░░░░░░░░░░░░░░░░░░░░░░ +▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒ ▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ +▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ +███████████████████████████████ ████ ██ ███ ███ ████████ █████ ████████ ███████ ████ ███████████████████████████████ +████████████████████████████████ ███ ████ ██ ██ ████ █████ █████ █████ █████ █████████████████████████ + + + + + + diff --git a/server-properties/helpers/splash__smp.txt b/server-properties/helpers/splash__smp.txt new file mode 100644 index 0000000..a4495c1 --- /dev/null +++ b/server-properties/helpers/splash__smp.txt @@ -0,0 +1,27 @@ + + + + + + + ░▒▓████████▓▒░▒▓████████▓▒░▒▓███████▓▒░░▒▓███████▓▒░░▒▓█▓▒░▒▓███████▓▒░░▒▓█▓▒░ ░▒▓██████▓▒░░▒▓███████▓▒░░▒▓███████▓▒░ + ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ + ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ + ░▒▓██████▓▒░ ░▒▓██████▓▒░ ░▒▓███████▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓████████▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ + ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ + ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ + ░▒▓█▓▒░ ░▒▓████████▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░ + + + +░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░ ░░░░ ░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ +▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒ ▒▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ +▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ +█████████████████████████████████████████████████████████████ ██ █ █ ██ ███████████████████████████████████████████████████████ +████████████████████████████████████████████████████████ ███ ████ ██ ███████████████████████████████████████████████████████ + + + + + + diff --git a/server-properties/start.sh b/server-properties/start.sh index 4de8967..e34183d 100755 --- a/server-properties/start.sh +++ b/server-properties/start.sh @@ -3,33 +3,127 @@ fileName="fabric-1.21.1.jar" memory=8192 configPath="./config" +datapackPath="./world/datapack/" serverConfigDir="server-properties" packwizPath="https://files.ferdin.land/ferdinland/modpacks/server/smp/" +loading_text="./config/server-properties/helpers/loading/loading.txt" +splash_smp="./config/server-properties/helpers/splash_smp.txt" +splash_creative="./config/server-properties/helpers/splash_creative.txt" -# Install git if it's not installed -export git=$(which git) -if [ -z $git ] -then - echo installing git... - echo | sudo -S apt install git -else - echo git is already installed -fi +# import env +source ./.env +# import loading screen +source ./config/server-properties/helpers/loading/bash_loading_animations.sh +# loading +echo "$loading_text" +BLA::start_loading_animation "${BLA_filling_bar[@]}" +sleep 1.85 +BLA::stop_loading_animation + +# print info +echo +echo "===========================" +echo "======= SERVER INFO =======" +echo "===========================" +echo +echo "SERVER NAME: | $SERVER_NAME" +echo "ENVRONMENT: | $ENV" +echo "TYPE: | $SERVER_TYPE" +echo "CONFIG BRANCH: | $CONFIG_BRANCH" +echo "DATAPACK BRANCH: | $DATAPACK_BRANCH" +echo +echo "===========================" +echo "======= +++++++++++ =======" +echo "===========================" +echo +echo +echo "setting up $ENV environment..." + +# # Update config directory -(cd "$configPath" && git pull) +# +echo "updating ./config..." +( +cd "$configPath" +initial_branch=$(git rev-parse --abbrev-ref HEAD) +if [[ "$CONFIG_BRANCH" != "$initial_branch" ]]; then + echo + echo -e "\e[31m./config is on branch '$initial_branch', but '$CONFIG_BRANCH' was requested\e[0m" + echo "switching to '$CONFIG_BRANCH'..." + git checkout $CONFIG_BRANCH + + echo +fi +git pull +) + +# +# Update datapacks +# +echo "updating datapack..." +( +cd "$datapackPath/smp-datapack" +initial_branch=$(git rev-parse --abbrev-ref HEAD) +if [[ "$CONFIG_BRANCH" != "$initial_branch" ]]; then + echo + echo -e "\e[31mDatapack is on branch '$initial_branch', but '$DATAPACK_BRANCH' was requested\e[0m" + echo "switching to '$DATAPACK_BRANCH'..." + + git checkout $DATAPACK_BRANCH + + echo +fi +git pull +) + +# # Copy server-properties +# +echo echo copying server.properties... cp --force "$configPath"/"$serverConfigDir"/server.properties ./server.properties +# # Copy server-icon.png +# echo copying server-icon.png... cp --force "$configPath"/"$serverConfigDir"/server.properties ./server-icon.png # +# manage mods +# +echo echo installing mods from "$packwizPath"/pack.toml... +echo java -jar packwiz-installer-bootstrap.jar -g -s server "$packwizPath"/pack.toml +# +# start server +# +echo +echo "starting the server..." +echo +case "$SERVER_TYPE" in + smp) + echo "$splash_smp" + ;; + creative) + echo "$splash_creative" + ;; + personal) + echo + echo + echo "============================================" + echo + echo " Welcome to your server, $PERSONAL_OWNER!" + echo + echo "============================================" + echo + echo + ;; +esac + declare -i memory java -Xms"$memory"M -Xmx"$memory"M -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3 -XX:+UseZGC -XX:AllocatePrefetchStyle=1 -XX:-ZProactive -jar "$fileName" --nogui diff --git a/server-properties/test.sh b/server-properties/test.sh new file mode 100644 index 0000000..53b2610 --- /dev/null +++ b/server-properties/test.sh @@ -0,0 +1,5 @@ +source ./server-properties/helpers/loading/bash_loading_animations.sh + +BLA::start_loading_animation "${BLA_filling_bar[@]}" +sleep 1.85 +BLA::stop_loading_animation