|
@@ -1,10 +1,41 @@
|
|
|
#!/bin/bash
|
|
|
-echo -n "$(tput setaf 5)"
|
|
|
-echo -e "Minecraft Ubuntu Server Builder/install v1.0"
|
|
|
-echo -e
|
|
|
+recover_backup=YES
|
|
|
+backup_file="/Backup/minecraft.tar.xz"
|
|
|
|
|
|
-echo -n "$(tput setaf 7)"
|
|
|
-echo -e "Installation java:"
|
|
|
+function print_centered {
|
|
|
+ [[ $# == 0 ]] && return 1
|
|
|
+
|
|
|
+ declare -i TERM_COLS="$(tput cols)"
|
|
|
+ declare -i str_len="${#1}"
|
|
|
+ [[ $str_len -ge $TERM_COLS ]] && {
|
|
|
+ echo "$1";
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ declare -i filler_len="$(( (TERM_COLS - str_len) / 2 ))"
|
|
|
+ [[ $# -ge 2 ]] && ch="${2:0:1}" || ch=" "
|
|
|
+ filler=""
|
|
|
+ for (( i = 0; i < filler_len; i++ )); do
|
|
|
+ filler="${filler}${ch}"
|
|
|
+ done
|
|
|
+
|
|
|
+ printf "%s%s%s" "$filler" "$1" "$filler"
|
|
|
+ [[ $(( (TERM_COLS - str_len) % 2 )) -ne 0 ]] && printf "%s" "${ch}"
|
|
|
+ printf "\n"
|
|
|
+
|
|
|
+ return 0
|
|
|
+}
|
|
|
+print_centered "$(tput setaf 10)"
|
|
|
+print_centered " ⠀⠀⡰⠉⠉⣷⡄⣀⣎⠉⢹⡎⠉⢉⡞⠉⠉⣧⡎⠉⠉⡞⠉⠉⠉⠉⠉⣿⠉⠉⠉⠉⠉⢹⡏⠋⠉⠉⠉⠙⡏⠉⣉⠉⣉⠉⢿⠉⠉⠉⢉⠉⢱⡏⠉⠉⠉⢉⠉⡄"
|
|
|
+print_centered "⠀⢀⠃⠀⠀⠘⠛⠁⠀⠀⣼⠀⠀⣸⠃⠀⠀⠘⠃⠀⢰⡇⠀⠀⠛⠛⠛⣿⠀⠀⢸⣿⣿⣿⡇⠀⠈⠃⠀⣠⣿⠀⠉⣶⣍⠀⢸⡆⠀⠘⠛⠛⠛⣿⣿⡆⠀⠈⡟⠁"
|
|
|
+print_centered "⠀⡜⣀⢀⣶⣀⣰⠆⠀⢀⡏⠀⠀⣿⠀⠀⣸⣄⠤⠄⢸⠃⠀⢰⣶⣶⣶⣿⠀⠀⢸⣉⣉⣉⡇⡀⠀⣶⠀⠀⢹⠀⠀⢀⡀⢀⠀⣇⠀⠀⢶⣶⣶⢾⣿⣿⡀⠀⢱⠀"
|
|
|
+print_centered "⢰⠀⠀⢸⣿⣦⠈⠀⠀⢼⠁⠀⢰⡇⠀⠀⣿⣿⠀⠀⢼⠀⡄⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⢸⡇⠂⠀⣿⠀⠀⢸⡆⠀⢘⡧⠀⠀⣿⠀⠀⢸⠛⠃⠘⣿⣿⡇⠀⠀⡆"
|
|
|
+print_centered "⠀⠑⢤⣀⣙⡿⠉⠱⣄⣠⣷⣄⣀⣹⣄⣀⣘⡏⢆⣀⣘⣧⣀⣀⣀⣀⣀⣿⣀⣀⣀⣀⣀⣸⣇⣀⣰⣏⣀⣠⣿⣀⣀⣾⣁⣀⣴⣋⣀⡠⠃⠀⠀⠀⢿⣋⣀⡤⠋⠀"
|
|
|
+print_centered "$(tput setaf 7)"
|
|
|
+print_centered "Minecraft Ubuntu Server Builder/install v2.0"
|
|
|
+print_centered "$(tput setaf 7)"
|
|
|
+
|
|
|
+echo -e "$(tput setaf 10)Installation java:$(tput setaf 7)"
|
|
|
if ! [ -x "$(command -v java)" ]
|
|
|
then
|
|
|
sudo apt-get update
|
|
@@ -28,7 +59,7 @@ then
|
|
|
sudo rm -r /opt/jdk-18/
|
|
|
fi
|
|
|
sudo mv jdk-18 /opt/
|
|
|
-sudo rm openjdk-18_linux-x64_bin.tar.gz
|
|
|
+7sudo rm openjdk-18_linux-x64_bin.tar.gz
|
|
|
if [ -f /etc/profile.d/jdk18.sh ]
|
|
|
then
|
|
|
sudo rm /etc/profile.d/jdk18.sh
|
|
@@ -42,14 +73,13 @@ fi
|
|
|
version=$(java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1)
|
|
|
if [ $version -ge 18 ]
|
|
|
then
|
|
|
-echo -e "\n$(tput setaf 5)Java version >= 18 ... ok$(tput setaf 7)\n"
|
|
|
+echo -e "$(tput setaf 7)Java version $version =>> OK$(tput setaf 7)"
|
|
|
else
|
|
|
-echo "error"
|
|
|
+echo "error !"
|
|
|
exit 1
|
|
|
fi
|
|
|
-echo "Done."
|
|
|
|
|
|
-echo -e "Download mcrcon:"
|
|
|
+echo -e "\n$(tput setaf 10)Download/install mcrcon:$(tput setaf 7)"
|
|
|
cd /home/wareck/
|
|
|
git clone https://github.com/Tiiffi/mcrcon.git
|
|
|
cd /home/wareck/mcrcon
|
|
@@ -57,41 +87,34 @@ make
|
|
|
sudo make install
|
|
|
cd ..
|
|
|
rm -r -f /home/wareck/mcrcon
|
|
|
-echo -e "Done"
|
|
|
|
|
|
-echo -e "Download Minecraft server structure:"
|
|
|
+echo -e "$(tput setaf 10)Download Minecraft server structure:$(tput setaf 7)"
|
|
|
cd /home/wareck/
|
|
|
wget -c http://folivier.homelinux.org/cube/pack/minecraft.tar.xz
|
|
|
-tar xvfJ minecraft.tar.xz
|
|
|
+tar xfJ minecraft.tar.xz
|
|
|
rm minecraft.tar.xz
|
|
|
cd minecraft
|
|
|
+rsync --append --progress --recursive * /home/wareck/minecraft/
|
|
|
|
|
|
-echo -e ""
|
|
|
-echo -e "Chargement BuildTools:"
|
|
|
+
|
|
|
+echo -e "\n$(tput setaf 10)Download BuildTools:$(tput setaf 7)"
|
|
|
if ! [ -d build ]; then mkdir build ;fi
|
|
|
cd build
|
|
|
wget -c https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
|
|
|
-echo -e "Done."
|
|
|
-echo -e ""
|
|
|
-echo -e "Compilation Spigot:"
|
|
|
-java -jar BuildTools.jar
|
|
|
|
|
|
-git clone https://github.com/Tiiffi/mcrcon.git
|
|
|
-cd mcrcon
|
|
|
-make
|
|
|
-sudo make install
|
|
|
-cd ..
|
|
|
-sudo rm mcrcon
|
|
|
-rsync --append --progress --recursive * /home/wareck/minecraft/
|
|
|
-echo -e "Done"
|
|
|
-cd ..
|
|
|
|
|
|
+#echo -e "\n$(tput setaf 10)Building Spigot:$(tput setaf 7)"
|
|
|
+#java -jar BuildTools.jar
|
|
|
+
|
|
|
+echo -e "\n$(tput setaf 10)minecraft.service file build/install:$(tput setaf 7)"
|
|
|
+
|
|
|
+if [ -f minecraft.service ];then rm minecraft.service;fi
|
|
|
+
|
|
|
+version=`ls -a /home/wareck/minecraft/spigot*.jar | sed "s/\/home\/wareck\/minecraft\///g"`
|
|
|
+short_v=`echo $version | sed "s/spigot-//g" | sed "s/.jar//g"`
|
|
|
+
|
|
|
+echo "Version builed : $version"
|
|
|
|
|
|
-echo -e "\nGeneration fichier service:"
|
|
|
-if [ -f minecraft.service ]
|
|
|
-then
|
|
|
-rm minecraft.service
|
|
|
-fi
|
|
|
cat <<'EOF'>> minecraft.service
|
|
|
#!/bin/sh -e
|
|
|
### BEGIN INIT INFO
|
|
@@ -101,11 +124,30 @@ cat <<'EOF'>> minecraft.service
|
|
|
# Default-Stop: 0 6
|
|
|
### END INIT INFO
|
|
|
cd /home/wareck/minecraft/
|
|
|
-su wareck -c "screen -dmS minecraft /opt/jdk-18/bin/java -jar -Xmx1024M -Xms1024M spigot-1.18.2.jar nogui"
|
|
|
+su wareck -c "screen -dmS minecraft /opt/jdk-18/bin/java -jar -Xmx1024M -Xms1024M XXXX nogui"
|
|
|
exit 0
|
|
|
EOF
|
|
|
+more minecraft.service
|
|
|
+sed -i "s/XXXX/$version/g" minecraft.service
|
|
|
+sed -i "s/XXXX/$version/g" /home/wareck/minecraft/start.sh
|
|
|
+sed -i "s/XXXX/$short_v/g" /home/wareck/minecraft/server.properties
|
|
|
chmod +x minecraft.service
|
|
|
sudo cp minecraft.service /etc/init.d/
|
|
|
sudo sudo update-rc.d minecraft.service defaults
|
|
|
|
|
|
-echo -e "Done"
|
|
|
+if [ $recover_backup = "YES" ]
|
|
|
+then
|
|
|
+echo -e "\n$(tput setaf 10)Restore Backup:$(tput setaf 7)"
|
|
|
+mkdir /home/wareck/tempo
|
|
|
+cd /home/wareck/tempo
|
|
|
+pixz -x < $backup_file | tar xf - --checkpoint=.200
|
|
|
+cd /home/wareck/tempo/minecraft
|
|
|
+cp -r /home/wareck/tempo/minecraft/world /home/wareck/minecraft/
|
|
|
+cp -r /home/wareck/tempo/minecraft/world_nether /home/wareck/minecraft/
|
|
|
+cp -r /home/wareck/tempo/minecraft/world_the_end /home/wareck/minecraft/
|
|
|
+cd /home/wareck
|
|
|
+rm -r -f /home/wareck/tempo
|
|
|
+fi
|
|
|
+
|
|
|
+
|
|
|
+echo -e "\nInstall Done.\n"
|