Mit dem JTS3ServerMod kann man ganz leicht seinen eigenen TeamSpeak 3 Bot laufen lassen. Dieser hilft einem ungemein beim Kicken von Clients mit unangemessenem Namen, verschiebenen von inaktiven Clients und vielem mehr. Die Einrichtung unter Linux zeige ich hier.

Vorbereitung

Da der Bot unter Java läuft, stellst du zunächst sicher, dass auf deinem vServer Java installiert ist. Falls dies nicht der Fall ist, kannst du Java mit einem Befehl installieren:

apt-get -y install default-jre

Außerdem solltest du noch einen neuen Benutzer anlegen, beispielsweise namens JTS3Bot.

Lade dir auf deinen PC die neueste Version des Bots aus dem Forum herunter. Den Downloadlink findest du im Thread ganz unten bei -= Download =-.

Da du später interne Daten aus deinem Server auslesen musst, solltest du noch YaTQA auf deinem PC herunterladen und installieren.

In YaTQA gibst du die Serve-IP, den Benutzername serveradmin und das serveradmin-Passwort ein, um dich zu verbinden.

Bot einrichten

Um mit der Einrichtung des Bots zu starten, entpackst du die zuvor heruntergeladene JTS3ServerMod_X.X.X.zip. Begib dich in /JTS3ServerMod/config/server1/ und lösche hier die JTS3ServerMod_server.cfg.

Navigiere einen Ordner zurück, in /config/. Kopiere hier die JTS3ServerMod_server_example.cfg in den Ordner /server1/ und benenne die Datei um in JTS3ServerMod_server. Editiere nun die JTS3ServerMod_server.cfg mit einem beliebigen Editor.

Hier werden alle Einstellungen des Bots gesetzt, beginnend mit den allgemeinen Daten und Verbindungs-Informationen des TeamSpeak Servers.

Zeile & Einstellung Bedeutung
6 (ts3_server_address) IP-Adresse des TeamSpeak-Servers
12 (ts3_server_query_password) ServerQuery Admin Passwort
24 (bot_channel_id) Optional die Channel-ID des Channels, in den der Bot soll
33 (bot_check_interval) Wie oft der Bot in der Sekunde reagieren soll. Bei 1 dauert es somit maximal 1 Sekunde, bis er bei z. B. einem Blacklist-Nickname handelt
46 (bot_server_query_name) Name des Bots
52 (bot_date_pattern) Datum-Format. dd.MM.yyy HH:mm:ss wäre es für Deutschland
57 (bot_timezone) Zeitzone. Für Deutschland DE
59 (bot_connect_forever) Ob der Bot versuchen soll neu zu verbinden, wenn TeamSpeak-Server down
69 (bot_admin_list) Die Eindeutige-ID von den Admins, die die Admin-Befehle des Bots nutzen dürfen. ID liest man mit Strg + I aus
116 (bot_functions_disabled) Bot-Funktionen, nicht verwendet werden soll. Beispielsweise "advertising" für die Funktion Advertising

Bot-Funktion konfigurieren

Als Nächster Schritt werden alle Funktionen konfiguriert, die verwendet werden sollen. Da alle Einstellungen kommentiert sind, sollte dies selbsterklärend sein. Dennoch zeige ich am Beispiels der Funktion MuteMover, wie man eine Funktion einrichtet.

Die Funktions-Namen findest du im Bereich der Zeile # Function list. Der Name steht nach dem Doppelpunkt der Funktion. Für MuteMover ist dies mute. Scrolle nun also in der Config herunter, bis du zu den Zeilen der Funktion kommst, die alle mit mute_ anfangen.

Da du für die Einstellung gleich Channel-ID's benötigst, brauchst du jetzt YaTQA. Hier klickst du im oberen Menü auf Server und machst in der Liste einen Doppelklick auf deinen Server. Wieder im oberen Menü klickst du diesmal auf Benutzer. Nun siehst du in der linken Spalte alle Channel des Servers. Mit einem Klick auf einen erhältst du rechts unteranderem die Channel-ID.

Die Server-Gruppen-ID's lassen sich im TeamSpeak-Client auslesen. Begib dich hierzu zu Rechte Server Gruppen. Die Zahl in der Klammer ist die Server-Gruppen-ID.

Alle Zeilen der Konfiguration findest du in der folgenden Tabelle mit Erklärung. Darunter befindet sich noch ein Beispiel wie eine Konfiguration aussehen kann, ohne Kommentare.

Einstellung Bedeutung
mute_moveback Client zurück verschieben, wenn er sich enmuted hat? Schreibe hier yes oder no
mute_headphone Zählt Headset-muten zum Muten? Schreibe hier yes oder no
mute_microphone Zählt Mikrofon-muten zum Muten? Schreibe hier yes oder no
mute_headphone_hardware Verschieben auch aktivieren, wenn kein Headset/Lautsprecher angeschlossen ist
mute_microphone_hardware Verschieben auch aktivieren, wenn kein Mikrofon aktiviert ist
mute_condition_mode Müssen alle Bedingungen von oben zutreffen oder nur eine? Schreibe hier all oder one
mute_channel_id Channel-ID des Channels, wo hin verschoben werden soll
mute_delay Delay in Sekunden, bis Client verschoben wird
mute_channel_list Channel-ID's von Channeln, die ignoriert bzw. welche überwacht werden sollen. Getrennt mit Komma ohne Leerzeichen
mute_channel_list_mode Einstellung darüber: Sollen diese Channel ignoriert oder nur diese überwacht werden? Schreibe hier ignore oder only
mute_group_list Servergruppen-ID's, die ignoriert bzw. welche überwacht werden sollen. Getrennt mit Komma ohne Leerzeichen
mute_group_list_mode Einstellung darüber: Sollen diese Gruppen ignoriert oder nur diese überwacht werden? Schreibe hier ignore oder only
mute_message_mode Nachricht an den Client, dass er verschoben wurde. Möglichkeiten: poke, chat oder none
mute_file Pfad zur Datei, in der die Nachricht steht. Befindet sich im Ordner der Config.

