JTS3ServerMod Hosting Edition
Autor: Stefan Martens

E-Mail:
info@stefan1200.de

Homepage:
http://www.stefan1200.de


-= Inhaltsverzeichnis =-
Copyright
Informationen
Systemanforderungen
Wie kann ein flood ban auf dem TS3 Server verhindert werden
Allgemeine Informationen zur Installation und Benutzung
Bot einrichten (alle Betriebssysteme)
Bot unter Linux starten
Bot unter Windows starten
Wie finde ich die Channel ID / Eindeutige Client ID / Client Datenbank ID / Server Gruppen ID / Channel Gruppen ID
Welche Query Login Zugangsdaten verwende ich fr den Bot
Bentigte Rechte fr den Bot
Sichtbarkeit vom Bot im Teamspeak
Verschiedene Mitteilungsarten
Globale Variablen fr Texte
Benutzung auf dem Teamspeak Server / Chat Befehle
Log Datei
Wird Hilfe bentigt?
Danke


-= Copyright =-
Der Autor von diesem Programm ist nicht verantwortlich fr jede Art von Schden oder Datenverlust!
Es ist nicht erlaubt dieses Programm zu verkaufen!
Die Vernderung der Dateiinhalte aller Dateien, die dem JTS3ServerMod beiliegen, einschlielich 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 Gebhren gestattet!
Der Author des JTS3ServerMod bietet keine weitere Untersttzung 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 ausfhrbaren 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 fr die Verbindung zur verschlsselten 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


-= Informationen =-
Dieses Programm erweitert den Teamspeak 3 Server um einige weitere Funktionen. Hier die Liste:
- Automatisches Verschieben von Mitgliedern gewhlter 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 gewhlter Server Gruppen den Server betreten.
- Server Gruppen knnen vor unerlaubten Clients beschtzt werden.
- Client Namen knnen nach unerlaubten Wrtern oder Zeichen untersucht und ggf. gekickt werden.
- Channel Namen knnen nach unerlaubten Wrtern oder Zeichen untersucht und ggf. gelscht werden.
- Einen unttigen (idle) Client zu einer Server Gruppe hinzufgen, um den Server Gruppen Namen (z.B. AFK) beim Client Namen stehen zu haben.
- Unttige (Idle) Clients in einen bestimmten Raum bewegen oder vom Server werfen. In beiden Fllen bekommt dieser eine Nachricht.
- Verschickt eine Warnnachricht an unttige (Idle) Clients.
- Inaktive Channel berprfung kann Channels lschen, die bereits seit vielen Stunden/Tagen ungenutzt sind.
- Inaktive Clients knnen nach X Tagen Inaktivitt aus der TS3 Server Datenbank gelscht werden.
- Aufnehmende Clients in einen Raum bewegen oder vom Server werfen. In beiden Fllen bekommt dieser eine Nachricht.
- Nach kurzer Zeit knnen Clients mit aktivierten Abwesendheitsstatus (Away) in einen Raum bewegt werden.
  Das zurck bewegen, wenn der Client nicht mehr abwesend ist, ist einschaltbar.
- Nach kurzer Zeit knnen Clients mit stumm geschalteten Kopfhhrern oder Mikrofon in einen Raum bewegt werden.
  Das zurck 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 fr bestimmte Server Gruppen mglich.
- !lastseen Chat Befehl um auszugeben, wann jemand zuletzt auf dem Teamspeak Server war.
Alles kann ausfhrlich eingestellt oder abgeschaltet werden.

Weitere Funktionen sind:
- Viele Bot Instanzen fr verschiedene Teamspeak 3 Server in einem Bot Prozess sind nutzbar.
- Automatisches Neuverbinden wenn die Verbindung zum Teamspeak 3 Server verloren geht.
- Viele Chat Befehle ermglichen 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 eingeschrnkten Funktionen) auch ohne nderung der query_ip_whitelist.txt zu ermglichen.
- Ein Web Interface um mehrere Bots mit dem Browser zu verwalten, bitte lese die Datei webinterface/readme_webinterface_deutsch.txt


