Browse Source

Migration

leonhelmle 2 years ago
commit
e4c96e6b56
3 changed files with 204 additions and 0 deletions
  1. 5 0
      Changelog
  2. 13 0
      README.md
  3. 186 0
      teamspeakauto.sh

+ 5 - 0
Changelog

@@ -0,0 +1,5 @@
+Version 1.0 Release
+Version 1.1 Changes (Not Documented)
+Version 1.1.3 Autostartteil einfacher gestaltet
+Version 1.2 Major Bugfixes, Changes
+Version 1.3 Fixed Update part: When never used errors occurred

+ 13 - 0
README.md

@@ -0,0 +1,13 @@
+#Willkommen zum Teamspeak-Server automatischem Installationsscript
+
+Voraussetzungen:
+	- Debian (nur auf Debian 7 getestet. Andere Versionen - Keine Garantie) / Ubuntu (14.04 LTS empfohlen)
+	- Root-Zugriff
+
+Installation:
+    - In das Verzeichnis, in dass das Script später gespeichert werden soll, wechseln (/root)
+    - wget http://leonhelmle.de/download/teamspeakauto.sh
+    - chmod +x teamspeakauto.sh
+    - ./teamspeakauto.sh
+Verwendung: 
+    - Einfach den Anweisungen des Scriptes folgen

+ 186 - 0
teamspeakauto.sh

