diff --git a/README.md b/README.md index 4cb098a..c092dbd 100644 --- a/README.md +++ b/README.md @@ -33,4 +33,5 @@ bash -c "$(curl -sS https://raw.githubusercontent.com/CerberusV1/minecraft_deplo - Adding check for existing sessions before starting the server - Add support for a non-headless session (might not happen) - Adding mod installer from link -- Adding world import (ideas on how to do that would be appreciated) \ No newline at end of file +- Adding world import (ideas on how to do that would be appreciated) +- Adding option to import/export white/blacklist \ No newline at end of file diff --git a/server_manager.sh b/server_manager.sh index a39f01d..9a64267 100644 --- a/server_manager.sh +++ b/server_manager.sh @@ -19,7 +19,7 @@ PS3="" while true; do clear # Lists all the Options available in the script - options=("Start Server" "Connect to Server" "Set EULA" "Set RAM" "Install Mods" "Exit") + options=("Start Server" "Connect to Server" "Set EULA" "Set RAM" "Install Mods" "Exit") echo " ServerManager" echo "----------------------------------------------" # Selects an option from a list and executes it @@ -31,10 +31,10 @@ while true; do echo "------------------------------------------------------------" # Promting before actually starting the server read -p "Do you want to start the server? [y/n] " start_answer - # Checks if the EULA file exists + # Checks if the EULA file exists if [[ ${start_answer} == "y" ]]; then if [[ -e "${server}/eula.txt" ]]; then - # Sets the condition, in this case counting how many lines with eula=true exist in the EULA file + # Sets the condition, in this case counting how many lines with eula=true exist in the EULA file condition=$(cat "${server}/eula.txt" | grep -c "eula=true") # If EULA is accepted, start the server if [[ ${condition} -eq 1 ]]; then @@ -45,30 +45,30 @@ while true; do # Starts the server detatched in a new session # To check for sessions tmux ls and to reconnect to an existing one tmux a -t session_name tmux new -d -s "${server_name}" "./start_server.sh" - # If EULA is not accepted, tells the user to accept the EULA before + # If EULA is not accepted, tells the user to accept the EULA before elif [[ ${condition} -eq 0 ]]; then echo "Before starting the server, please accept the EULA" - # An case that should only appear if more than just one EULA entry was made. - # Either commented or not. This should be easily fixed by accepting the EULA again - # since every action in this menu doesn´t matter if agreed or not, the file gets - # overwritten - # Using "Set EULA" should fix that + # An case that should only appear if more than just one EULA entry was made. + # Either commented or not. This should be easily fixed by accepting the EULA again + # since every action in this menu doesn´t matter if agreed or not, the file gets + # overwritten + # Using "Set EULA" should fix that else echo "Something went wrong, please recreate the EULA" fi - # Error massage if the EULA file does not exist. Using "Set EULA" should fix that + # Error massage if the EULA file does not exist. Using "Set EULA" should fix that else echo "Before starting the server, please accept the EULA" echo "error - missing file "eula.txt"" fi - # If the user prompts n in the server start menu, he returns back to the main menu + # If the user prompts n in the server start menu, he returns back to the main menu elif [[ ${start_answer} == "n" ]]; then break - # If the user prompts something else than y or n in the server start menu, he returns back to the main menu + # If the user prompts something else than y or n in the server start menu, he returns back to the main menu else echo "Invalid input" break - fi + fi read -p "Press Enter to return to the menu" break ;; @@ -100,9 +100,9 @@ while true; do if [[ ${eula_answer} == "y" ]]; then echo "# ${current_date}" > "${server}/eula.txt" echo "eula=true" >> "${server}/eula.txt" - # If the user promts no, the EULA gets created/ overwritten and sets it to false. - # User also gets a reminder that he will not be able to start the server without accepting - # to it + # If the user promts no, the EULA gets created/ overwritten and sets it to false. + # User also gets a reminder that he will not be able to start the server without accepting + # to it elif [[ ${eula_answer} == "n" ]]; then echo "# ${current_date}" > "${server}/eula.txt" echo "eula=false" >> "${server}/eula.txt" @@ -114,12 +114,59 @@ while true; do break ;; "Set RAM") - echo "Setting RAM..." + clear + echo " Allocate RAM " + echo "------------------------------------------------------------" + clear + presets=("1 GB" "2 GB" "4 GB" "8 GB" "16 GB" "Check") + select opt in "${presets[@]}"; do + case $opt in + "1 GB") + echo "Allocate 1GB of RAM" + echo "-Xms512M" > "${server}/user_jvm_args.txt" + echo "-Xmx1G" >> "${server}/user_jvm_args.txt" + break + ;; + "2 GB") + echo "Allocate 2GB of RAM" + echo "-Xms1G" > "${server}/user_jvm_args.txt" + echo "-Xmx2G" >> "${server}/user_jvm_args.txt" + break + ;; + "4 GB") + echo "Allocate 4GB of RAM" + echo "-Xms2G" > "${server}/user_jvm_args.txt" + echo "-Xmx4G" >> "${server}/user_jvm_args.txt" + break + ;; + "8 GB") + echo "Allocate 8GB of RAM" + echo "-Xms4G" > "${server}/user_jvm_args.txt" + echo "-Xmx8G" >> "${server}/user_jvm_args.txt" + break + ;; + "16 GB") + echo "Allocate 16GB of RAM" + echo "-Xms8G" > "${server}/user_jvm_args.txt" + echo "-Xmx16G" >> "${server}/user_jvm_args.txt" + break + ;; + "Check") + cat "${server}/user_jvm_args.txt" + read -p "Enter" + break + ;; + *) + echo "invalid input" + ;; + esac + done read -p "Press Enter to continue..." break ;; "Install Mods") - echo "Installing mods..." + clear + echo "Installing mods is not supported yet" read -p "Press Enter to continue..." break ;;