-= Systemanforderungen =-
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 bentigt wird ist die Java SE Laufzeitumgebung Version 8 oder neuer. Empfohlen ist Version 8.
Die neuste Version fr Windows, Mac OS X, Linux und Solaris ist auf http://www.java.com/de/download/manual.jsp zu bekommen.
FreeBSD Anwender knnen sich auf http://www.freebsd.org/de/java/ ber Java auf FreeBSD informieren.

Linux Anwender sollten das Java Paket ber das Betriebssystem installieren,
so knnen 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 Ausfhrung von diesem Skript:
chmod +x jts3servermod_startscript.sh
Anschlieend gebe einfach folgendes ein:
./jts3servermod_startscript.sh java
Dies berprft, ob Java bereits installiert ist, und wenn nicht, kann es das direkt erledigen.
Wenn die automatische Installation nicht funktioniert:
Ein Beispiel fr Debian oder Ubuntu: apt-get install openjdk-8-jre-headless
Ein Beispiel fr CentOS oder Fedora -21: yum install java-1.8.0-openjdk-headless
Ein Beispiel fr Fedora 22+: dnf install java-1.8.0-openjdk-headless
Ein Beispiel fr 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 ntzlich sein.
Dies kann mit einem Java Befehlszeilen Argument fr die Java Virtuelle Maschine 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 gewhlt wird, luft der Bot nicht oder nicht stabil. Sinnvoll sind die Werte zwischen 30M und 50M.
Ich habe hierzu keine Langzeittests durchgefhrt. Der Bot bentigt weniger Arbeitsspeicher,
wenn der Client Datenbank Cache deaktiviert wird und nur eine Bot Instanz verwendet wird.

Teamspeak 3 Server 3.0 oder neuer wird bentigt, empfohlen ist aber immer die neuste Version.
Natrlich wird auch eine Verbindung zum Teamspeak 3 Server bentigt.

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?" in dieser Readme Datei.


-= Wie kann ein flood ban auf dem TS3 Server verhindert werden =-
Wenn der Bot nach der Verbindung mit dem TS3 Server gebannt wird, prfe die Log Datei vom Bot.
Wenn folgende Zeile in der Log Datei vorhanden ist (die Zahl kann abweichen), dann sollte die Lsung funktionieren:
de.stefan1200.jts3serverquery.TS3ServerQueryException: ServerQuery Error 3331: flood ban

Lsung:
Die IP Adresse, von dem Rechner auf dem der Bot luft, sollte in die Datei query_ip_whitelist.txt des Teamspeak 3 Servers hinzugefgt werden.
Wenn der Bot auf dem selben Rechner wie der TS3 Server luft, 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 fr einige Minuten bannen.

Falls ein Bearbeiten der query_ip_whitelist.txt nicht mglich 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.


-= Allgemeine Informationen zur Installation und Benutzung =-
Einfach diese ZIP Datei komplett entpacken, behalte die Verzeichnisse so bei, wie diese in der ZIP Datei vorgegeben sind.
Es ist nicht ntig den Bot in das selbe Verzeichnis zu legen, wie den Teamspeak 3 Server,
der Bot ist ein eigenstndiges Programm, welches einfach eine Verbindung zum Teamspeak 3 Server Telnet Query Port herstellt.

Standardmig nutzt die Hosting Edition eine MySQL Datenbank, ffne die Konfigurationsdatei config/JTS3ServerMod_InstanceManager.cfg um es zu konfigurieren.
Alles ist direkt in der Datei erklrt. Auf jeden Fall sollte beachtet werden, dass die Datei im ANSI Format (Kodierung ISO-8859-1) gespeichert wird.
Alle anderen Einstellungen werden in der MySQL Datenbank vorgenommen, dafr kann das beiliegende PHP Web Interface verwendet werden.
Fr mehr Informationen ber das Web Interface und wie es installiert wird, schaue bitte in die Datei webinterface/readme_webinterface_deutsch.txt

