JTS3ServerMod Hosting Edition
Web Interface
Programmierer: Stefan Martens

E-Mail:
info@stefan1200.de

Homepage:
http://www.stefan1200.de


Dies ist nur eine zusätzliche Readme Datei zum Web Interface. Bitte lese zuerst die Bot Readme Datei!


-= Zusätzliches Copyright =-
Als Ergänzung zur Bot Readme Datei:
Dieses Web Interface nutzt Icons vom freien Silk icon set 1.3.
Dies kann von folgender Seite heruntergeladen werden: http://www.famfamfam.com/lab/icons/silk/


-= Informationen =-
Dieses Web Interface erlaubt es virtuelle Bot Instanzen zu erstellen, konfigurieren und zu steuern.
Es können neue Benutzer für das Web Interface registriert werden,
um ihnen das erstellen, konfigurieren und steuern der eigenen Bots zu erlauben.
Es ist möglich die eigene Registrierung durch Gäste und die Bot Erstellung für normale Nutzer zu erlauben oder verbieten.


-= Unterschiedliche Administrator Berechtigungsstufen =-
Dieses Web Interface hat zwei verschiedene Administrator Berechtigungsstufen:
- (Haupt-) Administrator / Datenbank Wert adminlevel in Tabelle jts3servermodwebui_users: 2
- Eingeschränkter Administrator / Datenbank Wert adminlevel in Tabelle jts3servermodwebui_users: 1
Der Haupt-Administrator kann alles machen.

Der eingeschränkte Administrator kann folgendes nicht machen:
- Löschen oder bearbeiten von Benutzer Accounts
- Neue Administrator Accounts erstellen
- Neue Bot Einstellungen setzen (für die Bot Erstellung)
- Einstellungen vom Web Interface verändern

Wenn die Bot Erstellung für normale Benutzer abgeschaltet ist, können eingeschränkte Administratoren neue Bots nur
noch auf dem Server erstellen, für den Standard Bot Einstellungen vom Haupt-Administrator abgespeichert worden sind.
Dieser kann den virtuellen Server Port / ID frei wählen, allerdings nicht die Server Adresse oder
die Query Login Angaben verändern oder einsehen.


-= Systemanforderungen (Server) =-
Die folgenden Dinge werden benötigt:
- Hosting Edition vom JTS3ServerMod mit aktiviertem MySQL Modus und Query Schnittstelle.
- Webspace mit PHP 5.4+ Unterstützung mit aktivierter Session (mehr Informationen unten), Socket (fsockopen), mbstring, Mail (mehr Informationen unten) und MySQLi Unterstützung.
- Für die Unterstützung der SSH Query Schnittstelle vom TS3 Server 3.3.0 oder neuer wird die PECL libssh2 Bibliothek für PHP benötigt (optional, weitere Informationen unten).
- Wenn der Apache Webserver verwendet wird, aktiviere bitte das Modul mod_access_compat (Apache 2.4) oder mod_authz_host (Apache 2.2).
- Aus Sicherheitsgründen sollte die PHP Einstellung allow_url_include deaktiviert werden.
- MySQL Datenbank Version 5.5.3 oder höher. Ebenfalls erfolgreich getestet mit MariaDB 10.1.3.


-= Systemanforderungen (Client) =-
Jeder moderne Browser mit Unterstützung für HTML, CSS und JavaScript auf dem Smartphone, Tablet oder PC.
Sollte auf jedem Browser funktionieren, der nach dem Jahr 2012 veröffentlicht worden ist.
Internet Explorer 9 und älter wird nicht unterstützt! Windows 7 Benutzer sollten auf Internet Explorer 11 aktualisieren,
Windows Vista und XP Benutzer verwenden bitte einen anderen Browser.
Getestet auf Firefox (Windows, aktuelle Version), Chrome (Windows und Android, aktuelle Version) und Internet Explorer 11 (Windows).
Alle Browser, welche eine neuere Version der Gecko, Blink oder Trident Engine verwenden, sollten funktionieren.
Die WebKit Engine wurde nie von mir getestet, allerdings basiert Blink auf WebKit und sollte daher ebenfalls funktionieren.


-= Installation =-
Als erstes müssen ein paar Dinge im JTS3ServerMod aktiviert werden.
Öffne die JTS3ServerMod_InstanceManager.cfg Konfigdatei,
hier konfiguriere nun die MySQL Unterstützung und die Query Schnittstelle vom JTS3ServerMod.
Aktiviere beide Funktionen durch setzen von telnet_enable und mysql_enable auf 1!
Vergesse nicht ein Passwort mit mindestens 6 Zeichen bei telnet_password zu setzen, oder die Query Schnittstelle wird deaktiviert.
Stelle sicher das folgende Einstellung aktiviert ist:
telnet_run_forever = 1
Dies wird für das Web Interface benötigt, da sich sonst der JTS3ServerMod Prozess beendet,
falls alle virtuellen Bot Instanzen beendet sind.
Stelle ebenfalls sicher, dass die IP Adresse vom Web Interface bei folgender Einstellung gesetzt wird:
telnet_whitelist = 
Wenn der JTS3ServerMod und das Web Interface auf der selben Maschine laufen, kann an dieser Stelle 127.0.0.1 verwendet werden.
Setze einen MySQL Account bei mysql_user und mysql_password mit den folgenden Berechtigungen auf die bei mysql_database gesetzte Datenbank:
SELECT, INSERT, UPDATE und DELETE.
Bei Bedarf kann man sich noch in die bot_fulladmin_list eintragen.
Alle anderen Konfigdateien vom Bot können ignoriert werden.
Wenn diese Schritte erledigt sind starte den Bot noch nicht. Zuerst muss das Web Interface installiert werden.

