Autor: Stefan Martens
E-Mail: info@stefan1200.de
Homepage: http://www.stefan1200.de
JavaScript muss im Browser aktiviert sein um diese Hilfe anzuzeigen.
Inhaltsverzeichnis:
Dieses Programm erweitert den Teamspeak 3 Server um einige weitere Funktionen. Hier die Liste:
- Automatisches Verschieben von Mitgliedern gewählter Server Gruppen in bestimmte Channels, wenn kein eigener Standard Channel gesetzt ist.
- Channel Notify, sendet eine Nachricht wenn ein Client einen bestimmten Channel betritt.
- Server Group Notify, sendet eine Nachricht wenn Mitglieder gewählter Server Gruppen den Server betreten.
- Server Gruppen können vor unerlaubten Clients beschützt werden.
- Client Namen können nach unerlaubten Wörtern oder Zeichen untersucht und ggf. gekickt werden.
- Channel Namen können nach unerlaubten Wörtern oder Zeichen untersucht und ggf. gelöscht werden.
- Einen untätigen (idle) Client zu einer Server Gruppe hinzufügen, um den Server Gruppen Namen (z.B. AFK) beim Client Namen stehen zu haben.
- Untätige (Idle) Clients in einen bestimmten Raum bewegen oder vom Server werfen. In beiden Fällen bekommt dieser eine Nachricht.
- Verschickt eine Warnnachricht an untätige (Idle) Clients.
- Inaktive Channel Überprüfung kann Channels löschen, die bereits seit vielen Stunden/Tagen ungenutzt sind.
- Inaktive Clients können nach X Tagen Inaktivität aus der TS3 Server Datenbank gelöscht werden.
- Aufnehmende Clients in einen Raum bewegen oder vom Server werfen. In beiden Fällen bekommt dieser eine Nachricht.
- Nach kurzer Zeit können Clients mit aktivierten Abwesendheitsstatus (Away) in einen Raum bewegt werden.
Das zurück bewegen, wenn der Client nicht mehr abwesend ist, ist einschaltbar.
- Nach kurzer Zeit können Clients mit stumm geschalteten Kopfhöhrern oder Mikrofon in einen Raum bewegt werden.
Das zurück bewegen, wenn der Client nicht mehr stumm geschaltet ist, ist einschaltbar.
- Kann in Intervallen eine Textnachricht an den Server oder bestimmten Raum Chat senden.
- Jeder Client der sich mit dem Server verbindet, kann eine Willkommensnachricht bekommen.
Auch spezielle Willkommensnachrichten für bestimmte Server Gruppen möglich.
- !lastseen Chat Befehl um auszugeben, wann jemand zuletzt auf dem Teamspeak Server war.
Alles kann ausführlich eingestellt oder abgeschaltet werden.
Weitere Funktionen sind:
- Viele Bot Instanzen für verschiedene Teamspeak 3 Server in einem Bot Prozess sind nutzbar.
- Automatisches Neuverbinden wenn die Verbindung zum Teamspeak 3 Server verloren geht.
- Viele Chat Befehle ermöglichen unter anderem das Senden von Nachrichten, Client Informationen abfragen, das Ändern der Einstellungen,
das Neuladen der Einstellungen oder um den Bot zu beenden.
- Erstelle eigene Plugins mit der Java Programmiersprache.
- Langsamer Modus um die Nutzung des Bots (mit eingeschränkten Funktionen) auch ohne Änderung der query_ip_whitelist.txt zu ermöglichen.
Dieses Programm wurde getestet unter Windows und Linux (auch ohne X Server).
Auf Mac OS X 10.7.3+, Solaris und FreeBSD sollte es ebenfalls laufen, dies ist allerdings ungetestet.
Alles was benötigt wird ist die Java SE Laufzeitumgebung Version 8 oder neuer. Empfohlen ist Version 8.
Die neuste Version für Windows, Mac OS X, Linux und Solaris ist auf www.java.com/de/download/manual.jsp zu bekommen.
FreeBSD Anwender können sich auf www.freebsd.org/de/java/ über Java auf FreeBSD informieren.
Linux Anwender sollten das Java Paket über das Betriebssystem installieren,
so können Sicherheitsaktualisierungen bequem über die Paketverwaltung installiert werden.
Um dies ganz leicht zu installieren, verwende einfach das jts3servermod_startscript.sh als root mit dem java Argument.
Bevor das Skript das erste Mal verwendet werden kann, gehe einfach in das Verzeichnis vom JTS3ServerMod
und erlaube die Ausführung von diesem Skript:
chmod +x jts3servermod_startscript.sh
Anschließend gebe einfach folgendes ein:
./jts3servermod_startscript.sh java
Dies überprüft, ob Java bereits installiert ist, und wenn nicht, kann es das direkt erledigen.
Wenn die automatische Installation nicht funktioniert:
Ein Beispiel für Debian oder Ubuntu: apt-get install openjdk-8-jre-headless
Ein Beispiel für CentOS oder Fedora -21: yum install java-1.8.0-openjdk-headless
Ein Beispiel für Fedora 22+: dnf install java-1.8.0-openjdk-headless
Ein Beispiel für OpenSUSE: zypper install java-1_8_0-openjdk-headless
Je nach der verwendeten Version der Distribution, existiert die OpenJDK Version aus dem Beispiel nicht.
Das Paket gcj-jre (GNU Java) wird nicht funktionieren! Zudem keine Preview oder Alpha Versionen von Java verwenden!
Vielleicht soll der maximale dynamische Speicher, den Java benutzen soll, begrenzt werden.
Das kann auf einem virtuellen Server nützlich sein.
Dies kann mit einem Java Befehlszeilen Argument für die Java Virtuelle Machine erledigt werden.
Wenn zum Beispiel nur 30 MB Arbeitsspeicher maximal verwendet werden soll, starte den Bot mit folgendem Argument:
java -mx30M -jar JTS3ServerMod.jar
Hinweis: Wenn ein zu niedriger Wert gewählt wird, läuft der Bot nicht oder nicht stabil. Sinnvoll sind die Werte zwischen 30M und 50M.
Ich habe hierzu keine Langzeittests durchgeführt. Der Bot benötigt weniger Arbeitsspeicher,
wenn der Client Datenbank Cache deaktiviert wird und nur eine Bot Instanz verwendet wird.
Teamspeak 3 Server 3.0 oder neuer wird benötigt, empfohlen ist aber immer die neuste Version.
Natürlich wird auch eine Verbindung zum Teamspeak 3 Server benötigt.
Stelle sicher, dass die IP Adresse vom Bot in der query_ip_whitelist.txt Datei auf dem Teamspeak 3 server eingetragen ist.
Weitere Informationen hierzu im Abschnitt "Wie kann ein flood ban auf dem TS3 Server verhindert werden".
Wenn der Bot nach der Verbindung mit dem TS3 Server gebannt wird, prüfe die Log Datei vom Bot.
Wenn folgende Zeile in der Log Datei vorhanden ist (die Zahl kann abweichen), dann sollte die Lösung funktionieren:
de.stefan1200.jts3serverquery.TS3ServerQueryException: ServerQuery Error 3331: flood ban
Lösung:
Die IP Adresse, von dem Rechner auf dem der Bot läuft, sollte in die Datei query_ip_whitelist.txt des Teamspeak 3 Servers hinzugefügt werden.
Wenn der Bot auf dem selben Rechner wie der TS3 Server läuft, verwende 127.0.0.1 als TS3 Server Adresse in der Bot Konfiguration.
Diese ist in der Regel bereits freigeschaltet. Falls dies nicht beachtet wird, wird die Anti Spam Funktion
des Teamspeak 3 Server das Programm sehr oft für einige Minuten bannen.
Falls ein Bearbeiten der query_ip_whitelist.txt nicht möglich ist,
versuche in der Bot Server Konfigurationsdatei den bot_slowmode auf 1 zu setzen.
Dies verlangsamt den Bot beim Verbinden und schaltet einige Funktionen ab.
Einfach diese ZIP Datei komplett entpacken, behalte die Verzeichnisse so bei, wie diese in der ZIP Datei vorgegeben sind.
Es ist nicht nötig den Bot in das selbe Verzeichnis zu legen, wie den Teamspeak 3 Server,
der Bot ist ein eigenständiges Programm, welches einfach eine Verbindung zum Teamspeak 3 Server Telnet Query Port herstellt.
Standardmäßig gibt es zwei Hauptkonfigurationsdateien, JTS3ServerMod_InstanceManager.cfg und JTS3ServerMod_server.cfg.
Die JTS3ServerMod_InstanceManager.cfg enthält alle Informationen über virtuelle Bot Instanzen die gestartet werden sollen.
In der Datei lassen sich auch mehrere virtuelle Bot Instanzen einrichten, wenn zum Beispiel mehrere TS3 Server einen Bot
erhalten sollen. Die JTS3ServerMod_server.cfg enthält alle Bot Einstellungen einer virtuellen Instanz.
Jede virtuelle Bot Instanz benötigt eine eigene Konfigurationsdatei.
Wird also ein weiterer Bot in der JTS3ServerMod_InstanceManager.cfg angelegt, so muss das server1 Verzeichnis kopiert und
in zum Beispiel server2 umbenannt werden. Dann muss in der JTS3ServerMod_InstanceManager.cfg auf den neuen Verzeichnisnamen
entsprechend beim neu angelegten Bot verwiesen werden.
Beide Konfigurationsdateien sollten nach eigenem Wunsch geändert werden. Alles ist direkt in den Dateien erklärt.
Für weitere Informationen zu den Konfigurationsdateien lese ConfigHelp_deutsch.html!
Auf jedenfall sollte beachtet werden das beide Dateien im ANSI Format (Kodierung ISO-8859-1) gespeichert werden.
Wichtig: Alle anderen Konfigurationsdateien (wie die advertising, record, idle und welcome Texte)
werden standardmäßig im Unicode (UTF-8 ohne BOM) Format gespeichert. Dies kann in der Hauptkonfigurationsdatei geändert werden.
Hinweis: Es befindet sich eine deutsche Übersetzung der Konfigurationsdateien im "documents" Ordner: ConfigHelp_deutsch.html.
Dies ist ein Kommandozeilen Programm, es benötigt also eine Shell um Informationen anzuzeigen.
Natürlich funktioniert es auch ohne aktives Shell Fenster, alle Informationen werden auch in die Log Datei geschrieben.
Unter Windows kann die cmd.exe oder die mitgelieferten EXE Dateien benutzt werden.
Linux Anwender können dieses Programm auch ohne X-Server verwenden, es wird keine GUI geöffnet.
Wird ein X-Server verwendet, sollte dieses Programm in der Terminal / Shell gestartet werden.
Mac OS X Anwender sollten ebenfalls die Terminal verwenden.
Wenn sich die JTS3ServerMod.jar und der config Ordner (welche die Datei JTS3ServerMod_InstanceManager.cfg enthält)
im selben Verzeichnis befinden, kann die Server Modifikation einfach durch folgende Eingabe gestartet werden:
java -jar JTS3ServerMod.jar
Auf virtuellen Servern sollte der Arbeitsspeicher Bedarf von der Java etwas eingeschränkt werden.
Weitere Informationen dazu im Abschnitt Systemanforderungen, empfohlen ist folgender Wert:
java -mx30M -jar JTS3ServerMod.jar
Sollen sich die Dateien JTS3ServerMod_InstanceManager.cfg und JTS3ServerMod_InstanceManager.log an einem anderen Ort befinden
oder einen anderen Dateinamen haben, dann kann das Argument -config und -log verwendet werden, hier ein Beispiel:
java -jar JTS3ServerMod.jar -config cfg/instance.cfg -log log/instance.log
Ein anderes Argument ist -help, welches lediglich eine Liste der Kommandozeilenargumente ausgibt und sich dann beendet.
Es ist auch möglich eine app.home Umgebungsvariable zu setzen, indem das Argument -Dapp.home=PFAD_ZUM_JTS3SERVERMOD
beim Starten des JTS3ServerMod gesetzt wird. Dadurch wird es möglich, die Variable %apphome% bei den Pfaden zu
Konfigdateien und Logdateien zu setzen, welche durch den app.home Pfad ersetzt wird.
Wenn die app.home Umgebungsvariable nicht existiert, wird die Variable %apphome% durch eine leere Zeichenkette ersetzt.
Beispiele:
java -Dapp.home="D:\My Services\JTS3ServerMod\" -jar JTS3ServerMod.jar
java -mx30M -Dapp.home="/home/username/my services/JTS3ServerMod/" -jar JTS3ServerMod.jar
Wenn der serveradmin Query Account verwendet wird, sind bereits alle Rechte gesetzt.
Selbst erstellte Query Accounts könnten weitere Rechte benötigen, selbst wenn diese in der Server Admin Gruppe sind.
Stelle sicher das der Query Account vom Bot über folgende Rechte verfügt (in Klammern steht immer, wofür das Recht benötigt wird):
- b_channel_delete_flag_force (Bad Channel Name Check)
- b_channel_delete_permanent (Bad Channel Name Check)
- b_channel_delete_semi_permanent (Bad Channel Name Check)
- b_channel_delete_temporary (Bad Channel Name Check)
- b_channel_join_ignore_password (Erlaube das Betreten aller Channel)
- b_channel_join_permanent (Erlaube das Betreten aller Channel)
- b_channel_join_semi_permanent (Erlaube das Betreten aller Channel)
- b_channel_join_temporary (Erlaube das Betreten aller Channel)
- b_channel_modify_name (Bad Channel Name Check)
- b_client_channel_textmessage_send (Advertising)
- b_client_delete_dbproperties (Inactive Clients Cleaner)
- b_client_ignore_sticky (Falls mit Sticky Gruppen gearbeitet wird)
- b_client_info_view (Immer benötigt)
- b_client_remoteaddress_view (Für die Anzeige der IP Adresse)
- b_client_server_textmessage_send (Advertising)
- b_group_is_permanent (Der Bot bleibt Mitglied dieser Gruppe nach dem Neuverbinden)
- b_virtualserver_channel_list (Immer benötigt)
- b_virtualserver_channelgroup_client_list (Chat Befehl !removechannelgroups)
- b_virtualserver_client_dbinfo (Einige Chat Befehle)
- b_virtualserver_client_dblist (Immer benötigt)
- b_virtualserver_client_dbsearch (Einige Chat Befehle)
- b_virtualserver_client_list (Immer benötigt)
- b_virtualserver_info_view (Immer benötigt)
- b_virtualserver_notify_register (Immer benötigt)
- b_virtualserver_notify_unregister (Immer benötigt)
- b_virtualserver_servergroup_list (Immer benötigt)
- i_channel_join_power (Erlaube das Betreten aller Channel)
- i_channel_modify_power (Bad Channel Name Check)
- i_channel_subscribe_power (Um Clients in Channels sehen zu können)
- i_client_complain_power (Mehrere Funktionen, wenn der "Beschwerdeeintrag" aktiviert wurde)
- i_client_kick_from_channel_power (Bad Channel Name Check)
- i_client_kick_from_server_power (Mehrere Funktionen)
- i_client_move_power (Mehrere Funktionen)
- i_client_permission_modify_power (Server Group Protection)
- i_client_poke_power (Mehrere Funktionen, wenn "poke" als Benachrichtigungstyp verwendet wird)
- i_client_private_textmessage_power (Immer benötigt)
- i_group_member_add_power (Server Group Protection und Idle Check)
- i_group_member_remove_power (Server Group Protection und Idle Check)
Die "Guest Server Query" Gruppe benötigt außerdem:
- b_serverquery_login (Zum Verbinden)
- b_virtualserver_select (Zum Verbinden)
Zusätzliche optionale Rechte, vergebe es entweder an den Query Account vom Bot oder an die "Guest Server Query" Gruppe.
Wenn es an die "Guest Server Query" Gruppe vergeben wird, gilt es für alle virtuellen TS3 Server:
- b_serverinstance_permission_list (Anzeige der fehlenden Rechte Namen in der Log)
Es können verschiedene Mitteilungsarten für die meisten Funktionen beim Bot ausgewählt werden,
prüfe dafür die Standard JTS3ServerMod_server.cfg Datei.
Derzeit sind die Werte chat und poke gültig, bei einigen Funktionen ebenfalls none um die Mitteilung zu deaktivieren.
Basierend auf den Teamspeak 3 Server gibt es maximal Längen für diese Mitteilungen,
es können lediglich 100 Zeichen für poke Mitteilungen verwendet werden,
einschließlich Leerzeichen und BBCode. Chat Mitteilungen haben ein viel höheres Limit von 1023 Zeichen,
ebenfalls einschließlich Leerzeichen und BBCode. Diese Grenzen sollten unbedingt beachtet werden,
ansonsten kann der Bot keine Mitteilungen verschicken und man wird eine Fehlermeldung in der Logdatei vom Bot vorfinden.
Wenn eine Nachricht als Kickgrund verschickt wird, so darf der Kickgrund nicht mehr als 80 Zeichen beinhalten.
Als Erstes sollte geprüft werden, ob Java bereits installiert ist.
Dies kann auf der Konsole / Terminal / Eingabeaufforderung mit folgenden Befehl gemacht werden:
java -version
Daraufhin sollte eine Ausgabe der installierten Java Version erscheinen.
Ist dies nicht der Fall, so muss Java noch erst installiert werden.
Weitere Informationen hierzu gibt es in dem Bereich Systemanforderungen dieser Anleitung.
Als Zweites muss die ZIP Datei, in der diese Datei zu finden war, vollständig entpackt werden.
Es ist nicht nötig den Bot in das selbe Verzeichnis zu legen, wie den Teamspeak 3 Server,
der Bot ist ein eigenständiges Programm, welches einfach eine Verbindung zum Teamspeak 3 Server Telnet Query Port herstellt.
In dem Ordner config befinden sich alle Konfigdateien, welche nach den eigenen Wünschen angepasst werden müssen.
Hinweis: Es befindet sich eine deutsche Übersetzung der Konfigurationsdateien im "documents" Ordner.
Wichtige Einstellungen in der Konfigdatei JTS3ServerMod_server.cfg,
diese müssen korrekt angegeben werden, um die Funktion vom Bot zu gewährleisten:
ts3_server_address
ts3_server_query_port
ts3_server_query_login
ts3_server_query_password
ts3_virtualserver_id / ts3_virtualserver_port
bot_slowmode
Standardmäßig sind alle Funktionen in der Konfigdatei abgeschaltet.
Diese müssen dann nach eigenen Wünschen in der bot_functions Zeile aktiviert werden.
Für weitere Informationen zu den Funktionen lese ConfigHelp_deutsch.html!
Aber geht mit folgenden Funktionen vorsichtig um, denn bei falschen Einstellungen können diese große Probleme bereiten:
bad nickname check
bad channel name check
server group protection
Damit der Bot eine oder mehrere Personen als Admin erkennt, eines der beiden Einstellungen setzen:
Bot Full Admin (alle Admin Befehle, nur Personen denen man vertraut!): JTS3ServerMod_InstanceManager.cfg -> bot_fulladmin_list
Bot Admin (nur die Admin Befehle der virtuellen Bot Instanz): JTS3ServerMod_server.cfg -> bot_admin_list
Damit sind die Grundeinstellungen gemacht. Alle Dateien speichern, dabei sollte beachtet werden
das die Dateien JTS3ServerMod_InstanceManager.cfg und JTS3ServerMod_server.cfg im ANSI Format (Kodierung ISO-8859-1)
gespeichert werden müssen. Alle anderen Konfigurationsdateien (wie die advertising, record, idle und welcome Texte)
werden standardmäßig im Unicode (UTF-8 ohne BOM) Format gespeichert.
Dies kann jedoch in der Datei JTS3ServerMod_server.cfg -> bot_messages_encoding geändert werden.
Zum Starten des Bots das entsprechende folgende Kapitel lesen:
Bot unter Linux starten
Bot unter Windows starten
Zum Einen kann der Bot unter Windows natürlich als normales Programm gestartet werden.
Dazu einfach die JTS3ServerMod-Windows_NoWindow.exe mit einem Doppelklick starten.
Alle Ausgaben sind dann in der Log Datei, welche vom Bot erstellt wird, nachzulesen.
Natürlich kann auf eine Verknüpfung von der JTS3ServerMod-Windows_NoWindow.exe in das
Windows Autostart Verzeichnis kopiert werden, damit der Bot bei der Anmeldung gestartet wird.
Aber stelle sicher das bei der Verknüpfung als "Ausführen in" Verzeichnis das JTS3ServerMod Verzeichnis gesetzt ist.
Um das Windows Autostart Verzeichnis zu öffnen, drücke die beiden Tasten Windows + R und gebe ein: shell:startup
Wenn gewünscht, kann man den Bot auch als Windows Dienst einrichten. Das ermöglicht es,
dass der Bot im Hintergrund ausgeführt wird, ohne das ein Benutzer an Windows angemeldet ist.
Um ein Windows Dienst mit Apache procrun zu erstellen, habe ich ein kleines Skript vorbereitet.
Im Unterordner tools befindet sich das Skript InstallWindowsService.cmd.
Wenn gewünscht, kann in diesem Skript der Pfad zu der Konfig- oder Logdatei oder der Name vom Dienst geändert werden.
Aber es sollte auch ohne irgendeine Änderung funktionieren, der Standard-Dienstname ist JTS3ServerMod.
Starte einfach das Skript mit Administrator Rechten (Rechtklick darauf und "Als Administrator ausführen" wählen).
Wichtig: Verwende nur die InstallWindowsService.cmd wenn die 32 Bit Version der Java Laufzeitumgebung installiert ist oder
nur die InstallWindowsService_amd64.cmd wenn die 64 Bit Version der Java Laufzeitumgebung installiert ist.
Wenn die falsche Datei verwendet wurde, wird der JTS3ServerMod Dienst nicht starten. Wenn das passiert, entferne den
Dienst einfach mit der RemoveWindowsService.cmd oder RemoveWindowsService _amd64.cmd und installiere die richtige Version.
Der letzte Schritt ist das Starten des Dienstes, wie vom Skript am Ende beschrieben.
Wichtig:
Der Dienst benötigt absolute Pfade zu allen Konfigdateien. Allerdings sendet mein Skript den aktuellen Pfad zum JTS3ServerMod.
Dies ermöglicht es die Variable %apphome% im Pfad in allen Konfigdateien zu verwenden.
Ist dieser Pfad nicht verfügbar (vielleicht weil der JTS3ServerMod nicht als Dienst gestartet wurde),
wird %apphome% mit einer leeren Zeichenkette ersetzt.
Das erste Mal sollte der Bot so gestartet werden, wie im Abschnitt "Allgemeine Informationen zur Installation und Benutzung" angegeben.
Sobald dann alles wie gewünscht läuft, bitte den Bot beenden (z.B. mit Strg + C) und wie hier beschrieben, weiter verfahren.
Der beste Weg ist die Verwendung vom beiliegenden jts3servermod_startscript.sh Skript.
Gehe einfach in das Verzeichnis vom JTS3ServerMod und erlaube die Ausführung von diesem Skript:
chmod +x jts3servermod_startscript.sh
Anschließend kann der JTS3ServerMod einfach gestartet werden:
./jts3servermod_startscript.sh start
Um den JTS3ServerMod zu stoppen:
./jts3servermod_startscript.sh stop
Weitere Argumente von diesem Skript sind: restart, status und java
Falls es hierbei zu Problemen kommt, in dieser Anleitung unter dem Punkt Systemanforderungen
ist beschrieben, wie man den benötigten Arbeitsspeicher einschränken kann.
Dies ist besonders auf Linux VServern interessant.
Damit das Skript dies automatisch macht, öffne die Datei jts3servermod_startscript.sh mit einem Text Editor,
gehe in Zeile 6 und ändere
JAVA_COMMANDLINE_PARAMETERS=""
in
JAVA_COMMANDLINE_PARAMETERS="-mx30M"
Stelle ebenfalls sicher, dass das System nicht in das Open Files Limit läuft, wenn viele Bots gleichzeitig laufen.
Kontrolliere das Open Files Limit mit folgendem Befehl: ulimit -a
Es werden ungefähr zwei Dateien pro virtueller Bot Instanz benötigt.
Beispiel: 200 Bots benötigen mindestens ein Open File Limit von 400.
Mit folgendem Befehl kann das Limit geändert werden: ulimit -n <neues Limit>
Das Ändern von diesem Wert hat Auswirkungen auf alle Prozesse auf dem System!
Manchmal wird dieser Wert wieder auf den Standard Wert zurück gesetzt.
Bitte prüfe selbst wie der neue Wert dauerhaft gesetzt werden kann.
Auf dem Teamspeak 3 Server können Bot Befehle im Chat verwendet werden.
Es kann der Server-, Kanal- oder Privatchat verwendet werden. Natürlich muss man für den Kanalchat im selben Kanal sein.
Es sind zu viele Befehle um diese hier alle aufzulisten. Schreibe einfach !bothelp in den Server-, Kanal- oder Privatchat.
Dies gibt eine Liste aller Befehle aus. Um zu prüfen ob der Bot läuft, kann auch einfach !botinfo eingegeben werden.
Außerdem befindet sich eine Liste aller Befehle in ChatCommandHelp_deutsch.html.
Derzeit sind drei verschiedene Bot Admins möglich.
Die "Full Admins" werden in der Datei JTS3ServerMod_InstanceManager.cfg bei bot_fulladmin_list eingestellt,
normale und eingeschränkte Bot Admins werden in jeder virtuellen Bot Instanz Konfigurationsdatei von jedem Server
bei bot_admin_list und bot_lightadmingroup_list eingestellt.
"Full Admins" können alle Bot Befehle bei jeder virtuellen Bot Instanz verwenden, nur Personen denen man vertraut hinzufügen!
Normale Bot Admins sind auf die eigene virtuelle Bot Instanz limitiert und können folgende Befehle gar nicht verwenden:
!exec, !execwait, !botquit, !botinstancelist, !botinstancestart, !botinstancestop
Zusätzlich können eingeschränkte Bot Admins die Bot Befehle wie !botreload, !botcfgset oder !botcfgget nicht verwenden.
Im Normalfall ist der Bot unsichtbar auf dem Teamspeak 3 Server, weil es nur ein Telnet Client und
kein echter Teamspeak 3 Client ist. Mit den Standard Rechten ist es einfach den Bot für
Teamspeak 3 Server Administratoren sichtbar zu machen.
Dazu öffne einfach im Teamspeak 3 Client die Favoriten -> Favoriten verwalten -> wähle den entsprechenden Server aus
und klicke, falls nicht bereits geschehen, auf Mehr. Hier aktiviere die Einstellung "ServerQuery Clients anzeigen".
Nun sollte der Bot im Teamspeak 3 Client sichtbar sein. Falls nicht, prüfe die Rechte,
wie im nächsten Absatz beschrieben.
Wenn es auch anderen Server Gruppen erlaubt sein soll den Bot zu sehen, füge einfach das Recht
i_client_serverquery_view_power zu dieser Gruppe hinzu.
Verwende einen höheren Wert als die i_client_needed_serverquery_view_power vom Bot.
Jeder Client muss natürlich ebenfalls die Einstellung in den Teamspeak 3 Client Einstellungen tätigen.
Dieses Programm erstellt eine Log Datei mit dem Dateinamen JTS3ServerMod_InstanceManager.log.
Die Log Datei des InstanceManager enthält Informationen und Fehler bezüglich des Starten und Stoppen von virtuellen Bot Instanzen.
Jede virtuelle Bot Instanz erstellt ebenfalls eine eigene Log Datei, dies kann in der JTS3ServerMod_InstanceManager.cfg
für jede virtuelle Bot Instanz eingestellt werden. Voreinstellung für die erste virtuelle Bot Instanz ist der Name JTS3ServerMod_server1.log.
Die Log Datei von der virtuellen Bot Instanz protokolliert alle Aktionen auf dem Teamspeak Server und natürlich auch alle Fehler die dabei auftreten können.
Der Autor von diesem Programm ist nicht verantwortlich für jede Art von Schäden oder Datenverlust!
Es ist nicht erlaubt dieses Programm zu verkaufen!
Die Veränderung der Dateiinhalte aller Dateien, die dem JTS3ServerMod beiliegen, einschließlich dieser Anleitung, ist nicht gestattet!
Das Decompilieren ist verboten! Ebenfalls verboten ist es Teile vom Quellcode in anderen Programmen weiter zu verwenden!
Die private und kommerzielle Nutzung des JTS3ServerMod ist ohne Gebühren gestattet!
Der Author des JTS3ServerMod bietet keine weitere Unterstützung mehr an!
Teamspeak 3 wird entwickelt von TeamSpeak Systems GmbH, Verkauf und Lizensierungen durch Triton CI & Associates, Inc.
Weitere Informationen zu Teamspeak 3: https://www.teamspeak.com
Launch4j wurde zur Erstellung der ausfĂĽhrbaren Windows Dateien des JTS3ServerMod verwendet. Launch4j verwendet die BSD/MIT Lizenz.
Weitere Informationen zu Launch4j: http://launch4j.sourceforge.net
procrun kann verwendet werden, um den JTS3ServerMod als Windows Dienst einzurichten. procrun ist ein Produkt von Apache Commons und verwendet die Apache Lizenz.
Weitere Informationen zu procrun: https://commons.apache.org/proper/commons-daemon/procrun.html
Jsch Bibliothek wird für die Verbindung zur verschlüsselten SSH Query vom TS3 Server 3.3.0 oder neuer verwendet.
Jsch ist ein Produkt von JCraft,Inc. and verwendet eine BSD ähnliche Lizenz.
Weitere Informationen zu Jsch: https://github.com/mwiede/jsch
Der Autor des JTS3ServerMod bietet keine weitere Unterstützung mehr an! E-Mails, die nach technischer Unterstützung fragen, werden nicht mehr beantwortet!
Bei Problemen beim Installieren der Java Laufzeitumgebung oder das generelle Starten von Java Anwendungen (es wird keine Logdatei vom JTS3ServerMod erzeugt)
die Fragen in Foren an entsprechende Java oder Betriebssystem Experten richten.
Für alle anderen Probleme frage im TeamSpeak oder TeaSpeak Forum, je nachdem welches Produkt eingesetzt wird.
Wenn mehr Informationen benötigt werden, wie der Bot korrekt eingerichtet werden kann, lese bitte unbedingt diese Datei vollständig.
Für weitere Informationen zu den Konfig Dateien lese bitte auch die Datei ConfigHelp_deutsch.html
Wenn dies in der Bot Konfiguration aktiviert ist, können folgende globale Variablen für alle Texte verwendet werden:
%SERVER_NAME% - Server Name
%SERVER_PLATFORM% - Server Betriebssystem (Windows, Linux, ...)
%SERVER_VERSION% - Server Version
%SERVER_CREATED_DATE% - Server Erstellungsdatum
%SERVER_UPTIME% - Server Uptime in Tagen, Stunden, ...
%SERVER_UPTIME_DATE% - Server Uptime als Datum
%SERVER_UPLOAD_QUOTA% - Server Upload Quota
%SERVER_DOWNLOAD_QUOTA% - Server Download Quota
%SERVER_MONTH_BYTES_UPLOADED% - Menge hochgeladender Daten im aktuellen Monat (Dateitransfer und Avatar)
%SERVER_MONTH_BYTES_DOWNLOADED% - Menge heruntergeladender Daten im aktuellen Monat (Dateitransfer und Avatar)
%SERVER_TOTAL_BYTES_UPLOADED% - Menge hochgeladender Daten insgesamt (Dateitransfer und Avatar)
%SERVER_TOTAL_BYTES_DOWNLOADED% - Menge heruntergeladender Daten insgesamt (Dateitransfer und Avatar)
%SERVER_MAX_CLIENTS% - Maximale Clients (Slots)
%SERVER_RESERVED_SLOTS% - Reservierte Slots
%SERVER_CHANNEL_COUNT% - Aktuelle Channel Anzahl
%SERVER_CLIENT_COUNT% - Aktuelle Client Anzahl
%SERVER_CLIENT_DB_COUNT% - Vollständige Client Anzahl in der TS3 Datenbank
%SERVER_CLIENT_CONNECTIONS_COUNT% - Server Client Verbindungen Anzahl
Die meisten Server Informationen werden nicht sofort aktualisiert, dies geschieht alle 60 Sekunden.
Wenn diese Variablen nicht benötigt werden, sollten diese in der Bot Konfiguration abgeschaltet werden,
um die dafür benötigte Leistung einzusparen!
Der einfachste Weg an die Channel ID, Eindeutige Client ID und der Client Datenbank ID zu kommen,
ist die Installation von dem sehr schönen erweiterten Info Template von dante696:
Extended Client Info auf forum.teamspeak.com
Wenn man es nicht installieren möchte, lässt sich auch mithilfe des Bots eine Channel ID herausfinden.
Dazu den Bot starten und den Chat Befehl !getchannelid <teil des Channel Namens> verwenden, um die Channel ID zu erhalten.
Als Beispiel: !getchannelid away
Wenn der Standard Wert -1 bei bot_channel_id nicht geändert wird, muss man beim ersten Bot Start keine Channel ID wissen!
Bitte sicherstellen, das man sich als Bot Admin oder Full Admin eingetragen hat, sonst kann der Befehl nicht benutzt werden.
Um die Eindeutige Client ID von einem Client zu kopieren, öffne einfach das Rechte Fenster im TS3 Client und
suche nach dem benötigten Client innerhalb der Servergruppen. Anschließend klicke mit der rechte Maustaste auf den Namen und
wähle den Kontextmenüeintrag Eindeutige ID in die Zwischenablage kopieren. Nun kann es woanders wieder eingefügt werden.
Auf kleineren TS3 Servern kann auch der Menüpunkt Rechte -> Alle Clients anzeigen benutzt werden,
auch hier kann dies mit der rechte Maustaste kopiert werden.
Aber bei mehr als 100 Clients auf dem TS3 Server nicht wirklich sinnvoll.
Die Server Gruppen ID und Channel Gruppen ID wird im Rechte Fenster angezeigt,
nachdem man im TS3 Client auf den folgenden Menüpunkt klickt:
Rechte -> Server Gruppen
Rechte -> Channel Gruppen
Direkt neben dem Gruppennamen wird die ID der Gruppe angezeigt. Natürlich muss man dabei mit dem Server verbunden sein.
Ein kleines Problem ist die Client Datenbank ID, weil von TS System fast alle Möglichkeiten entfernt worden sind,
sich diese ID im TS3 Client anzeigen zu lassen. Derzeit ist der einzige Weg die Verwendung von dem erweiterten Info Template.
Aber seit dem JTS3ServerMod 5.3 kann auch die Eindeutige Client ID für die Chat Befehle verwendet werden.
Der Bot erkennt automatisch, wenn eine Eindeutige Client ID verwendet worden ist und
fragt die Client Datenbank ID vom TS3 Server ab.
Wenn der TS3 Server selbst betrieben wird, ist der einfachste Weg die serveradmin Logindaten vom TS3 Server zu verwenden.
Dies hat bereits nahezu alle benötigten Rechte und man hat außerdem auch kein Problem mit der Identität vom Bot.
Wenn der TS3 Server nicht selbst betrieben wird oder man nicht das serveradmin Konto verwenden möchte,
kann auch ein neues Query Konto mit dem TS3 Client erstellt werden,
dafür wird nur das folgende Recht benötigt: b_client_create_modify_serverquery_login
Aber zuerst sollte eine neue TS3 Identität für den Bot erstellt werden. Wenn man das nicht macht,
verwendet der Bot die eigene TS3 Identität, was alle TS3 Clients verwirrt.
Um eine neue Identität zu erstellen, klicke auf Einstellungen -> Identitäten -> Hinzufügen
Gebe einen Namen für die Identität ein, irgendwas wie TS3 Bot oder JTS3ServerMod.
Kopiere die Eindeutige ID und schließe das Fenster. Nun stelle eine Verbindung mit dem TS3 Server mit
der neuen Identität her. Wenn die Identität Auswahl nicht sichtbar ist, klicke im Verbinden Fenster auf Mehr.
Nachdem dies gemacht wurde, gehe wieder als Server Admin auf den TS3 Server, wenn nicht bereits geschehen,
und öffne das Rechte -> Server Gruppen Fenster. Wähle die Server Gruppe, die vom Bot verwendet werden soll,
zum Beispiel die Server Admin Gruppe, und füge die neue Identität zu dieser Gruppe hinzu,
indem auf Hinzufügen geklickt wird und die Eindeutige ID rein kopiert wird. Es sollte sichergestellt werden,
das diese Server Gruppe alle benötigten Rechte hat, siehe dazu den Punkt Benötigte Rechte für den Bot
in dieser Readme Datei. Jetzt wieder mit der neuen Identität verbinden, wenn nicht mehr verbunden.
Falls man mehrmals mit dem TS3 Server verbunden ist, bitte sicherstellen,
das jetzt der richtige Reiter mit der neuen Identität aktiv ist!
Anschließend im TS3 Client auf Extras -> ServerQuery Login klicken und einen Loginnamen eingeben,
den man gerne haben möchte. Schreibe sowohl den gewählten Loginnamen,
als auch das vom TS3 Client vergebene Passwort auf. Dies kann jetzt für den Bot verwendet werden.
Außerdem sollte diese neue Identität nicht mehr mit dem normalen TS3 Client verwendet werden.
Behalte aber die Identität gespeichert, da darüber das Query Login Passwort geändert werden kann,
falls dies irgendwann mal notwendig ist.
Hin und wieder sollte einmal auf meiner Homepage kontrolliert werden, ob eine neue Version vom JTS3ServerMod zur Verfügung steht.
Es kann in der Konfigurationsdatei config/JTS3ServerMod_InstanceManager.cfg der bot_update_check aktiviert werden,
damit der JTS3ServerMod alle Clients auf der bot_fulladmin_list über eine neue Version informiert, sobald diese den TS3 Server betreten.
In den meisten Fällen muss lediglich die Datei JTS3ServerMod.jar ersetzt werden, während der JTS3ServerMod Prozess gestoppt ist.
Zusätzlich solle man noch einen Blick in die Datei config/JTS3ServerMod_InstanceManager.cfg werden, ob hier neue Werte vorhanden sind,
die in die eigene Konfigurationsdatei rüber kopiert werden können. Allerdigns sind die Änderungen in der Konfigurationsdatei
in den meisten Fällen optional und nicht zwingend erforderlich.
Ich empfehle den JTS3ServerMod anschließend mit dem Argument -updateconfig zu starten,
nachdem man die JTS3ServerMod.jar Datei ersetzt hat. Das wird alle Bot Konfigurationsdateien aktualisieren.
Der vollständige Befehl: java -jar JTS3ServerMod.jar -updateconfig
Hinweis: Das -updateconfig löscht auch alle Zeilen von entfernten und umbenannten Funktionen in dieser Konfigurationsdatei!
Ein Danke für das Einsenden von Fehlermeldungen und Vorschlägen, und das Testen neuer Funktionen geht an:
- 130ng0
- ADM24
- Adam M.
- Ahmet I.
- André A. / Kartoffel-Stampfer
- Atranox / End-Gaming.eu
- BEN89
- Baggavy J.
- Benjamin B.
- Benjamin L.
- BoKo / WebShell
- Bralosch
- ChoosenEye
- Chris / Orange Bots
- Christoph
- Christopher / Lenzen Networks
- Corba
- DaRkBoZ
- Daniel L.
- DarRoe
- DarkGhost
- David K.
- Denden / TSforYOU
- Dr.No
- DunklerKeks / Dark Empire Clan
- EidEchse
- FRAGGYNZ
- Fabrice
- Felix R.
- Flavio
- Flofus
- FoXFTW
- Frank B.
- Fusionpot
- GWR
- Gamle / MainGaming.dk
- Giftzwerg
- Guus W.
- Heiko
- Hermann W.
- Hinken
- HoschY1987
- Invictus International / TS Server HQ
- IronMC
- Jay / Clanwarz
- Jeremy P.
- Johannes1509
- KingHunt / Gamers Platoon
- Kirbyfan1223
- Lore
- MajorThorn
- Mariuszeq
- Marko M.
- Mateusz Z.
- Megamaluco
- Micha5
- Mikolaj
- MrChicken
- NaTesTa10
- NanooTec
- Nate4ever
- Nobody_cbm / Software Galaxy
- Pascal / Fierlord-Hosting
- Patschi
- Philip H. / squaX
- Pierre N. / Futuregamers.eu
- Prototype
- Raiden4918 / Subculture-Gaming
- Robert M.
- Robin B. / TS3-4You
- Rowtag
- Sandro M. / TS Voice
- Saucenteufel
- Sebastian S.
- SkullDrago
- Slater
- Speddyroot
- St3v3
- Stefan R.
- Surf3rDud3
- TS-Coach
- Taishou / NLFS Bündnis
- TeaTow
- Thomas / Science System
- ThomasHH / thl-online
- TotoIsBack
- Tukaa
- WaterFlow
- Yanek
- barricas
- cigaming
- dukio
- eggster
- elpoepel
- kadama / Oxivoice
- livedisco
- mastermax
- mathewitp / Old Dragons
- mthomas
- sojakfa
- thecrew
- tigerle
- whvler
- xeomueller / xgs.in
- xoun
...und viele weitere!
Liste in Alphabetischer Reihenfolge.