Also so weit ich aus den Screenshots entnommen habe hatte er die aktuellste,
kannst du evt Client Logs Posten?
Schon getestet mit Server mit weniger Userzahlen / Channels? Passiert da das selber oder freezt der Client nur wesentlich kürzer?
Also so weit ich aus den Screenshots entnommen habe hatte er die aktuellste,
kannst du evt Client Logs Posten?
Schon getestet mit Server mit weniger Userzahlen / Channels? Passiert da das selber oder freezt der Client nur wesentlich kürzer?
da gibt's "TeamSpeak3 Webviewer" ist ziemlich einfach zum aufsetzen und sieht auch ziemlich gut aus
wenn du auf dem gleichen Server hostest dann nutz anstatt deiner externen ip > 127.0.0.1
Ungültige ClientID kannst du ignorieren bei der Admin Query Gruppe, weiters warum der wegen flooding gebannt wird, keine Ahnung, was hast du denn angegeben bei dem part: serverquery://username:password@127.0.0.1:10011/?server_port=9987 , Passwort beim Postein einfach mit xxxx unkenntlich machen^
ich habe nie behauptet dass die es nicht kann^
Habe ledeglich gesagt dass die Fehler in ein Array geschrieben werden, was hier auch passiert
Ist halt auch nicht die optimal Lösung nach jeder Query eine Funktion aufzurufen die schaut ob etwas im Debug Log drinnen steht
das Recht b_serverinstance_modify_querygroup muss deine gruppe haben^
Du musst das Recht b_client_ignore_antiflood der Admin Server Query dann geben
Hmm theoretisch sollten die glaub das Recht schon haben.
Gib dir das Recht b_serverinstance_modify_querygroup dann solltest du die Gruppe sehen können mit der ID 2,
pass aber auf was du einstellst, da kannst du ziemlich viel kaputt machen
Achso warte steht ja da Flood Ban, das ist nicht die Query Whitelist sondern ein Recht dass fehlt
b_client_ignore_antiflood auf die Gruppe setzen mit der du den Query Login erstellt hast
127.0.0.1 ist standardmäßig eingetragen, du musst die IP des WebServers in die query_ip_whitelist.txt eintragen (KEINE DOMAINS!!!)
Dann startest du entweder deinen TeamSpeak Server neu oder wartest 10 Minuten, dann sollte TeamSpeak die query_ip_whitelist.txt sich automatisch neu geladen haben
https://codeload.github.com/pl…s3phpframework/zip/master
einfach den ordner libraries in den ordner mit deiner php Datei werfen
Ziemlich sicher wird deine Query wegen flooding gebannt
Genau deshalb mag ich das TS3 PHP Framework von Planetteamspeak lieber als die ts3admin.class
Während beim Framework die Fehler anständig über ne Exception geworfen werden, werden die bei der ts3admin.class nur in ein Array geschrieben
<?php
require_once("libraries/TeamSpeak3/TeamSpeak3.php");
try {
$ts3 = TeamSpeak3::factory("serverquery://username:password@127.0.0.1:10011/?server_port=9987");
echo $ts3->clientCount() . " Users are online!";
} catch(TeamSpeak3_Exception $e){
echo "Error " . $e->getCode() . ": " . $e->getMessage();
}
Mal nur so ne Frage an alle hier:
Hat hier schon mal jemand ernsthaft die Offline Nachrichten Funktion genutzt? Also ich nicht und ich kenne auch keinen die das jemals genutzt haben
die Methode clientGetNameByUid gibt auch nicht direkt den namen zurück sondern ein Array mit den Keys cluid, cldbid und Name
var_dump() kann da eine große hilfe sein
TeamSpeak 3 PHP Framework: TeamSpeak3_Node_Server Class Reference
Angaben von der TeamSpeak Query Doku:
CLIENTGETNAMEFROMUID
Displays the database ID and nickname matching the unique identifier specified by cluid.
Syntax:
clientgetnamefromuid cluid={clientUID}
Example:
clientgetnamefromuid cluid=dyjxkshZP6bz0n3bnwFQ1CkwZOM=
cluid=dyjxkshZP6bz0n3bnwFQ1CkwZOM= cldbid=32 name=Janko
error id=0 msg=ok
Alles anzeigen
Wenn die Seite "weiss" bleibt steht das ziemlich sicher im PHP Error Log, einfach da mal rein schauen, da steht normalerweise genau beschrieben was falsch ist
Eine Sache die mir auffällt ist dass du ein assoziatives Array generieren solltest, sollte aber auch ohne funktionieren
Anstatt:
so:
was genau enthält deine $desc variable?
um den Fehler direkt auf der Seite anzeigen zu lassen gibt es die Möglichkeit:
<?php
if(isset($_POST['submit'])){
require_once("libraries/TeamSpeak3/TeamSpeak3.php");
$desc = $_POST['desc'];
$ch = $_POST['ch'];
try {
$ts3_VirtualServer = TeamSpeak3::factory("serverquery://username:password@host:10011/?server_port=11182&nickanme=username");
$ts3_VirtualServer->channelGetById($ch)->modify(array("channel_name=$desc"));
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
}
<div class="container">
<div class="row">
<div class="panel-body">
<form action="index2.php" method="POST" class="well">
<div class="form-group">
<label>Channel ID</label>
<input class="form-control" type="number" name="ch" value="" required>
</div>
<div class="form-group">
<label>Beschreibung</label>
<input class="form-control" type="text" name="desc" value="" required>
</div>
<input type="submit" name="submit" value="Change">
</form>
</div>
</div>
</div>
?>
Alles anzeigen
Gleiche Namen gehen nicht, was hindert dich daran unten auch die Zahl 100 rein zu schreiben?
Parameter der Funktion richtig lesen wären eine Sache^^, war mein Fehler^
[PHP] <?PHP // Teamspeak config $teamspeakInfo = array( 'username' - Pastebin.com
kann auch nicht sein weil das ein Mix aus dem TS3 PHP Framework ist + ts3admin.class
ausserdem das foreach in zeile 25 sieht nicht normal aus^
Ich muss sagen ich habe noch nie die ts3admin.class benutzt und mein PHP ist auch schon eingerostet (zu gutem Recht)
<?PHP
// Teamspeak config
$teamspeakInfo = array(
'username' => 'serveradmin',
'password' => 'your password',
'host' => '127.0.0.1',
'portQuery' => '10011',
'portServer' => '9987',
'displayname' => 'COUNTRY' // Display of the Bot
);
$groupsetup = array(
"DE" => 10,
"UK" => 11
);
require_once("ts3admin.class.php");
$tsAdmin = new ts3admin($teamspeakInfo['host'], $teamspeakInfo['portQuery']);
if($tsAdmin->getElement('success', $tsAdmin->connect())) {
echo "> Successfully connected to the teamspeak server\n";
$tsAdmin->login($teamspeakInfo['username'], $teamspeakInfo['password']);
echo "> Successfully logged in\n";
$tsAdmin->selectServer($teamspeakInfo['portServer']);
echo "> Successfully selected server ".$teamspeakInfo['portServer']."\n";
$tsAdmin->setName($teamspeakInfo['displayname']);
echo "> Successfully changed name to ".$teamspeakInfo['displayname']."\n";
$clients = $tsAdmin->clientList("-country -ip");
foreach($clients['data'] as $client) {
if (array_key_exists($client["client_country"], $groupsetup)) {
$tsAdmin->serverGroupAddClient($client["client_database_id"], $groupsetup[$client["client_country"]]);
};
};
};
?>
Alles anzeigen
bzw ordentlich formatiert mit Pastebin.com
[PHP] <?PHP // Teamspeak config $teamspeakInfo = array( 'username' - Pastebin.com
falls es nicht funktioniert hilft mir ein "funktioniert nicht" leider auch wenig, ohne anständige error logs kann ich dir danach nicht helfen
jo wenn jemand so gnädig wäre ein paar "mitgehen" zu lassen hätte ich nichts dagegen
Internet Explorer unterstützt auch kein ES6 darum funktioniert das bei dem nicht