teamspeakauto.sh 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. #!/bin/bash
  2. #Mein Teamspeak- Init- Autostartscript
  3. #Made by Leon Helmle.
  4. clear
  5. #Teamspeak Updaten
  6. echo "Version 1.3 by Leon Helmle."
  7. echo "Bei Ubuntu bevor das Script ausgeführt wurde 'sudo -i' ausführen!"
  8. #Root
  9. if [[ "$USER" != 'root' ]]; then
  10. echo "Du MUSST dies als Root ausführen!"
  11. exit
  12. fi
  13. #Package Installer
  14. echo "Bereite Installation vor"
  15. apt-get update >/dev/null && apt-get install curl unar -y >/dev/null
  16. echo "Vorbereitungen abgeschlossen"
  17. #UpdateChecker
  18. echo "Suche nach Script-Updates..."
  19. sleep 5
  20. version=$(curl -s https://leonhelmle.de/script/teamspeakauto/)
  21. if [ "$version" != "Version: 1.3" ]; then
  22. echo "Neue Version gefunden!"
  23. read -p"Script Updaten (j/n)? " scriptupdaten
  24. if [ "$scriptupdaten" == "j" ]; then
  25. echo "Lade neue Version herunter"
  26. mkdir /usr/local/updatescript
  27. cd /usr/local/updatescript
  28. wget https://leonhelmle.de/download/teamspeakauto.sh >/dev/null 2>&1
  29. read -p "Wo ist das Script?: " -e -i /root/teamspeakauto.sh scriptDIR
  30. cd /root
  31. rm $scriptDIR && mv /usr/local/updatescript/teamspeakauto.sh /root/teamspeakauto.sh && rm -rf /usr/local/updatescript && chmod +x teamspeakauto.sh && echo "Update installiert. Starte Script neu." &&sleep 5 && ./teamspeakauto.sh
  32. fi
  33. echo "Updates werden nicht installiert"
  34. fi
  35. echo "Keine Updates gefunden"
  36. #Teamspeak Installieren
  37. read -p"Teamspeak Installieren / Updaten (j/n)? " installieren
  38. if [ "$installieren" == "j" ]; then
  39. #UpdateChecker
  40. versionts=$(curl -s https://leonhelmle.de/script/teamspeakauto/ts/)
  41. read -p"Teamspeak Installiert (j/n)? " tsinstallieren
  42. if [ "$tsinstallieren" == "j" ]; then
  43. read -p"Script bereits vorher verwendet (j/n)? " used
  44. #Manual
  45. if [ "$used" == "n" ]; then
  46. mkdir /usr/local/updatetsdata >/dev/null 2>&1
  47. read -p "Welche Teamspeak-Server Version ist installiert?: " -e -i 3.0.XX.X tsmanversion
  48. cat << _EOF_ > /usr/local/updatetsdata/updatelh.txt
  49. Version: $tsmanversion
  50. _EOF_
  51. fi
  52. #Non-Manual
  53. tsversiontxt=$(cat /usr/local/updatetsdata/updatelh.txt)
  54. echo "Suche nach Teamspeak-Updates..."
  55. sleep 5
  56. if [ "$tsversiontxt" != "$versionts" ]; then
  57. echo "Neue Version gefunden!"
  58. read -p"Teamspeak-Updaten (j/n)? " tsupdaten
  59. if [ "$tsupdaten" == "j" ]; then
  60. read -p"Teamspeak-Gestoppt (j/n)? " stopped
  61. if [ "$stopped" != "j" ]; then
  62. echo "Bitte erst den Teamspeak-Server stoppen (entweder mit 'service ts stop' oder manuell)"
  63. exit
  64. fi
  65. echo "Beginne Update..."
  66. #Start des Update-Scripts
  67. read -p "Wo ist Teamspeak installiert (ohne den Unterordner; also nicht .../teamspeak3)?: " -e -i /usr/local updateDIR
  68. read -p "Wie heißt der Unterordner (in dem alle Teamspeak-Daten sind; also z.B. ts3server_startscript)?: " -e -i teamspeak3 tsupdateDIR
  69. rm -rf $updateDIR/backup/ >/dev/null 2>&1
  70. mkdir $updateDIR/update
  71. mkdir $updateDIR/backup
  72. cd $updateDIR/update
  73. echo "Lade neueste Teamspeak3-Server-Version herunter"
  74. wget http://leonhelmle.de/download/teamspeak3.rar
  75. echo "Entpacke ..."
  76. unar teamspeak3.rar >/dev/null
  77. echo "Teamspeak erfolgreich heruntergeladen und entpackt."
  78. echo "Erstelle Backup vom altem Teamspeak (sollte etwas schief laufen, kann man seinen Teamspeak-Server im Ordner /usr/local/backup finden"
  79. cp -r $updateDIR/$tsupdateDIR/ $updateDIR/backup/
  80. echo "Backup erstellt"
  81. echo "Kopiere neuere Version in das Teamspeak-Server Verzeichnis"
  82. cp -R teamspeak3/* $updateDIR/$tsupdateDIR/
  83. echo "Entferne alte, nicht mehr benötigte Dateien"
  84. rm teamspeak3.rar
  85. #cp -r $updateDIR/update/teamspeak3 $updateDIR/$tsupdateDIR
  86. chmod +x $updateDIR/$tsupdateDIR/ts3server_minimal_runscript.sh >/dev/null
  87. chmod +x $updateDIR/$tsupdateDIR/ts3server_startscript.sh >/dev/null
  88. chmod +x $updateDIR/$tsupdateDIR/ts3server >/dev/null
  89. echo "Berechtigungen gesetzt"
  90. echo "Räume nicht mehr benötigte Dateien auf ..."
  91. rm -rf $updateDIR/update/
  92. echo "Update abgeschlossen! Den Teamspeak einfach wieder mit 'service ts start' oder manuell starten"
  93. mkdir /usr/local/updatetsdata/ >/dev/null 2>&1
  94. rm /usr/local/updatetsdata/updatelh.txt >/dev/null 2>&1
  95. cat << _EOF_ > /usr/local/updatetsdata/updatelh.txt
  96. $versionts
  97. _EOF_
  98. exit
  99. fi
  100. exit
  101. fi
  102. echo "Keine Updates gefunden!"
  103. exit
  104. fi
  105. echo "Teamspeak Installation gestartet:"
  106. #Start des Installationsscriptes
  107. #mkdir /usr/local/teamspeak3
  108. cd /usr/local
  109. echo "Lade neueste Teamspeak3-Server-Version herunter"
  110. wget http://leonhelmle.de/download/teamspeak3.rar
  111. echo "Entpacke ..."
  112. unar teamspeak3.rar >/dev/null
  113. rm teamspeak3.rar
  114. echo "Teamspeak erfolgreich heruntergeladen und entpackt."
  115. chmod +x /usr/local/teamspeak3/ts3server_minimal_runscript.sh >/dev/null
  116. chmod +x /usr/local/teamspeak3/ts3server_startscript.sh >/dev/null
  117. chmod +x /usr/local/teamspeak3/ts3server >/dev/null
  118. echo "Berechtigungen gesetzt"
  119. echo "Teamspeak wird nun installiert! Berechtiungsschlüssel und die ServerAdminQuerry-Daten aufschreiben! Unter /usr/local/teamspeak3/installlog.txt kann der Log der Installation ausgelesen werden."
  120. sleep 5
  121. /usr/local/teamspeak3/ts3server_minimal_runscript.sh >/usr/local/teamspeak3/installlog.txt &
  122. pid=$!
  123. sleep 10
  124. kill ${pid}
  125. #Install-Datei
  126. mkdir /usr/local/updatetsdata/ >/dev/null 2>&1
  127. rm /usr/local/updatetsdata/updatelh.txt >/dev/null 2>&1
  128. cat << _EOF_ > /usr/local/updatetsdata/updatelh.txt
  129. $versionts
  130. _EOF_
  131. fi
  132. #Autostart Teil
  133. read -p"Teamspeak beim Serverstart automatisch mit starten (j/n)? " autos
  134. if [ "$autos" == "j" ]; then
  135. echo "Teamspeak wird nun in den Autostart installiert!"
  136. #Start des Installationsscriptes
  137. read -p "Wo ist Teamspeak installiert?: " -e -i /usr/local/teamspeak3/ts3server_startscript.sh DIR
  138. case=$"1"
  139. dollar=$"$"
  140. cat << _EOF_ > /etc/init.d/ts
  141. #!/bin/sh
  142. ### BEGIN INIT INFO
  143. # Provides: Teamspeak
  144. # Required-Start:
  145. # Required-Stop:
  146. # Default-Start: 2 3 4 5
  147. # Default-Stop: 0 1 6
  148. # Short-Description: Teamspeak Autostart
  149. # Description: Bei einem Reboot startet es den TS automatisch mit
  150. ### END INIT INFO
  151. # Actions
  152. case $dollar$case in
  153. start)
  154. $DIR start
  155. ;;
  156. stop)
  157. $DIR stop
  158. ;;
  159. restart)
  160. $DIR restart
  161. ;;
  162. esac
  163. exit 0
  164. _EOF_
  165. echo "/etc/init.d/ts Startdatei wurde erstellt"
  166. chmod +x /etc/init.d/ts >/dev/null
  167. update-rc.d ts defaults
  168. echo "Defaults geupdatet! Jetzt startet der TS automatisch beim hochfahren"
  169. fi
  170. #Abschluss
  171. echo "Server wird jetzt neugestartet!"
  172. sleep 5
  173. reboot