Files
pyMCDPS/server_manager.sh

109 lines
4.2 KiB
Bash
Raw Normal View History

2024-10-12 18:20:25 +02:00
#!/bin/bash
# Script in strict mode
2024-10-14 18:44:33 +02:00
set -eu
2024-10-12 18:20:25 +02:00
# --------------------------------------------------------------------------
# Imports
# --------------------------------------------------------------------------
2024-10-13 12:31:41 +02:00
# Beginning Of the Script by cerberus
2024-10-14 18:44:33 +02:00
#cat <<EOF
# __ __ _
#| \/ | __ _ _ __ __ _ __ _ ___ _ __ ___ ___ _ __ | |_
#| |\/| |/ _` | '_ \ / _` |/ _` |/ _ \ '_ ` _ \ / _ \ '_ \| __|
#| | | | (_| | | | | (_| | (_| | __/ | | | | | __/ | | | |_
#|_| |_|\__,_|_| |_|\__,_|\__, |\___|_| |_| |_|\___|_| |_|\__|
# |___/
#EOF
2024-10-13 12:31:41 +02:00
source .env
2024-10-14 18:44:33 +02:00
# cat .env
# Set empty promt
PS3=""
while true; do
clear
# Optionen definieren
2024-10-15 13:45:48 +02:00
options=("Start Server" "Connect to Server" "Set EULA" "Set RAM" "Install Mods" "Exit")
2024-10-14 18:44:33 +02:00
echo "ServerManager"
echo "----------------------------------------------"
select opt in "${options[@]}"; do
case $opt in
"Start Server")
2024-10-15 17:51:08 +02:00
# Add an interaction Do you want to start the server y/n, so he is not starting
# right away.
2024-10-15 13:45:48 +02:00
clear
echo "Launch Menu"
echo "------------------------------------------------------------"
2024-10-14 18:44:33 +02:00
if [[ -e "${server}/eula.txt" ]]; then
condition=$(cat "${server}/eula.txt" | grep -c "eula=true")
if [[ ${condition} -eq 1 ]]; then
echo "Starting Server...."
2024-10-15 17:51:08 +02:00
cd "${server}"
tmux new -d -s "${server_name}" "./start_server.sh"
2024-10-14 18:44:33 +02:00
elif [[ ${condition} -eq 0 ]]; then
echo "Before starting the server, please accept the EULA"
else
echo "Something went wrong, please recreate the EULA"
fi
else
echo "Before starting the server, please accept the EULA"
fi
read -p "Press Enter to continue..."
break
;;
2024-10-15 13:48:08 +02:00
"Connect to Server")
clear
echo "Launch Menu"
echo "------------------------------------------------------------"
2024-10-15 17:51:08 +02:00
# Here will be also a check if a session is running. If no session is running, redirect to start the server.
2024-10-15 14:49:18 +02:00
tmux a -t "${server_name}"
2024-10-15 13:48:08 +02:00
read -p "Press Enter to continue..."
break
;;
2024-10-14 18:44:33 +02:00
"Set EULA")
current_date=$(date)
2024-10-14 18:44:33 +02:00
clear
echo " Setting EULA "
echo "------------------------------------------------------------"
2024-10-15 17:51:08 +02:00
echo "In order to start an minecraft Server you have to accept it."
echo "You can find more information here: "
echo "https://www.minecraft.net/en-us/eula "
echo "------------------------------------------------------------"
read -p "Do you accept the Minecraft EULA? [y/n]: " eula_answer
2024-10-14 18:44:33 +02:00
if [[ ${eula_answer} == "y" ]]; then
echo "# ${current_date}" > "${server}/eula.txt"
echo "eula=true" >> "${server}/eula.txt"
elif [[ ${eula_answer} == "n" ]]; then
echo "# ${current_date}" > "${server}/eula.txt"
echo "eula=false" >> "${server}/eula.txt"
echo "You will not be able to start the server!"
else
echo "Invalid input"
fi
read -p "Press Enter to continue..."
break
;;
"Set RAM")
echo "Setting RAM..."
read -p "Press Enter to continue..."
break
;;
"Install Mods")
echo "Installing mods..."
read -p "Press Enter to continue..."
break
;;
"Exit")
echo "Exiting script. Goodbye!"
exit 0
;;
*)
echo "Invalid selection. Please try again."
;;
esac
done
done