Im Folgenden eine Beispiel-Konfiguration dieser Funktion ohne Kommentare.

mute_moveback = yes
mute_headphone = yes
mute_microphone = no
mute_headphone_hardware = yes
mute_microphone_hardware = yes
mute_condition_mode = one
mute_channel_id = 15
mute_delay = 120
mute_channel_list = 1,2,6,9
mute_channel_list_mode = only
mute_group_list = 26,35
mute_group_list_mode = ignore
mute_message_mode = none
mute_file = %apphome%config/server1/mutemessages.cfg

Bot starten

Der Bot wird nicht installiert, er muss lediglich gestartet werden. Daher ist das meiste auch schon getan, jetzt wird der Ordner JTS3ServerMod nur noch auf den Server hochgeladen. Melde dich per FTP mit dem neu erstellten Benutzer an und vergebe anschließend, falls noch nicht gesetzt, auf den Ordner und alles darunter die Rechte 0755.

Verbinde dich nun mit Putty mit dem Server und mache das Start-Script noch ausführbar: chmod +x jts3servermod_startscript.sh

Der Bot wird jetzt einfach gestartet. Screen ist nicht erforderlich, er läuft auch weiter, selbst wenn du Putty beendest: ./jts3servermod_startscript.sh start

Die Logs vom Bot findest du direkt im Hauptverzeichnis des Bots in der JTS3ServerMod_server1.log. Da noch nicht alle Funktionen eingerichtet sind, werden hier einige Fehler erscheinen. Wichtig ist jedoch erst einmal, dass der Bot mit dem TeamSpeak-Server verbunden ist.

Dass der Bot auch wirklich verbunden ist und auch läuft, kannst du im Client selbst auch jederzeit überprüfen. Nutze dazu im Server-Chat bzw. im Chat mit dem Bot den Befehl !botinfo. Du erhältst als Privat-Chat eine Antwort vom Bot. Mit dem Befehl !bothelp werden dir alle Befehle aufgelistet. Damit Änderungen wirksam werden, muss der Bot bei jeder Änderung neu geladen werden. Entweder mit !botreload oder in Putty per ./jts3servermod_startscript.sh restart

Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.

Kategorie: Server

Tags: , ,

0 Kommentare

1.518 Aufrufe

Über mich

Ich bin Janis (aka. EurenikZ), 25 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.

1726 Aufrufe

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten.

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen. Sei der Erste, der diesen Beitrag bewertet!

Es tut mir Leid, dass der Beitrag für dich nicht hilfreich war!

Wie kann ich diesen Beitrag verbessern?

Hinterlasse einen Kommentar

  • Manchmal ist es notwendig, sich in die Shell eines Docker-Containers zu schalten, um dort beispielsweise weitere Konfigurationen vornehmen zu können. Wie du dich in eine Container-Shell einloggst, zeige ich dir in diesem Beitrag. Begib dich zunächst in das Verzeichnis, in[...]

    12.03.2024 18:37

    44
  • Mithilfe eines Swap-Speichers lagert man temporäre Daten in eine Auslagerungsdatei aus, anstatt in den RAM zu schreiben. Das ist vor allem dann sinnvoll, wenn wenig Arbeitsspeicher zur Verfügung steht und man Abstürze wegen zu wenig Arbeitsspeicher umgehen möchte. Was ist[...]

    01.01.2024 10:00

    153
  • Beim Löschen von Dateien in Nextcloud landen diese im Papierkorb und bleiben dort, bis dieser manuell geleert wird. Möchte man Dateien im Papierkorb automatisch nach einer bestimmten Zeit löschen lassen, muss die Konfiguration entsprechend angepasst werden. Die Papierkorb-Funktion ist[...]

    10.12.2023 20:57

    92
  • Manchmal ist es notwendig, sich in die Shell eines Docker-Containers zu schalten, um dort beispielsweise weitere Konfigurationen vornehmen zu können. Wie du dich in eine Container-Shell einloggst, zeige ich dir in diesem Beitrag. Begib dich zunächst in das Verzeichnis, in[...]

    12.03.2024 18:37

    44
  • Mithilfe eines Swap-Speichers lagert man temporäre Daten in eine Auslagerungsdatei aus, anstatt in den RAM zu schreiben. Das ist vor allem dann sinnvoll, wenn wenig Arbeitsspeicher zur Verfügung steht und man Abstürze wegen zu wenig Arbeitsspeicher umgehen möchte. Was ist[...]

    01.01.2024 10:00

    153