minecraft.sh 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. if [ -f /etc/profile.d/jdk18.sh ]
  31. then
  32. sudo rm /etc/profile.d/jdk18.sh
  33. fi
  34. sudo tee /etc/profile.d/jdk18.sh <<EOF
  35. export JAVA_HOME=/opt/jdk-18
  36. export PATH=\$PATH:\$JAVA_HOME/bin
  37. EOF
  38. source /etc/profile.d/jdk18.sh
  39. fi
  40. version=$(java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1)
  41. if [ $version -ge 18 ]
  42. then
  43. echo "Java version >= 18 ... ok"
  44. else
  45. echo "error"
  46. exit 1
  47. fi
  48. echo "Done."
  49. echo -e "Download mcrcon:"
  50. cd /home/wareck/
  51. git clone https://github.com/Tiiffi/mcrcon.git
  52. cd /home/wareck/mcrcon
  53. make
  54. sudo make install
  55. cd ..
  56. rm -r -f /home/wareck/mcrcon
  57. echo -e "Done"
  58. echo -e "Download Minecraft server structure:"
  59. cd /home/wareck/
  60. wget -c http://folivier.homelinux.org/cube/pack/minecraft.tar.xz
  61. tar xvfJ minecraft.tar.xz
  62. rm minecraft.tar.xz
  63. cd minecraft
  64. echo -e ""
  65. echo -e "Chargement BuildTools:"
  66. if ! [ -d build ]; then mkdir build ;fi
  67. cd build
  68. wget -c https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
  69. echo -e "Done."
  70. echo -e ""
  71. echo -e "Compilation Spigot:"
  72. java -jar BuildTools.jar
  73. git clone https://github.com/Tiiffi/mcrcon.git
  74. cd mcrcon
  75. make
  76. sudo make install
  77. cd ..
  78. sudo rm mcrcon
  79. rsync --append --progress --recursive * /home/wareck/minecraft/
  80. echo -e "Done"
  81. cd ..
  82. echo -e "\nGeneration fichier service:"
  83. if [ -f minecraft.service ]
  84. then
  85. rm minecraft.service
  86. fi
  87. cat <<'EOF'>> minecraft.service
  88. #!/bin/sh -e
  89. ### BEGIN INIT INFO
  90. # Provides: minecraft
  91. # Required-Start: networking
  92. # Default-Start: 3 4 5
  93. # Default-Stop: 0 6
  94. ### END INIT INFO
  95. cd /home/wareck/minecraft/
  96. su wareck -c "screen -dmS minecraft /opt/jdk-18/bin/java -jar -Xmx1024M -Xms1024M spigot-1.18.2.jar nogui"
  97. exit 0
  98. EOF
  99. chmod +x minecraft.service
  100. sudo cp minecraft.service /etc/init.d/
  101. sudo sudo update-rc.d minecraft.service defaults
  102. echo -e "Done"