Hinweis: Es befindet sich eine deutsche bersetzung der Konfigurationsdatei im "documents" Ordner.

Dies ist ein Kommandozeilen Programm, es bentigt also eine Shell um Informationen anzuzeigen.
Natrlich 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 knnen dieses Programm auch ohne X-Server verwenden, es wird keine GUI geffnet.
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 enthlt)
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 eingeschrnkt 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 mglich eine app.home Umgebungsvariable zu setzen, indem das Argument -Dapp.home=PFAD_ZUM_JTS3SERVERMOD
beim Starten des JTS3ServerMod gesetzt wird. Dadurch wird es mglich, 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


-= Bot einrichten (alle Betriebssysteme) =-
Als Erstes sollte geprft 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, vollstndig entpackt werden.
Es ist nicht ntig den Bot in das selbe Verzeichnis zu legen, wie den Teamspeak 3 Server,
der Bot ist ein eigenstndiges Programm, welches einfach eine Verbindung zum Teamspeak 3 Server Telnet Query Port herstellt.
In dem Ordner config befinden sich die Konfigdatei, welche nach den eigenen Wnschen angepasst werden muss.

Standardmig nutzt die Hosting Edition eine MySQL Datenbank, ffne die Konfigurationsdatei config/JTS3ServerMod_InstanceManager.cfg um es zu konfigurieren.
Alles ist direkt in der Datei erklrt. Auf jeden Fall sollte beachtet werden, dass die Datei im ANSI Format (Kodierung ISO-8859-1) gespeichert wird.
Alle anderen Einstellungen werden in der MySQL Datenbank vorgenommen, dafr kann das beiliegende PHP Web Interface verwendet werden.
Fr mehr Informationen ber das Web Interface und wie es installiert wird, schaue bitte in die Datei webinterface/readme_webinterface_deutsch.txt

Hinweis: Es befindet sich eine deutsche bersetzung der Konfigurationsdatei im "documents" Ordner.

Die meisten Einstellungen werden im Web Interface vorgenommen, aber gehe mit folgenden Funktionen vorsichtig um,
denn bei falschen Einstellungen knnen diese groe Probleme bereiten:
BadNicknameCheck
BadChannelNameCheck
InactiveChannelCheck
ServerGroupProtection

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): Bot Einstellungen im Web Interface

Zum Starten des JTS3ServerMod das entsprechende folgende Kapitel lesen:
Bot unter Linux starten
Bot unter Windows starten


-= Bot unter Linux starten =-
Das erste Mal sollte der Bot so gestartet werden, wie im Abschnitt
"Allgemeine Informationen zur Installation und Benutzung" angegeben.
Sobald dann alles wie gewnscht luft, 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 Ausfhrung von diesem Skript:
chmod +x jts3servermod_startscript.sh
Anschlieend 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 bentigten Arbeitsspeicher einschrnken 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 luft, wenn viele Bots gleichzeitig laufen.
Kontrolliere das Open Files Limit mit folgendem Befehl: ulimit -a
Es werden ungefhr zwei Dateien pro virtueller Bot Instanz bentigt.
Beispiel: 200 Bots bentigen mindestens ein Open File Limit von 400.
Mit folgendem Befehl kann das Limit gendert 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 zurck gesetzt.
Bitte prfe selbst wie der neue Wert dauerhaft gesetzt werden kann.


-= Bot unter Windows starten =-
Zum Einen kann der Bot unter Windows natrlich 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.
Natrlich kann auf eine Verknpfung 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 Verknpfung als "Ausfhren in" Verzeichnis das JTS3ServerMod Verzeichnis gesetzt ist.
Um das Windows Autostart Verzeichnis zu ffnen, drcke die beiden Tasten Windows + R und gebe ein: shell:startup

