Author: 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:
- 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.
- 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.
- 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 das ändern der Einstellungen, das Neuladen der Einstellungen oder um den Bot zu beenden.
- Langsamer Modus um die Nutzung des Bots (mit eingeschränkten Funktionen) auch ohne Änderung der query_ip_whitelist.txt zu ermöglichen.
Dieses Programm läuft unter Windows und Linux (auch ohne X Server). Auf Mac OS X 10.4+ sollte es ebenfalls laufen, allerdings ungetestet.
Alles was benötigt wird ist die Java SE Laufzeitumgebung Version 5 oder neuer.
Die neuste Version ist auf www.java.com oder http://www.oracle.com/technetwork/java/... zu bekommen.
Anwender von Mac OS X 10.4 oder neuer haben es wohlmöglich bereits installiert.
Linux Anwender sollten das Paket sun-java6-jre oder openjdk-6-jre
(auf älteren Linux Versionen funktioniert auch sun-java5-jre) installieren.
Ein Beispiel für Debian oder Ubuntu Linux: apt-get install sun-java6-jre
Ein Beispiel für CentOS oder Fedora: yum install java-1.6.0-openjdk
Ein Beispiel für OpenSUSE: yast -i java-1_6_0-sun
Das Paket gcj-jre (GNU Java) wird nicht funktionieren!
Vielleicht soll der maximale Arbeitsspeicher, den der Bot 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.
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 beta 19 oder neuer wird benötigt, aber empfohlen ist mindestens beta 28.
Natürlich wird auch eine Verbindung zum Teamspeak 3 Server benötigt.
Hinweis:
Die IP Adresse von diesem Programm sollte in die Datei query_ip_whitelist.txt des Teamspeak 3 Servers hinzugefügt werden.
Dabei muss beachtet werden, das die query_ip_whitelist.txt eine Leerzeile am Ende der Datei benötigt.
Wenn der Bot auf dem selben Computer wie der TS3 Server läuft, verwende 127.0.0.1 als TS3 Server Adresse beim Bot.
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_server1.cfg.
Die JTS3ServerMod_InstanceManager.cfg enthält alle Informationen über virtuelle Bot Instanzen die gestartet werden sollen.
Die JTS3ServerMod_server1.cfg enthält alle Bot Einstellungen einer virtuellen Instanz.
Beide Konfigurationsdateien sollten nach eigenem Wunsch geändert werden. Alles ist direkt in den Dateien erklärt.
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.
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
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.
Stelle sicher das der Bot über folgende Rechte verfügt (in Klammern steht immer, wofür das Recht benötigt wird):
b_virtualserver_channel_list (Immer benötigt)
b_virtualserver_client_list (Immer benötigt)
b_virtualserver_client_dblist (Client Datenbank Cache)
b_virtualserver_notify_register (Immer benötigt)
b_virtualserver_servergroup_list (Server Gruppen Benachrichtigung & Server Gruppen Schutz)
b_serverinstance_permission_list (Anzeige der fehlenden Rechte Namen in der Log)
b_channel_delete_permanent (Ungültige Channelnamen Überprüfung)
b_channel_delete_semi_permanent (Ungültige Channelnamen Überprüfung)
b_channel_delete_temporary (Ungültige Channelnamen Überprüfung)
b_channel_delete_flag_force (Ungültige Channelnamen Überprüfung)
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_join_ignore_password (Erlaube das betreten aller Channel)
i_channel_join_power (Erlaube das betreten aller Channel)
i_group_member_remove_power (Server Gruppen Schutz)
i_group_member_add_power (Server Gruppen Schutz)
b_group_is_permanent (Der Bot bleibt Mitglied dieser Gruppe nach dem Neuverbinden)
i_client_modify_power (Server Gruppen Schutz)
i_client_kick_from_channel_power (Ungültige Channelnamen Überprüfung)
i_client_kick_from_server_power (Mehrere Funktionen)
i_client_move_power (Mehrere Funktionen)
i_client_complain_power (Mehrere Funktionen, wenn der "Beschwerdeeintrag" aktiviert wurde)
i_client_poke_power (Mehrere Funktionen wenn "poke" als Benachrichtigungstyp verwendet wird)
i_client_private_textmessage_power (Immer benötigt)
b_client_channel_textmessage_send (Werbenachrichten)
b_client_server_textmessage_send (Werbenachrichten)
b_client_info_view (Willkommensnachricht)
b_virtualserver_select (Zum Verbinden)
Eventuell benötigt für zukünftige Versionen:
b_virtualserver_info_view
Die "Guest Server Query" Gruppe benötigt außerdem:
b_serverquery_login (Zum Verbinden)
Es können verschiedene Mitteilungsarten für die meisten Funktionen beim Bot ausgewählt werden,
prüfe dafür die Standard JTS3ServerMod_server1.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_server1.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 aktiviert werden.
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): JTS3ServerMod_InstanceManager.cfg -> bot_fulladmin_list
Bot Admin (nur die Admin Befehle der virtuellen Bot Instanz): JTS3ServerMod_server1.cfg -> bot_admin_list
Damit sind die Grundeinstellungen gemacht. Alle Dateien speichern, dabei sollte beachtet werden
das die Dateien JTS3ServerMod_InstanceManager.cfg und JTS3ServerMod_server1.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_server1.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.
Wenn gewünscht, kann man den Bot auch als Windows Dienst einrichten. Dies ist dann etwas komplizierter.
Dazu, wenn noch nicht vorhanden, die Windows Server 2003 Resource Kit Tools herunterladen:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en
Auf neueren Windows Versionen wird eventuell eine Warnung eingeblendet,
aber auf meinem Windows 7 System funktionierte es dennoch einwandfrei.
Die Windows Server 2003 Resource Kit Tools installieren.
Für den folgenden Vorgang habe ich bereits ein Skript vorbereitet, was alles weitere erledigt.
Im Unterordner tools befindet sich das Skript InstallWindowsService.cmd, dieses Skript
muss allerdings noch angepasst werden. Dazu muss das Skript mit einem Texteditor geöffnet werden.
Die Pfade bei ResourceKitPath und JTS3ServerModPath müssen angepasst werden um mit der eigenen Installation übereinzustimmen.
Nach dem Speichern dieser Änderungen kann das Skript mit Administrator Rechten gestartet werden.
Der letzte Schritt ist das Starten des Dienstes, wie vom Skript am Ende beschrieben.
Wichtig:
Der Dienst kann zwar den Bot starten, allerdings nicht wieder beenden.
Dies kann dann entweder per Chat Befehl an den Bot erfolgen, oder mit dem Task Manager.
Eine Lösung ist die Verwendung von screen. Das Installieren von screen ist einfach (wenn nicht bereits vorhanden):
Auf Debian oder Ubuntu:
apt-get install screen
Auf CentOS oder Fedora:
yum install screen
Auf OpenSUSE:
yast -i screen
Nach dem man das gemacht hat, mit cd in den JTS3ServerMod Ordner wechseln und starte folgenden Befehl:
screen -d -m -S ts3bot java -jar JTS3ServerMod.jar
Nun wird der Bot in einem speziellen Shell Screen mit dem Namen ts3bot ausgeführt.
Um den Shell Screen mit dem Namen ts3bot zu öffnen, um vielleicht die Ausgabe vom Bot zu lesen,
einfach folgenden Befehl ausführen:
screen -r ts3bot
Um einen geöffneten Shell Screen zu schliessen ohne den Bot zu beenden, einfach folgende Tastenkombination drücken:
STRG + A + D
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.
Das dort beschriebene Beispiel für den Start des Bots mit dem screen Befehl geht dann so:
screen -d -m -S ts3bot java -mx30M -jar JTS3ServerMod.jar
Seit der Version 1.0 ist es möglich einige Bot Befehle im Chat auf dem Teamspeak 3 Server zu verwenden.
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.
Um Bot Admin zu sein, muss die Einzigartige ID vom Client in der Bot Konfigurationsdatei angegeben werden.
Seit der Bot Version 3.1 sind zwei verschiedene Bot Admins möglich.
Die "Full Admins" werden in der Datei JTS3ServerMod_InstanceManager.cfg eingestellt,
normale Bot Admins werden in jeder Bot Instanz Konfigurationsdatei bei jedem Server eingestellt.
"Full Admins" können alle Bot Befehle bei jeder Bot Instanz verwenden.
Normale Bot Admins sind auf die eigene Bot Instanz limitiert und können folgende Befehle gar nicht verwenden:
!exec, !execwait, !botquit, !botinstancelist, !botinstancestart, !botinstancestop
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 Bot Instanzen.
Jede Bot Instanz erstellt ebenfalls eine eigene Log Datei, dies kann in der JTS3ServerMod_InstanceManager.cfg
für jede Bot Instanz eingestellt werden. Die Log Datei von der Bot Instanz protokolliert alle Aktionen
auf dem Teamspeak Server und natürlich auch alle Fehler die dabei auftreten können.
Dieses Programm darf kostenlos verwendet werden, aber bitte informiere mich, wenn ein Fehler gefunden worden ist.
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, es muss frei erhältlich sein!
Es ist ebenfalls nicht erlaubt den Quellcode zu verwenden und mit dem eigenen Namen zu veröffentlichen!
Bitte frage mich zuerst um Erlaubnis wenn was veröffentlicht werden soll, das Teile von meinem Quellcode enthält!
Teamspeak 3 wird entwickelt von TeamSpeak Systems GmbH, Verkauf und Lizensierungen durch Triton CI & Associates, Inc.
Weitere Informationen zu Teamspeak 3: http://www.teamspeak.com
Ein Danke für das Einsenden von Fehlermeldungen und Vorschlägen, und das Testen neuer Funktionen geht an:
- Benjamin
- BoKo / WebShell
- Corba
- Chris / Orange Bots
- Christoph
- DaRkBoZ
- DarRoe
- EidEchse
- Flavio
- Heiko
- HoschY1987
- KingHunt / Gamers Platoon
- MajorThorn
- mastermax
- Megamaluco
- Nate4ever
- Slater
- sojakfa
- St3v3
- Thomas / Science System
- tigerle
- TotoIsBack
Liste in Alphabetischer Reihenfolge.