JTS3 wieviele nutzer auf einem TS sind abfragen?

Started by DreamGamer, November 21, 2016, 01:55:01 AM

Previous topic - Next topic

DreamGamer

Hallo,
Ich bin zurzeit ein WebInterface am Programmieren für Mod's und Admins für meinen TS. Da würde ich halt gerne ein Dashboard rein machen wo auch z.b steht wieviele nutze auf dem TS sind. Wie ich das machen soll weiß ich schon aber leider nicht wie ich abfragen kann wieviele auf dem TS sind gibt es dafür einen weg?

LG DreamGamer

Stefan1200

Verbinde dich mit deinem PHP Webinterface direkt mit der Query Schnittstelle vom TS3 Server, diese Info ist ja sehr schnell mit dem serverinfo Query Befehl abgefrühstückt. Ich würde für sowas einfaches keine extra Abhängigkeit zu einem anderen Programm einbauen. Ich habe mir damals selbst dafür eine kleine API geschrieben (ca. 150 Zeilen PHP Code), aber du kannst natürlich auch die große PHP Api nutzen, die man im TS3 Forum bekommt.

DreamGamer

Finde dazu nichts im Internet wie kann man denn darüber abfragen wieviele Nutzer zurzeit Online auf dem TS sind ? bzw vllt. auch noch wieviele slots es max. gibt?

Stefan1200

Quote from: DreamGamer on November 21, 2016, 05:30:26 PM
Finde dazu nichts im Internet wie kann man denn darüber abfragen wieviele Nutzer zurzeit Online auf dem TS sind ? bzw vllt. auch noch wieviele slots es max. gibt?

Hatte ich ja schon geschrieben, mit dem Query Befehl serverinfo (vorher mit use den Server auswählen).

DreamGamer

Was für einen Quary serverinfo Befehl? Finde dazu nichts im Example auf der Planetteamspeak seite. und woanders habe ich dazu noch nichts gefunden.


DreamGamer

Irgendwie verstehe ich das Dokument nicht. Gibt es irgendwie Exmaples oder irgendetwas in der art wo man sich in den code etwas reinlesen kann um es zu verstehen?

monster010

Hi DreamGamer,

Ich hab dir hier Mal einen kurzen Code geschrieben
<?php
##### Einstellungen #####
$ts3ip "127.0.0.1";
$ts3queryport "10011";
$ts3port "9987";

##### Code #####
require_once "ts3admin.class.php";

$ts3 = new ts3admin($ts3ip$ts3queryport);

if(
$ts3->getElement('success'$ts3->connect()) {
    
$ts3->selectServer($ts3port);
    
$server $ts3->serverInfo();
    
    echo 
$server["virtualserver_clientsonline"]."/".$server["virtualserver_maxclients"];
}
?>


Um das ganze zu verwenden lad dir die ts3admin Klasse runter, diese findest du auf http://ts3admin.info.
Die Datei ts3admin.class.php packst du ins selbe Verzeichnis, wie die Datei in der du den Code verwendest.
Wenn du sie in ein anderes Verzeichnis packen möchtest, musst du in der in Zeile unter "##### Code #####" vor den Namen der Datei den richtigen Pfad schreiben (bitte in den Anführungszeichen).

Wenn du Fragen hast, kannst du mir gern drauf ansprechen.

Mit freundlichen Grüßen
monster010

DreamGamer

Funfact in der if Abfrage fehlt am ende eine ). und wenn ich dieses Script versuche auszuführen kommt dieser Fehler:
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\ts3admin.class.php on line 3002

Notice: Undefined index: virtualserver_clientsonline in C:\xampp\htdocs\ts3test.php on line 16

Notice: Undefined index: virtualserver_maxclients in C:\xampp\htdocs\ts3test.php on line 16

monster010

Das mit der Klammer kann ma passieren, wenn man seit mehr als 24h wach ist ^^

Bitte Schau Mal ob der Server Guest Quarry zugriff auf die clientliste hat, wenn nich solltest du ihm das Recht geben.

DreamGamer

#10
Kann man sich auch damit als Server Admin Query einloggen? finde ich ist sicherer als dem Gast die rechte zu geben?


Habe jetzt dem Quarry gast alle rechte gegeben aber immernoch die gleiche Fehler meldung.


UPDATE:

Ich habe es jetzt hinbekommen mit der TS3 PHP API aus dem TS3Forum :)
Nur nicht abzufragen wieviele maximale slots der Teamspeak hat.