Wenn gewnscht, kann man den Bot auch als Windows Dienst einrichten. Das ermglicht es,
dass der Bot im Hintergrund ausgefhrt 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 gewnscht, kann in diesem Skript der Pfad zu der Konfig- oder Logdatei oder der Name vom Dienst gendert 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 ausfhren" whlen).
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 bentigt absolute Pfade zu allen Konfigdateien. Allerdings sendet mein Skript den aktuellen Pfad zum JTS3ServerMod.
Dies ermglicht es die Variable %apphome% im Pfad in allen Konfigdateien zu verwenden.
Ist dieser Pfad nicht verfgbar (vielleicht weil der JTS3ServerMod nicht als Dienst gestartet wurde),
wird %apphome% mit einer leeren Zeichenkette ersetzt.


-= JTS3ServerMod aktualisieren =-
Hin und wieder sollte einmal auf meiner Homepage kontrolliert werden, ob eine neue Version vom JTS3ServerMod zur Verfgung 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 Fllen muss lediglich die Datei JTS3ServerMod.jar ersetzt werden, whrend der JTS3ServerMod Prozess gestoppt ist.
Zustzlich solle man noch einen Blick in die Datei config/JTS3ServerMod_InstanceManager.cfg werden, ob hier neue Werte vorhanden sind,
die in die eigene Konfigurationsdatei rber kopiert werden knnen. Allerdigns sind die nderungen in der Konfigurationsdatei
in den meisten Fllen optional und nicht zwingend erforderlich.

Aber wenn der MySQL Modus deaktiviert ist, empfehle ich den JTS3ServerMod anschlieend mit dem Argument -updateconfig zu starten,
nachdem man die JTS3ServerMod.jar Datei ersetzt hat. Das wird alle Bot Konfigurationsdateien aktualisieren.
Der vollstndige Befehl: java -jar JTS3ServerMod.jar -updateconfig
Hinweis: Das -updateconfig lscht auch alle Zeilen von entfernten und umbenannten Funktionen in dieser Konfigurationsdatei!

Um zu erfahren, wie das beiliegende PHP Web Interface aktualisiert wird, lese bitte die Datei webinterface/readme_webinterface_deutsch.txt


-= Wie finde ich die Channel ID / Eindeutige Client ID / Client Datenbank ID / Server Gruppen ID / Channel Gruppen ID =-
Der einfachste Weg an die Channel ID, Eindeutige Client ID und der Client Datenbank ID zu kommen,
ist die Installation von dem sehr schnen erweiterten Info Template von dante696:
http://forum.teamspeak.com/threads/73296-Release-Extended-Client-Info

Wenn man es nicht installieren mchte, lsst 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 gendert 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 bentigten Client innerhalb der Servergruppen. Anschlieend klicke mit der rechte Maustaste auf den Namen und
whle den Kontextmeneintrag Eindeutige ID in die Zwischenablage kopieren. Nun kann es woanders wieder eingefgt werden.
Auf kleineren TS3 Servern kann auch der Menpunkt 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 Menpunkt klickt:
Rechte -> Server Gruppen
Rechte -> Channel Gruppen
Direkt neben dem Gruppennamen wird die ID der Gruppe angezeigt. Natrlich muss man dabei mit dem Server verbunden sein.

Ein kleines Problem ist die Client Datenbank ID, weil von TS System fast alle Mglichkeiten 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 fr 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.


-= Welche Query Login Zugangsdaten verwende ich fr den Bot =-
Wenn der TS3 Server selbst betrieben wird, ist der einfachste Weg die serveradmin Logindaten vom TS3 Server zu verwenden.
Dies hat bereits nahezu alle bentigten Rechte und man hat auerdem auch kein Problem mit der Identitt vom Bot.

Wenn der TS3 Server nicht selbst betrieben wird oder man nicht das serveradmin Konto verwenden mchte,
kann auch ein neues Query Konto mit dem TS3 Client erstellt werden,
dafr wird nur das folgende Recht bentigt: b_client_create_modify_serverquery_login
Aber zuerst sollte eine neue TS3 Identitt fr den Bot erstellt werden. Wenn man das nicht macht,
verwendet der Bot die eigene TS3 Identitt, was alle TS3 Clients verwirrt.

