minecraft.sh 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. #!/bin/bash
  2. echo -n "$(tput setaf 5)"
  3. echo -e "Minecraft Ubuntu Server Builder/install v1.0"
  4. echo -e
  5. echo -n "$(tput setaf 7)"
  6. echo -e "Installation java:"
  7. if ! [ -x "$(command -v java)" ]
  8. then
  9. sudo apt-get update
  10. sudo apt-get install curl wget git -y
  11. if ! [ -f openjdk-18_linux-x64_bin.tar.gz ]
  12. then
  13. curl -O https://download.java.net/java/GA/jdk18/43f95e8614114aeaa8e8a5fcf20a682d/36/GPL/openjdk-18_linux-x64_bin.tar.gz
  14. fi
  15. cat <<'EOF'>> openjdk-18_linux-x64_bin.tar.gz.md5
  16. f3fc42bd35c3f5e9aff967c9862a153a openjdk-18_linux-x64_bin.tar.gz
  17. EOF
  18. if md5sum -c openjdk-18_linux-x64_bin.tar.gz.md5
  19. then
  20. tar xf openjdk-18_linux-x64_bin.tar.gz
  21. rm openjdk-18_linux-x64_bin.tar.gz.md5
  22. else
  23. echo "erreur"
  24. fi
  25. if [ -d /opt/jdk-18 ]
  26. then
  27. sudo rm -r /opt/jdk-18/
  28. fi
  29. sudo mv jdk-18 /opt/
  30. sudo rm openjdk-18_linux-x64_bin.tar.gz
  31. if [ -f /etc/profile.d/jdk18.sh ]
  32. then
  33. sudo rm /etc/profile.d/jdk18.sh
  34. fi
  35. sudo tee /etc/profile.d/jdk18.sh <<EOF
  36. export JAVA_HOME=/opt/jdk-18
  37. export PATH=\$PATH:\$JAVA_HOME/bin
  38. EOF
  39. source /etc/profile.d/jdk18.sh
  40. fi
  41. version=$(java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1)
  42. if [ $version -ge 18 ]
  43. then
  44. echo -e "\n$(tput setaf 5)Java version >= 18 ... ok$(tput setaf 7)\n"
  45. else
  46. echo "error"
  47. exit 1
  48. fi
  49. echo "Done."
  50. echo -e "Download mcrcon:"
  51. cd /home/wareck/
  52. git clone https://github.com/Tiiffi/mcrcon.git
  53. cd /home/wareck/mcrcon
  54. make
  55. sudo make install
  56. cd ..
  57. rm -r -f /home/wareck/mcrcon
  58. echo -e "Done"
  59. echo -e "Download Minecraft server structure:"
  60. cd /home/wareck/
  61. wget -c http://folivier.homelinux.org/cube/pack/minecraft.tar.xz
  62. tar xvfJ minecraft.tar.xz
  63. rm minecraft.tar.xz
  64. cd minecraft
  65. echo -e ""
  66. echo -e "Chargement BuildTools:"
  67. if ! [ -d build ]; then mkdir build ;fi
  68. cd build
  69. wget -c https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
  70. echo -e "Done."
  71. echo -e ""
  72. echo -e "Compilation Spigot:"
  73. java -jar BuildTools.jar
  74. git clone https://github.com/Tiiffi/mcrcon.git
  75. cd mcrcon
  76. make
  77. sudo make install
  78. cd ..
  79. sudo rm mcrcon
  80. rsync --append --progress --recursive * /home/wareck/minecraft/
  81. echo -e "Done"
  82. cd ..
  83. echo -e "\nGeneration fichier service:"
  84. if [ -f minecraft.service ]
  85. then
  86. rm minecraft.service
  87. fi
  88. cat <<'EOF'>> minecraft.service
  89. #!/bin/sh -e
  90. ### BEGIN INIT INFO
  91. # Provides: minecraft
  92. # Required-Start: networking
  93. # Default-Start: 3 4 5
  94. # Default-Stop: 0 6
  95. ### END INIT INFO
  96. cd /home/wareck/minecraft/
  97. su wareck -c "screen -dmS minecraft /opt/jdk-18/bin/java -jar -Xmx1024M -Xms1024M spigot-1.18.2.jar nogui"
  98. exit 0
  99. EOF
  100. chmod +x minecraft.service
  101. sudo cp minecraft.service /etc/init.d/
  102. sudo sudo update-rc.d minecraft.service defaults
  103. echo -e "Done"