@@ -0,0 +1,186 @@
+#!/bin/bash
+#Mein Teamspeak- Init- Autostartscript
+#Made by Leon Helmle.
+
+clear
+#Teamspeak Updaten
+echo "Version 1.3 by Leon Helmle."
+echo "Bei Ubuntu bevor das Script ausgeführt wurde 'sudo -i' ausführen!"
+#Root
+if [[ "$USER" != 'root' ]]; then
+		echo "Du MUSST dies als Root ausführen!"
+		exit
+fi
+#Package Installer
+echo "Bereite Installation vor"
+apt-get update >/dev/null && apt-get install curl unar -y >/dev/null
+echo "Vorbereitungen abgeschlossen"
+#UpdateChecker
+echo "Suche nach Script-Updates..."
+sleep 5
+version=$(curl -s https://leonhelmle.de/script/teamspeakauto/)
+if [ "$version" != "Version: 1.3" ]; then
+    echo "Neue Version gefunden!"
+    read -p"Script Updaten (j/n)? " scriptupdaten
+    if [ "$scriptupdaten" == "j" ]; then
+        echo "Lade neue Version herunter"
+        mkdir /usr/local/updatescript
+        cd /usr/local/updatescript
+        wget https://leonhelmle.de/download/teamspeakauto.sh >/dev/null 2>&1
+        read -p "Wo ist das Script?: " -e -i /root/teamspeakauto.sh scriptDIR
+        cd /root
+        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        
+    fi
+    echo "Updates werden nicht installiert"
+fi
+echo "Keine Updates gefunden"
+
+
+#Teamspeak Installieren
+read -p"Teamspeak Installieren / Updaten (j/n)? " installieren
+if [ "$installieren" == "j" ]; then
+	#UpdateChecker
+	versionts=$(curl -s https://leonhelmle.de/script/teamspeakauto/ts/)
+	read -p"Teamspeak Installiert (j/n)? " tsinstallieren
+	if [ "$tsinstallieren" == "j" ]; then
+		read -p"Script bereits vorher verwendet (j/n)? " used
+		#Manual
+		if [ "$used" == "n" ]; then
+			mkdir /usr/local/updatetsdata >/dev/null 2>&1
+			read -p "Welche Teamspeak-Server Version ist installiert?: " -e -i 3.0.XX.X tsmanversion
+			cat << _EOF_ > /usr/local/updatetsdata/updatelh.txt
+Version: $tsmanversion
+_EOF_
+		fi
+		#Non-Manual
+		tsversiontxt=$(cat /usr/local/updatetsdata/updatelh.txt)
+		echo "Suche nach Teamspeak-Updates..."
+		sleep 5
+		if [ "$tsversiontxt" != "$versionts" ]; then
+			echo "Neue Version gefunden!"
+    		read -p"Teamspeak-Updaten (j/n)? " tsupdaten
+    		if [ "$tsupdaten" == "j" ]; then
+				read -p"Teamspeak-Gestoppt (j/n)? " stopped
+    			if [ "$stopped" != "j" ]; then
+					echo "Bitte erst den Teamspeak-Server stoppen (entweder mit 'service ts stop' oder manuell)"
+					exit
+        		fi
+				echo "Beginne Update..."
+				#Start des Update-Scripts
+				read -p "Wo ist Teamspeak installiert (ohne den Unterordner; also nicht .../teamspeak3)?: " -e -i /usr/local updateDIR
+				read -p "Wie heißt der Unterordner (in dem alle Teamspeak-Daten sind; also z.B. ts3server_startscript)?: " -e -i teamspeak3 tsupdateDIR
+				rm -rf $updateDIR/backup/ >/dev/null 2>&1
+				mkdir $updateDIR/update
+				mkdir $updateDIR/backup
+				cd $updateDIR/update
+				echo "Lade neueste Teamspeak3-Server-Version herunter"
+				wget http://leonhelmle.de/download/teamspeak3.rar
+				echo "Entpacke ..."
+				unar teamspeak3.rar >/dev/null
+				echo "Teamspeak erfolgreich heruntergeladen und entpackt."
+				echo "Erstelle Backup vom altem Teamspeak (sollte etwas schief laufen, kann man seinen Teamspeak-Server im Ordner /usr/local/backup finden"
+				cp -r $updateDIR/$tsupdateDIR/ $updateDIR/backup/
+				echo "Backup erstellt"
+				echo "Kopiere neuere Version in das Teamspeak-Server Verzeichnis"
+				cp -R teamspeak3/* $updateDIR/$tsupdateDIR/
+				echo "Entferne alte, nicht mehr benötigte Dateien"
+				rm teamspeak3.rar
+				#cp -r $updateDIR/update/teamspeak3 $updateDIR/$tsupdateDIR
+				chmod +x $updateDIR/$tsupdateDIR/ts3server_minimal_runscript.sh >/dev/null
+				chmod +x $updateDIR/$tsupdateDIR/ts3server_startscript.sh >/dev/null
+				chmod +x $updateDIR/$tsupdateDIR/ts3server >/dev/null
+				echo "Berechtigungen gesetzt"
+				echo "Räume nicht mehr benötigte Dateien auf ..."
+				rm -rf $updateDIR/update/
+				echo "Update abgeschlossen! Den Teamspeak einfach wieder mit 'service ts start' oder manuell starten"
+				mkdir /usr/local/updatetsdata/ >/dev/null 2>&1
+				rm /usr/local/updatetsdata/updatelh.txt >/dev/null 2>&1
+				cat << _EOF_ > /usr/local/updatetsdata/updatelh.txt
+$versionts
+_EOF_
+				exit
+			fi
+			exit
+		fi
+		echo "Keine Updates gefunden!"
+		exit
+	fi
+	
+	
+	echo "Teamspeak Installation gestartet:"
+	#Start des Installationsscriptes
+	#mkdir /usr/local/teamspeak3
+	cd /usr/local
+	echo "Lade neueste Teamspeak3-Server-Version herunter"
+	wget http://leonhelmle.de/download/teamspeak3.rar
+	echo "Entpacke ..."
+	unar teamspeak3.rar >/dev/null
+	rm teamspeak3.rar
+	echo "Teamspeak erfolgreich heruntergeladen und entpackt."
+	chmod +x /usr/local/teamspeak3/ts3server_minimal_runscript.sh >/dev/null
+	chmod +x /usr/local/teamspeak3/ts3server_startscript.sh >/dev/null
+	chmod +x /usr/local/teamspeak3/ts3server >/dev/null
+	echo "Berechtigungen gesetzt"
+	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."
+	sleep 5
+	/usr/local/teamspeak3/ts3server_minimal_runscript.sh >/usr/local/teamspeak3/installlog.txt &
+	pid=$!
+	sleep 10
+	kill ${pid}
+	#Install-Datei
+	mkdir /usr/local/updatetsdata/ >/dev/null 2>&1
+	rm /usr/local/updatetsdata/updatelh.txt >/dev/null 2>&1
+	cat << _EOF_ > /usr/local/updatetsdata/updatelh.txt
+$versionts
+_EOF_
+fi
+
+#Autostart Teil
+read -p"Teamspeak beim Serverstart automatisch mit starten (j/n)? " autos
+if [ "$autos" == "j" ]; then
+	echo "Teamspeak wird nun in den Autostart installiert!"
+
+	#Start des Installationsscriptes
+
+	read -p "Wo ist Teamspeak installiert?: " -e -i /usr/local/teamspeak3/ts3server_startscript.sh DIR
+	case=$"1"
+	dollar=$"$"
+	cat << _EOF_ > /etc/init.d/ts
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          Teamspeak
+# Required-Start:    
+# Required-Stop:     
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Teamspeak Autostart
+# Description:       Bei einem Reboot startet es den TS automatisch mit
+### END INIT INFO
+ 
+# Actions
+case $dollar$case in
+    start)
+        $DIR start
+        ;;
+    stop)
+        $DIR stop
+        ;;
+    restart)
+        $DIR restart
+        ;;
+esac
+ 
+exit 0
+_EOF_
+
+	echo "/etc/init.d/ts Startdatei wurde erstellt"
+	chmod +x /etc/init.d/ts >/dev/null
+	update-rc.d ts defaults
+	echo "Defaults geupdatet! Jetzt startet der TS automatisch beim hochfahren"
+fi
+
+#Abschluss
+	echo "Server wird jetzt neugestartet!"
+	sleep 5
+	reboot
+