- remove git check/git install - add splash screen and loading screen - add branch updating logic - add various env options
130 lines
3.4 KiB
Bash
Executable File
130 lines
3.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
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"
|
|
|
|
# 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
|
|
#
|
|
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
|