Nun kopiere die Web Interface Dateien auf das Webspace und stelle sicher das PHP Schreibberechtigungen in das config Verzeichnis hat.
Rufe die Datei install.php mit dem Browser auf. Gebe alle benötigten Informationen in das Formular ein und speichere diese.
Wichtig: Wenn die MySQL Datenbank noch leer ist, aktiviere unbedingt die Option "Erstelle Tabellen in der Datenbank?"!
Stelle sicher, dass das Web Interface und der JTS3ServerMod die selbe MySQL Datenbank verwenden.
Der MySQL Account vom Web Interface benötigt die folgenden Berechtigungen auf die eingetragene Datenbank:
ALTER, CREATE, DELETE, DROP, INSERT, SELECT, SHOW und UPDATE.
Wenn kein Fehler aufgetreten ist kann man sich nun mit den bei der Installation angegebenen Logindaten im Web Interface einloggen.
Dazu einfach im Browser die index.php Datei aufrufen. Nach dem Login sollte oben im Menü auf "Einstellungen" geklickt werden.
Konfiguriere hier nun das Web Interface und gebe die richtigen Informationen für die Query Schnittstelle vom JTS3ServerMod ein.

Der letzte Schritt ist es den Bot zu starten. Wie dies funktioniert, kann in der readme Datei vom Bot nachgelesen werden.
Wenn das Web Interface sich nicht mit dem JTS3ServerMod verbinden kann, überprüfe unbedingt auch die JTS3ServerMod_InstanceManager.log Datei.

Sobald alles wie gewünscht funktioniert, deaktiviere den Wartungsmodus in den Web Interface Einstellungen. Das war alles, viel Spaß.


-= Nützliche Informationen =-
Der Bot und das Web Interface müssen nicht auf dem selben Rechner sein, aber die müssen sich die selbe MySQL Datenbank teilen.
Natürlich können das Web Interface und/oder der Bot auch auf eine MySQL Datenbank auf einem entfernten Server zugreifen.
Bitte prüfe erst, ob der Remote Zugriff auf dem Web Server oder in der MySQL Datenbank aktiviert werden muss.

Wenn es Probleme nach dem Login im Web Interface gibt, das man nicht eingeloggt bleibt,
stelle sicher das folgende Einstellungen in der php.ini Datei vom Web Server des Web Interfaces gesetzt sind:
session.save_handler = files
session.save_path = zu einem gültigen und beschreibbaren Pfad
session.use_cookies = 1

Wenn das Web Interface keine E-Mails auf einem Linux Webserver senden kann, lese bitte die folgende englische Anleitung,
um zu wissen, wie die PHP Mail Funktion konfiguriert werden kann:
https://www.stefan1200.de/forum/index.php?topic=387.0

Wenn beim Aufrufen der install.php der interne Server Fehler (Code 500) erscheint, stelle sicher,
dass das PHP MySQLi Modul installiert und bei Apache mod_access_compat (Apache 2.4) oder mod_authz_host (Apache 2.2) aktiviert ist.

Wenn beim Aufrufen der install.php der Fehler "Call to undefined function mb_internal_encoding()" erscheint, 
stelle sicher, dass das PHP Modul mbstring aktiviert wurde.

Die PECL libssh2 Bibliothek für PHP kann von folgender Webseite bezogen werden: https://pecl.php.net/package/ssh2
Bitte sicherstellen, das man die richtige Bibliothek für das verwendete Betriebssystem und PHP Version installiert.
Wenn die .dll Datei für Windows und PHP 5.6 benötigt wird, beziehe diese von folgender Webseite: https://phpfashion.com/php-ssh2-dll-for-php-5-6-and-7-0
Die php_ssh2.dll oder php_ssh2.so Datei kommt in das PHP ext Verzeichnis und muss in der php.ini aktiviert werden.


-= Web Interface Aktualisierung =-
Wichtig: Wie immer: Erstelle eine Datenbank Sicherung jedes Mal vor dem Update!
Falls eigene Modifikationen am Web Interface vorgenommen wurden, müssen diese nach dem Update erneut vorgenommen werden!

Seit Web Interface 3.0 / Build 3000 ist das Updaten sehr einfach.
Ersetze einfach alle Dateien vom Web Interface, öffne das Web Interface im Browser und melde dich als Administrator an.
Falls man bereits eingeloggt war, gehe unbedingt als erstes auf die Seite Bot Liste!
Bestätige gegebenenfalls die Meldung, das ein automatisches Datenbank Update notwendig ist, fertig.
Es sind keine weiteren Schritte notwendig!

Ich versuche immer alle geänderten und hinzugefügten Dateien vom Update in die changelog_webinterface.txt zu schreiben.
Dies ist aber nur dann wichtig, wenn eigene Modifikationen am Web Interface vorgenommen wurden.
Wenn alle Dateien noch original sind, dann ersetze einfach alle Dateien.