Um eine neue Identitt zu erstellen, klicke auf Einstellungen -> Identitten -> Hinzufgen
Gebe einen Namen fr die Identitt ein, irgendwas wie TS3 Bot oder JTS3ServerMod.
Kopiere die Eindeutige ID und schliee das Fenster. Nun stelle eine Verbindung mit dem TS3 Server mit
der neuen Identitt her. Wenn die Identitt 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. Whle die Server Gruppe, die vom Bot verwendet werden soll,
zum Beispiel die Server Admin Gruppe, und fge die neue Identitt zu dieser Gruppe hinzu,
indem auf Hinzufgen geklickt wird und die Eindeutige ID rein kopiert wird. Es sollte sichergestellt werden,
das diese Server Gruppe alle bentigten Rechte hat, siehe dazu den Punkt "Bentigte Rechte fr den Bot"
in dieser Readme Datei. Jetzt wieder mit der neuen Identitt verbinden, wenn nicht mehr verbunden.
Falls man mehrmals mit dem TS3 Server verbunden ist, bitte sicherstellen,
das jetzt der richtige Reiter mit der neuen Identitt aktiv ist!
Anschlieend im TS3 Client auf Extras -> ServerQuery Login klicken und einen Loginnamen eingeben,
den man gerne haben mchte. Schreibe sowohl den gewhlten Loginnamen,
als auch das vom TS3 Client vergebene Passwort auf. Dies kann jetzt fr den Bot verwendet werden.
Auerdem sollte diese neue Identitt nicht mehr mit dem normalen TS3 Client verwendet werden.
Behalte aber die Identitt gespeichert, da darber das Query Login Passwort gendert werden kann,
falls dies irgendwann mal notwendig ist.


-= Bentigte Rechte fr den Bot =-
Wenn der serveradmin Query Account verwendet wird, sind bereits alle Rechte gesetzt.
Selbst erstellte Query Accounts knnten weitere Rechte bentigen, selbst wenn diese in der Server Admin Gruppe sind.

Stelle sicher das der Query Account vom Bot ber folgende Rechte verfgt (in Klammern steht immer, wofr das Recht bentigt 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 bentigt)
- b_client_remoteaddress_view (Fr 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 bentigt)
- b_virtualserver_channelgroup_client_list (Chat Befehl !removechannelgroups)
- b_virtualserver_client_dbinfo (Einige Chat Befehle)
- b_virtualserver_client_dblist (Immer bentigt)
- b_virtualserver_client_dbsearch (Einige Chat Befehle)
- b_virtualserver_client_list (Immer bentigt)
- b_virtualserver_info_view (Immer bentigt)
- b_virtualserver_notify_register (Immer bentigt)
- b_virtualserver_notify_unregister (Immer bentigt)
- b_virtualserver_servergroup_list (Immer bentigt)
- 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 knnen)
- 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 bentigt)
- 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 bentigt auerdem:
- b_serverquery_login (Zum Verbinden)
- b_virtualserver_select (Zum Verbinden)

Zustzliche 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 fr alle virtuellen TS3 Server:
- b_serverinstance_permission_list (Anzeige der fehlenden Rechte Namen in der Log)


-= Sichtbarkeit vom Bot im Teamspeak =-
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 fr
Teamspeak 3 Server Administratoren sichtbar zu machen.
Dazu ffne einfach im Teamspeak 3 Client die Favoriten -> Favoriten verwalten -> whle 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, prfe die Rechte,
wie im nchsten Absatz beschrieben.

Wenn es auch anderen Server Gruppen erlaubt sein soll den Bot zu sehen, fge einfach das Recht
i_client_serverquery_view_power zu dieser Gruppe hinzu.
Verwende einen hheren Wert als die i_client_needed_serverquery_view_power vom Bot.
Jeder Client muss natrlich ebenfalls die Einstellung in den Teamspeak 3 Client Einstellungen ttigen.


