<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Teamspeak3 on SecretMine.de</title><link>https://secretmine.de/tags/teamspeak3/</link><description>Recent content in Teamspeak3 on SecretMine.de</description><generator>Hugo -- gohugo.io</generator><language>de-DE</language><lastBuildDate>Mon, 26 Feb 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://secretmine.de/tags/teamspeak3/index.xml" rel="self" type="application/rss+xml"/><item><title>TS3-Server inkl. Autostart installieren - 2.0 (Docker-Basis)</title><link>https://secretmine.de/blog/2024/2024-02-26-ts3-installationsanleitung/</link><pubDate>Mon, 26 Feb 2024 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2024/2024-02-26-ts3-installationsanleitung/</guid><description>&lt;p&gt;&lt;strong&gt;Hinweis&lt;/strong&gt;: Nutzung auf eigene Gefahr.&lt;/p&gt;
&lt;h1 id="einleitung"&gt;Einleitung
&lt;/h1&gt;&lt;p&gt;Das alte Tutorial zum Installieren von einem TS3-Server basierte ja auf einer direkten Installation auf dem System. Das
hat den Vorteil, dass es schlank ist - aber dafür ist auch mehr manuell zu pflegen. Ich habe kürzlich für jemanden einen
TS3-Server inkl. automatischen Updates auf Dockerbasis aufgesetzt und finde das Setup eleganter als die bisherige
Lösung, daher möchte ich es auch anderen zur Verfügung stellen.&lt;/p&gt;
&lt;h1 id="voraussetzungen"&gt;Voraussetzungen
&lt;/h1&gt;&lt;p&gt;Auf dem Server muss Docker installiert sein. Sofern das noch nicht der Fall ist, lässt sich das einfach mit&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -O- https://get.docker.com | sudo bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;durchführen. (Ja, das direkte Ausführen von fremdem Code als Root ist böse, aber die Quelle ist vertrauenswürdig.
Trotzdem ist es empfehlenswert, das heruntergeladene Script einmal zu prüfen, bevor man es ausführt).&lt;/p&gt;
&lt;p&gt;Sollte &lt;code&gt;wget&lt;/code&gt; noch nicht ins alliert sein, geht das schnell mit&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt-get update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt-get -y install wget
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Das Tool, was zum Updaten des Containers genutzt wird, kann dir via Discord Webhooks (und diverse andere Varianten)
Benachrichtigungen zu durchgeführten Updates schicken. Lege dazu einen Channel an und generiere dir einen Webhook - ich
verwende hier im Beispiel die Webhook-URL &lt;code&gt;https://discord.com/api/webhooks/asd/fgh&lt;/code&gt;.&lt;/p&gt;
&lt;h1 id="erstellen-vom-datenverzeichnis"&gt;Erstellen vom Datenverzeichnis
&lt;/h1&gt;&lt;p&gt;Die Daten für den Server sollen später unter &lt;code&gt;/opt/teamspeak3/data&lt;/code&gt; liegen, die Compose-Datei im darüberliegenden
Verzeichnis. Das lässt sich schnell mit&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p /opt/teamspeak3/data/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;anlegen.&lt;/p&gt;
&lt;h1 id="erzeugung-der-docker-compose-datei"&gt;Erzeugung der Docker-Compose-Datei
&lt;/h1&gt;&lt;p&gt;Zur Verwaltung der Container nutze ich in solchen Fällen gerne Docker-Compose. Dafür muss eine Datei angelegt werden (
die &lt;code&gt;docker-compose.yml&lt;/code&gt;), die die zu erstellenden Container inkl. Konfiguration beinhaltet. Ich nutze hier das
offizielle TS3-Container-Image (von hier: &lt;a class="link" href="https://hub.docker.com/_/teamspeak" target="_blank" rel="noopener"
 &gt;https://hub.docker.com/_/teamspeak&lt;/a&gt;). Um
das ganze möglichst pflegeleicht zu gestalten, stelle ich noch einen Watchtower-Container (von
hier: &lt;a class="link" href="https://hub.docker.com/r/containrrr/watchtower" target="_blank" rel="noopener"
 &gt;https://hub.docker.com/r/containrrr/watchtower&lt;/a&gt;) dazu. Watchtower
sorgt dafür, dass der TS3-Container immer auf dem aktuellsten Stand gehalten wird. Dazu wird in gewissen Abständen
geprüft, ob es eine neue Version vom Container-Image gibt. Sofern ein Update verfügbar ist, wird das gezogen und der
TS3-Container einmal frisch erzeugt.&lt;/p&gt;
&lt;p&gt;Um den TS3-Server später nutzen zu können, musst du die Lizenzbedingungen explizit akzeptieren. Die Bedingungen kannst
du dir mit dem Befehl&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run --rm -it -e TS3SERVER_LICENSE=view teamspeak
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ansehen.&lt;/p&gt;
&lt;p&gt;Lege also die Datei &lt;code&gt;docker-compose.yml&lt;/code&gt; unter &lt;code&gt;/opt/teamspeak3/&lt;/code&gt; beispielsweise
mit &lt;code&gt;nano /opt/teamspeak3/docker-compose.yml&lt;/code&gt; an. Der Inhalt sollte wie folgt aussehen:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;3.8&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;teamspeak&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;teamspeak&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;latest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;always&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;9987&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;9987&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;udp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;10011&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;10011&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;30033&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;30033&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;/opt/teamspeak3/data:/var/ts3server/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;TS3SERVER_LICENSE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;view&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#34;view&amp;#34; durch &amp;#34;accept&amp;#34; ersetzen, um die Lizenzbedingungen zu akzeptieren&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;watchtower&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;containrrr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;watchtower&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;latest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;always&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;WATCHTOWER_SCHEDULE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;0 0 5 * * *&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# Update-Prüfung täglich um 05:00 Uhr&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;WATCHTOWER_NOTIFICATIONS&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;slack&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;https://discord.com/api/webhooks/asd/fgh/slack&amp;#39;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Watchtower&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;WATCHTOWER_NOTIFICATION_SLACK_CHANNEL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;#watchtower&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sock&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sock&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Die Zeilen, die mit &lt;code&gt;WATCHTOWER_NOTIFICATIONS&lt;/code&gt; beginnen, sind für die Notifications zuständig. An die Webhook-URL muss,
wie im Beispiel sichtbar, noch &lt;code&gt;/slack&lt;/code&gt; angefügt werden.&lt;/p&gt;
&lt;h1 id="erster-start"&gt;Erster Start
&lt;/h1&gt;&lt;p&gt;Wechsle zuerst in das Verzeichnis vom Server:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cd /opt/teamspeak3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;starte nun einmal den TS3-Server im Attached-Modus, damit du den Serveradmin-Token sehen kannst:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose up teamspeak
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Nach einigen Sekunden kannst du den Server mit &lt;code&gt;Strg + c&lt;/code&gt; wieder beenden. Das sieht dann etwa so aus:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Ausgabe vom TeamSpeak3-Server" class="gallery-image" data-flex-basis="516px" data-flex-grow="215" height="652" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://secretmine.de/blog/2024/2024-02-26-ts3-installationsanleitung/images/initialisierung.png" srcset="https://secretmine.de/blog/2024/2024-02-26-ts3-installationsanleitung/images/initialisierung_hu_9938e39dac14c22c.png 800w, https://secretmine.de/blog/2024/2024-02-26-ts3-installationsanleitung/images/initialisierung.png 1402w" width="1402"&gt;&lt;/p&gt;
&lt;p&gt;In der Ausgabe findest du neben dem Admin-Token auch die Zugangsdaten für die Query-Schnittstelle. &lt;strong&gt;Bewahre diese Daten
gut auf!&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id="finaler-start"&gt;Finaler Start
&lt;/h1&gt;&lt;p&gt;Mit&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;startest du nun den Server. Der Server wird auch automatisch bei Systemstart mit gestartet, also dort ist nichts weiter
zu tun.&lt;/p&gt;
&lt;p&gt;Damit sollte der Server nun erreichbar sein und das Tutorial ist beendet. Viel Spaß!&lt;/p&gt;</description></item><item><title>TS3-Server günstig zuhause hosten</title><link>https://secretmine.de/blog/2023/2023-10-18-ts3-server-guenstig-zuhause-hosten/</link><pubDate>Wed, 18 Oct 2023 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2023/2023-10-18-ts3-server-guenstig-zuhause-hosten/</guid><description>&lt;p&gt;Mittlerweile sind verschiedene Thin-Client-Modelle (beispielsweise Fujitsu Futro S740, S720, S520, &amp;hellip;) zu günstigen
Preisen erhältlich, teilweise für unter 20 € - manchmal sogar für 15 € und weniger. Die Prozessoren (z.B. im S720 und
S520) sind allerdings schwach, was den Einsatzzweck einschränkt. Netterweise braucht TeamSpeak3 wenig Ressourcen und
ist im Vergleich zu anderen Services auch nicht direkt kompatibel mit ARM-Prozessoren.&lt;/p&gt;
&lt;p&gt;Der Stromverbrauch von den Thin Clients ist ziemlich gering, je nach Modell nur wenige Watt. Damit ist das ganze auch zu
sehr günstigen Konditionen (bei 5 Watt und 30 Cent pro kWh entspräche das Stormkosten von etwas über einem Euro pro
Monat) zu betreiben. Teamspeak erlaubt den Betrieb eines Servers ohne Lizenz mit bis zu 32 Slots, was für viele Zwecke
genügt. Klar ist die Internetanbindung zu Hause für den Serverbetrieb nicht optimal, aber für einen kleinen Server mit
Freunden genügt so etwas. Dafür sind selbstverständlich Portfreigaben notwendig, welche Ports das sind steht weiter
unten. Konkrete Anleitungen werde ich hier generell in diesem Post nicht nennen, da das meiste davon nicht weiter schwer
ist.&lt;/p&gt;
&lt;p&gt;Für ein kleines Beispiel nutze ich einen Futro S520, das schwächste der genannten Modelle.
Als OS nutze ich hier Debian 12 ohne GUI, darauf habe ich dann mit &lt;a class="link" href="https://secretmine.de/blog/2018/11/03/debian-ubuntu-ts3-server-inkl-autostart-installieren/" &gt;meinem eigenen Script&lt;/a&gt; den TS3-Server installiert. Nach
der Installation habe ich mich mit dem TS3-Server verbunden und mit einer einfachen WLAN-Steckdose den Verbrauch gemessen.
Ohne weitere angeschlossene Geräte (nur LAN und Strom verbunden) liegt der Verbrauch bei angenehm niedrigen 5 Watt. Ein
Futro S740 liegt hier noch etwas niedriger, aber kostet auch ein mehrfaches vom S520.&lt;/p&gt;
&lt;p&gt;An Ports müssen für TS3 folgende freigebene werden:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Port 9987 UDP, Standard-Voice-Port&lt;/li&gt;
&lt;li&gt;Port 30033 TCP, Filetransfer (optional)&lt;/li&gt;
&lt;li&gt;Port 10011 TCP, Server-Query (optional)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Für den &amp;ldquo;Produktivbetrieb&amp;rdquo; sollte natürlich noch DynDNS eingesetzt werden, da sich zuhause die IP in gewissen Abständen ändern kann.
Hierzu gibt es viele Anbieter am Markt, wer DNS über Cloudflare und co
verwaltet, findet auch dafür passende DynDNS-Scripte.&lt;/p&gt;
&lt;p&gt;Aber ergibt das ganze überhaupt Sinn?&lt;/p&gt;
&lt;p&gt;Das kommt natürlich immer darauf an. Für das Geld, was der Thin Client durch den Stromverbrauch kostet, bekommt man bei einigen Anbietern schon kleine vServer, die dann im Rechenzentrum mit entsprechender Anbindung und Hardware betrieben werden, was natürlich für eine höhere Stabilität sorgt.
Ich finde hier aber den Lern- und Spaßfaktor wichtig. Ein Homelab bzw. genereller Betrieb von Services zuhause muss nicht immer (wirtschaftlich) sinnvoll sein. Dieses kleine Beispiel enthält schon viele wichtige grundlegende Elemente wie die Installation vom Betriebsssystem, Installation von Software und auch die Bereitstellung der Services von Außen mit Dyndns und Portfreigaben.&lt;/p&gt;</description></item><item><title>TeamSpeak3-Server: Wechsel des Rechenzentrums (zu OVH)</title><link>https://secretmine.de/blog/2022/2022-11-15-teamspeak3-server-wechsel-zu-ovh/</link><pubDate>Wed, 23 Feb 2022 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2022/2022-11-15-teamspeak3-server-wechsel-zu-ovh/</guid><description>&lt;p&gt;Nachdem der TS nun einige Monate bei Skylink und auch einige Monate bei Contabo lief, habe ich mich dazu entschlossen,
diesen testhalber für bessere Pings bei OVH in der Nähe von Frankfurt unterzubringen. Das hat für euch primär die
Auswirkung, dass sich die Pings verbessern und konstanter sein müssten.&lt;/p&gt;
&lt;p&gt;Dank eines guten Angebots (12€ für das erste Jahr) ist dieses Experiment für mich auch nicht weiter teuer. Nächstes Jahr
versuche ich dann, daran zu denken, meine Erfahrungen zu teilen.&lt;/p&gt;</description></item><item><title>TeamSpeak3-Server: Wechsel des Rechenzentrums (zu Skylink)</title><link>https://secretmine.de/blog/2022/02/23/teamspeak3-server-wechsel-des-rechenzentrums/</link><pubDate>Wed, 23 Feb 2022 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2022/02/23/teamspeak3-server-wechsel-des-rechenzentrums/</guid><description>&lt;p&gt;Der TS3-Server war bislang bei Hetzner in Falkenstein untergebracht, mit einem temporären &amp;ldquo;Zwischenstopp&amp;rdquo;
in Frankfurt. Da ich allerdings in den Niederlanden, genauer gesagt im Skylink-Rechenzentrum IPs über habe, ist der TS
nun vorerst dort. Der Traffic läuft hierbei über Skylink selbst.&lt;/p&gt;
&lt;p&gt;Ich werde die Latenzen und möglichen Paketverlust in den nächsten Tagen beobachten. Sollte sich herausstellen, dass der
Betrieb des TS3-Servers dort nicht optimal möglich ist, werde ich ein anderes Rechenzentrum aussuchen.&lt;/p&gt;
&lt;p&gt;Ein ausführlicherer Bericht zum Skylink-Rechenzentrum ist generell in Planung, wird aber noch dauern. Ich habe dort
seit nun über 2 Jahren eigene Hardware stehen.&lt;/p&gt;</description></item><item><title>Änderungen am TS</title><link>https://secretmine.de/blog/2020/10/01/aenderungen-am-ts/</link><pubDate>Thu, 01 Oct 2020 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2020/10/01/aenderungen-am-ts/</guid><description>&lt;p&gt;Lange ist beim TS3-Server nichts passiert - es wird mal wieder Zeit für Änderungen.&lt;/p&gt;
&lt;h2 id="channel-cleanup"&gt;Channel-Cleanup
&lt;/h2&gt;&lt;p&gt;Ich habe bei den Channeln aufgeräumt. Gelöscht wurden überflüssige Public-Channel, einige Member-Channel sowie alte
private Channel&lt;/p&gt;
&lt;h2 id="neues-management-system"&gt;Neues Management-System
&lt;/h2&gt;&lt;p&gt;Zur Zeit ist ein neues Management-System für den TS3-Server in Entwicklung. Dieses System verwaltet die privaten
Channel, Statistiken, AFK-Verschieben und eine ganze Menge mehr.&lt;/p&gt;
&lt;p&gt;Vorteile für euch als User:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Private Channel wieder erstellbar (&lt;a class="link" href="https://interface.secretmine.de/?page=UserChannelCreate" target="_blank" rel="noopener"
 &gt;hier&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vor allem das System der privaten Channel habe ich deutlich überarbeitet. Grundsätzlich bleibt alles beim alten - es
gibt Channel mit Berechtigungsschlüsseln und Channel mit Passwort. Im Vergleich zum alten System ist das Erstellen
deutlich simpler geworden. Du bist regelmäßig hier und hast noch keinen eigenen permanenten Channel? Dann &lt;a class="link" href="https://interface.secretmine.de/?page=UserChannelCreate" target="_blank" rel="noopener"
 &gt;mach mal&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Teammäßig möchte ich zukünftig wieder mehr Moderatoren im Einsatz haben - was genau ich da mache weiß ich aber noch
nicht. Ich muss erstmal schauen, wer aktuell so viel auf dem TS aktiv ist.&lt;/p&gt;</description></item><item><title>Aus dem Leben eines Hosters Part 1 – Was bisher geschah</title><link>https://secretmine.de/blog/2020/07/16/aus-dem-leben-eines-hosters-was-bisher-geschah/</link><pubDate>Thu, 16 Jul 2020 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2020/07/16/aus-dem-leben-eines-hosters-was-bisher-geschah/</guid><description>&lt;p&gt;Bevor ich mit der eigentlichen Geschichte des Hostings bei mir anfange, muss ich ein wenig auf die Jahre davor eingehen.&lt;/p&gt;
&lt;h1 id="die-anfänge"&gt;Die Anfänge
&lt;/h1&gt;&lt;p&gt;Ich habe schon seit klein auf ein großes Interesse an Technik, insbesondere an Computern. Das führte irgendwann dazu,
dass ich auf einem alten (wirklich alten) Laptop mit verschiedenen Linux-Distributionen herumgespielt habe, angefangen
mit Fedora. Ich war von Anfang an vor allem von der Paketverwaltung fasziniert - insbesondere, dass sich alle
installierten Programme mit einem Klick auf die neuste Version aktualisieren lassen. Unter Windows war zu dem Zeitpunkt
noch der Standard, dass man manuell die neue Programmversion heruntergeladen und installiert hat. Neben dem Nutzen von
Linux auf dem Laptop habe ich auch in Virtualbox mit verschiedenen Betriebssystemen gearbeitet.&lt;/p&gt;
&lt;h1 id="virtualisierungcontainer"&gt;Virtualisierung/Container
&lt;/h1&gt;&lt;p&gt;Dabei bin ich irgendwann auch auf OpenVZ gestoßen. Wer es nicht kennt: Das ist eine Software, um Linux-Container zu
erstellen und zu verwalten. Es gab dazu auch ein Web-Panel - ich habe beides unter Debian 5 installiert bekommen.
Vorher hatte ich auch vmWare ESXi auf dem Laptop installiert - bzw. es versucht. Der Installer brach bei jedem Versuch
ungefähr sofort ab, da die CPU keine Hardwarevirtualisierung konnte. Daher Container.&lt;/p&gt;
&lt;p&gt;Vielleicht kennt es der eine oder andere sogar aus eigener Erfahrung. In kurz: Es war nicht besonders schön, aber
kostenlos und hat funktioniert. Nicht immer perfekt, aber im Großen und Ganzen ganz gut. Ich konnte jetzt also jederzeit
neue kleine Linux-Server erzeugen und ins Heimnetz hängen - prima zum Lernen. Ich habe dann auch mit Konfigurationen von
apache, nginx und weiterer Software herumgespielt.&lt;/p&gt;
&lt;h1 id="gameserver-und-co"&gt;Gameserver und co
&lt;/h1&gt;&lt;p&gt;Währenddessen hatte ich bereits mehrfach für mich und Freunde sowohl Minecraft- als auch TS3-Server über Nitrado
angemietet - mit geteilten Kosten. Wer Nitrado kennt wird aber wissen, dass das durchaus recht kostspielig wird, wenn
man nicht die kleinsten Pakete nimmt. Am Ende hatte ich dort einen MC-Server, Webspace, meine erste Domain
(zufälligerweise SecretMine.de - daher auch der Minecraft-nahe Name) und einen TS3-Server. Wer hier im Blog etwas
weiter herumstochert wird feststellen, dass die Posts nur bis 2014 zurückgehen - ich hatte irgendwann die Website
mal komplett neu aufgesetzt (vorher Joomla, dann der Switch zu WordPress) und dabei die älteren Beiträge nicht mit
übernommen.&lt;/p&gt;
&lt;h1 id="der-erste-vserver"&gt;Der erste vServer
&lt;/h1&gt;&lt;p&gt;Irgendwann kam dann der Wunsch nach einem eigenen kompletten Server im Internet (auch bekannt als vServer). Der Plan
war auch, alles, was ich bei Nitrado hatte, auf einen Server zu packen, um die Kosten zu senken. Ich hab mich dann im
Internet umgesehen und geschaut, was sowas etwa kostet. Ich habe diverse Anbieter durchprobiert und bin am Ende bei
einem recht kleinen, mittelmäßig seriösen Anbieter gelandet. Der Test-Server war gut, die Preise in Ordnung - also los.&lt;/p&gt;
&lt;p&gt;Das lief dann soweit auch alles gut. Der TS lief prima und wurde immer größer, MC-Projekte mit Freunden fanden alle
paar Monate statt und meine Website lief auch. Ich habe dann auch angefangen, dort einen eigenen Mailserver (anfangs
mit Axigen) zu betreiben, es kamen auch bereits 1-2 weitere Domains dazu.&lt;/p&gt;
&lt;p&gt;Der vServer ist mit der Zeit immer weiter gewachsen, damit mehr Zeug darauf passte. Auch habe ich irgendwann eine
kleine Multicraft-Lizenz gekauft und dann auch Freunden Server bereitgestellt. Irgendwann hatte ich mehr Kapazität als
ich selber brauchte - also habe ich auf bzw. über den TS einen MC-Server verlost. Das war um 2014/2015 und letztendlich
die allerersten Anfänge, die dann zu MC4U führen.&lt;/p&gt;</description></item><item><title>[Debian/Ubuntu] TS3-Server inkl. Autostart installieren</title><link>https://secretmine.de/blog/2018/11/03/debian-ubuntu-ts3-server-inkl-autostart-installieren/</link><pubDate>Sat, 03 Nov 2018 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2018/11/03/debian-ubuntu-ts3-server-inkl-autostart-installieren/</guid><description>&lt;p&gt;&lt;strong&gt;Hinweis&lt;/strong&gt;: Nutzung auf eigene Gefahr.&lt;/p&gt;
&lt;p&gt;Einen TS3-Server zu installieren ist schnell erledigt. Führe dafür einfach folgende Befehle aus, du kannst den ganzen
Block kopieren&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;VERSION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;wget -O- &lt;span class="s1"&gt;&amp;#39;https://www.teamspeak.com/versions/server.json&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; jq -r &lt;span class="s2"&gt;&amp;#34;.linux.x86_64.version&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;adduser --disabled-password --disabled-login --gecos &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; teamspeak
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /home/teamspeak/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget https://files.teamspeak-services.com/releases/server/&lt;span class="nv"&gt;$VERSION&lt;/span&gt;/teamspeak3-server_linux_amd64-&lt;span class="nv"&gt;$VERSION&lt;/span&gt;.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tar xf teamspeak3-server_linux_amd64-&lt;span class="nv"&gt;$VERSION&lt;/span&gt;.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm teamspeak3-server_linux_amd64-&lt;span class="nv"&gt;$VERSION&lt;/span&gt;.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;touch /home/teamspeak/teamspeak3-server_linux_amd64/.ts3server_license_accepted
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chown -R teamspeak: *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo -u teamspeak /home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo -u teamspeak /home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;An dieser Stelle werden nun die Zugangsdaten für den TS-Query sowie der erste Admin-Token angezeigt. Kopiere dir diese
Daten und speichere sie irgendwo, du brauchst sie später noch.&lt;/p&gt;
&lt;p&gt;Jetzt erstellen wir noch den Service, aktivieren ihn und starten ihn auch direkt (und damit den TS3-Server):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat &amp;gt; /etc/systemd/system/teamspeak3.service &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;lt&lt;span class="p"&gt;;&amp;amp;&lt;/span&gt;lt&lt;span class="p"&gt;;&lt;/span&gt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;Unit&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;Description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;TeamSpeak3-Server
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;After&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;network.service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;Service&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;User&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;teamspeak
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;Group&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;teamspeak
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;Type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;forking
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;WorkingDirectory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/teamspeak/teamspeak3-server_linux_amd64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ExecStart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ExecStop&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;PIDFile&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/teamspeak/teamspeak3-server_linux_amd64/ts3server.pid
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;RestartSec&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;Restart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;always
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;Install&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;WantedBy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;multi-user.target
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;systemctl daemon-reload
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;systemctl &lt;span class="nb"&gt;enable&lt;/span&gt; teamspeak3.service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;systemctl start teamspeak3&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;An dieser Stelle ist ein Reboot zum Testen sicherlich nicht falsch, aber auch nicht zwingend notwendig. Ich habe dieses
Skript selbst schon an diversen Stellen genutzt, bei mir läuft es sehr gut.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Updates lassen sich wie folgt durchführen, wenn das obige Skript zur Installation genutzt wurde (vorher natürlich eine
Sicherung machen):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;VERSION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;wget -O- &lt;span class="s1"&gt;&amp;#39;https://www.teamspeak.com/versions/server.json&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; jq -r &lt;span class="s2"&gt;&amp;#34;.linux.x86_64.version&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rsync -rt --delete /home/teamspeak/teamspeak3-server_linux_amd64/ /home/teamspeak/teamspeak3-server_linux_amd64.bak/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /home/teamspeak/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget https://files.teamspeak-services.com/releases/server/&lt;span class="nv"&gt;$VERSION&lt;/span&gt;/teamspeak3-server_linux_amd64-&lt;span class="nv"&gt;$VERSION&lt;/span&gt;.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;systemctl stop teamspeak3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tar xf teamspeak3-server_linux_amd64-&lt;span class="nv"&gt;$VERSION&lt;/span&gt;.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm teamspeak3-server_linux_amd64-&lt;span class="nv"&gt;$VERSION&lt;/span&gt;.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;touch /home/teamspeak/teamspeak3-server_linux_amd64/.ts3server_license_accepted
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chown -R teamspeak: *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;systemctl start teamspeak3&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Wer eine ältere Version des Installers genutzt hat, muss vorher folgendes ausführen:
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apt-get -y install jq rsync tar gzip&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;</description></item><item><title>TeamSpeak-Server: Änderungen am Channelsystem (insbesondere Privatchannel)</title><link>https://secretmine.de/blog/2017/03/21/aenderungen-am-channelsystem-insbesondere-privatchannel/</link><pubDate>Tue, 21 Mar 2017 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2017/03/21/aenderungen-am-channelsystem-insbesondere-privatchannel/</guid><description>&lt;p&gt;In den nächsten Monaten werden am Channelsystem wahrscheinlich einige Änderungen durchgeführt.
Zum Beispiel soll es leichter werden, permanente private Channel zu erstellen.&lt;/p&gt;</description></item><item><title>TeamSpeak-Server: Ideen und Vorschläge für den TS</title><link>https://secretmine.de/blog/2016/10/13/ideen-und-vorschlaege-fuer-den-ts/</link><pubDate>Thu, 13 Oct 2016 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2016/10/13/ideen-und-vorschlaege-fuer-den-ts/</guid><description>&lt;p&gt;Ich suche derzeit neue Ideen bzw. Vorschläge für den TS, um da mal wieder ein wenig frischen Wind und neue User reinzubringen…
Ich verlasse mich auf eure Ideen dabei! Hoffentlich ist etwas (sinnvolles 😉) dabei, das sich auch umsetzen lässt 🙂&lt;/p&gt;</description></item><item><title>TeamSpeak-Server: Eigene Icons ändern</title><link>https://secretmine.de/blog/2015/02/14/teamspeak-server-eigene-icons-aendern/</link><pubDate>Sat, 14 Feb 2015 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2015/02/14/teamspeak-server-eigene-icons-aendern/</guid><description>&lt;p&gt;Jeder kann ab sofort seine Spieleicons auf dem TeamSpeak-Server selber bearbeiten.
Dazu gibt es unter dem Menüpunkt &amp;ldquo;TS3-Server&amp;rdquo; den Unterpunkt &amp;ldquo;Spieleicons ändern&amp;rdquo;.&lt;/p&gt;</description></item><item><title>TeamSpeak-Server: Löschung von unbenutzten Channels</title><link>https://secretmine.de/blog/2015/02/11/teamspeak-server-loeschung-von-unbenutzten-channels/</link><pubDate>Wed, 11 Feb 2015 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2015/02/11/teamspeak-server-loeschung-von-unbenutzten-channels/</guid><description>&lt;p&gt;Es kann sein, dass einige Channels in der nächsten Zeit gelöscht werden.
Dazu gehören einige private Channel sowie der gesamte Minecraft-Zweig.
Dafür wird es mehr LoL-Channel geben und der Server ist übersichtlicher.&lt;/p&gt;</description></item><item><title>TeamSpeak-Server: Channel für verschiedene Spiele!</title><link>https://secretmine.de/blog/2015/01/01/erste-aenderung-auf-dem-teamspeak-server-channel-fuer-verschiedene-spiele/</link><pubDate>Thu, 01 Jan 2015 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2015/01/01/erste-aenderung-auf-dem-teamspeak-server-channel-fuer-verschiedene-spiele/</guid><description>&lt;p&gt;Ich habe gerade auf dem TeamSpeak-Server Channel für verschiedene Spiele erstellt. Wer z.B. LoL spielt, kann in die entsprechenden Channel gehen und andere können sehen, wer gerade was spielt.&lt;/p&gt;
&lt;p&gt;Wenn jemand weitere Ideen bzw. Vorschläge hat, bitte einfach bei mir melden. 🙂&lt;/p&gt;</description></item><item><title>TeamSpeak-Server</title><link>https://secretmine.de/blog/2014/08/05/teamspeak-server/</link><pubDate>Tue, 05 Aug 2014 07:13:17 +0000</pubDate><guid>https://secretmine.de/blog/2014/08/05/teamspeak-server/</guid><description>&lt;p&gt;Da ich jetzt eine NPL habe, hat der Hauptserver (&lt;strong&gt;ts.secretmine.de)&lt;/strong&gt; jetzt &lt;strong&gt;300 Slots&lt;/strong&gt;.&lt;/p&gt;</description></item></channel></rss>