-= Verschiedene Mitteilungsarten =-
Es knnen verschiedene Mitteilungsarten fr die meisten Funktionen beim Bot ausgewhlt werden,
das Web Interface zeigt diese Einstellung an den entsprechenden Stellen an.
Derzeit sind die Werte chat und poke gltig, bei einigen Funktionen ebenfalls none um die Mitteilung zu deaktivieren.
Basierend auf den Teamspeak 3 Server gibt es maximal Lngen fr diese Mitteilungen,
es knnen lediglich 100 Zeichen fr poke Mitteilungen verwendet werden,
einschlielich Leerzeichen und BBCode. Chat Mitteilungen haben ein viel hheres Limit von 1023 Zeichen,
ebenfalls einschlielich 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.


-= Globale Variablen fr Texte =-
Wenn dies in der Bot Konfiguration aktiviert ist, knnen folgende globale Variablen fr 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% - Vollstndige 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 bentigt werden, sollten diese in der Bot Konfiguration abgeschaltet werden,
um die dafr bentigte Leistung einzusparen!


-= Benutzung auf dem Teamspeak Server / Chat Befehle =-
Auf dem Teamspeak 3 Server knnen Bot Befehle im Chat verwendet werden.
Es kann der Server-, Kanal- oder Privatchat verwendet werden. Natrlich muss man fr 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 prfen ob der Bot luft, kann auch einfach !botinfo eingegeben werden.
Auerdem befindet sich eine Liste aller Befehle in documents/ChatCommandHelp_deutsch.html

Derzeit sind drei verschiedene Bot Admins mglich.
Die "Full Admins" werden in der Datei JTS3ServerMod_InstanceManager.cfg bei bot_fulladmin_list eingestellt,
normale und eingeschrnkte Bot Admins werden in jeder virtuellen Bot Instanz Konfigurationsdatei von jedem Server
bei bot_admin_list und bot_lightadmingroup_list eingestellt.
"Full Admins" knnen alle Bot Befehle bei jeder virtuellen Bot Instanz verwenden, nur Personen denen man vertraut hinzufgen!
Normale Bot Admins sind auf die eigene virtuelle Bot Instanz limitiert und knnen folgende Befehle gar nicht verwenden:
!exec, !execwait, !botquit, !botinstancelist, !botinstancestart, !botinstancestop
Zustzlich knnen eingeschrnkte Bot Admins die Bot Befehle wie !botreload, !botcfgset oder !botcfgget nicht verwenden.


-= Log Datei =-
Dieses Programm erstellt eine Log Datei mit dem Dateinamen JTS3ServerMod_InstanceManager.log.
Die Log Datei des InstanceManager enthlt Informationen und Fehler bezglich 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
fr jede virtuelle Bot Instanz eingestellt werden. Voreinstellung fr 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
natrlich auch alle Fehler die dabei auftreten knnen.


-= Wird Hilfe bentigt? =-
Der Autor des JTS3ServerMod bietet keine weitere Untersttzung mehr an! E-Mails, die nach technischer Untersttzung fragen, werden nicht mehr beantwortet!
Bei Problemen beim Aufsetzen des Webservers die Fragen an entsprechende Experten fr Webserver richten.
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.
Fr alle anderen Probleme frage im TeamSpeak oder TeaSpeak Forum, je nachdem welches Produkt eingesetzt wird.

Wenn mehr Informationen bentigt werden, wie der Bot korrekt eingerichtet werden kann, lese bitte unbedingt diese Datei vollstndig.
Fr weitere Informationen zu den Konfig Dateien lese bitte auch die Datei documents/ConfigHelp_deutsch.html


-= Danke =-
Ein Danke fr das Einsenden von Fehlermeldungen und Vorschlgen, 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 Bndnis
- 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.