Hallo liebe Community,
da ich öfters gesehen habe, dass einige User hier Probleme mit dem TS3 Framework haben
möchte ich euch zeigen, wie ihr mit dem TS3 Framework und PHP arbeiten könnt.
Als aller erstes müsst ihr euch dieses Framework runterladen:
Download
Wir fangen mit einem neuen Dokument an und includieren das Framework
Der nächste Schritt ist, das bestimmen der Serverdaten ( IP, Port, Query User, Query Passwort und Query Port, Query Nickname ).
Dafür erstellen wir ein Array.
Der Ts Port ist standartmäßig: 9987 und der Query Port: 10011.
<?php require_once('libraries/TeamSpeak3/TeamSpeak3.php'); $server = array( "tsip" => "localhost", "tsport" => "9987", "ts_query_admin" => "serveradmin", "ts_query_password" => "*******", "ts_query_port" => "10011", "ts_query_user_nick" => "UCP_Administrator" // Der Name des Query Admins ( Für messages z.b bei Kick ) );?>
Jetzt musst eine Verbindung mit dem Server her.
$server = array( "tsip" => "localhost", "tsport" => "9987", "ts_query_admin" => "serveradmin", "ts_query_password" => "*******", "ts_query_port" => "10011", "ts_query_user_nick" => "UCP_Administrator" // Der Name des Query Admins ( Für messages z.b bei Kick ) ); try { TeamSpeak3::init(); $ts3_VirtualServer = TeamSpeak3::factory("serverquery://".$server["ts_query_admin"].":".$server["ts_query_password"]."@".$server["tsip"].":".$server["ts_query_port"]."/?server_port=".$server["tsport"]."&nickname=".$server["ts_query_user_nick"].""); } catch(Exception $e) { echo "Es konnte keine Verbindung zum TS3 Server hergestellt werden! ErrorID: <b>". $e->getCode() ."</b>; Error Message: <b>". $e->getMessage() ."</b>;"; }
Nachdem dies Getan ist, können wir mit dem eigentlichen Coding an.
Kick Funktion:
Als erstes machen wir eine Kick Funktion, wo der Username bekannt sein musst:
<?php require_once('libraries/TeamSpeak3/TeamSpeak3.php'); $server = array( "tsip" => "localhost", "tsport" => "9987", "ts_query_admin" => "serveradmin", "ts_query_password" => "*******", "ts_query_port" => "10011", "ts_query_user_nick" => "trolbob" ); try { TeamSpeak3::init(); $ts3_VirtualServer = TeamSpeak3::factory("serverquery://".$server["ts_query_admin"].":".$server["ts_query_password"]."@".$server["tsip"].":".$server["ts_query_port"]."/?server_port=".$server["tsport"]."&nickname=".$server["ts_query_user_nick"].""); $clientid = $ts3_VirtualServer->clientGetByName("xGreekz7x"); if( $clientid->kick(TeamSpeak3::KICK_SERVER, "Du wurdest einfach so gekickt.") ) echo "xGreekz7x wurde erfolgreich gekickt!"; } catch(Exception $e) { echo "Fehler!<br/>ErrorID: <b>". $e->getCode() ."</b>; Error Message: <b>". $e->getMessage() ."</b>;"; }?>
Ban Funktion:
Hier musst der Username ebenfalls bekannt sein.
Zeit wird in sekunden angegeben!
Sollte die Zeit auf 0 sein, wird der User permanent gebannt!
<?php require_once('libraries/TeamSpeak3/TeamSpeak3.php'); $server = array( "tsip" => "localhost", "tsport" => "9987", "ts_query_admin" => "serveradmin", "ts_query_password" => "*******", "ts_query_port" => "10011", "ts_query_user_nick" => "trolbob" ); try { TeamSpeak3::init(); $ts3_VirtualServer = TeamSpeak3::factory("serverquery://".$server["ts_query_admin"].":".$server["ts_query_password"]."@".$server["tsip"].":".$server["ts_query_port"]."/?server_port=".$server["tsport"]."&nickname=".$server["ts_query_user_nick"].""); $clientid = $ts3_VirtualServer->clientGetByName("xGreekz7x"); if($clientid->ban(1, "Du wurdest einfach so gebannt!")) echo "xGreekz7x wurde erfolgreich gebannt!"; } catch(Exception $e) { echo "Fehler!<br/>ErrorID: <b>". $e->getCode() ."</b>; Error Message: <b>". $e->getMessage() ."</b>;"; }?>
Anstups Funktion:
Man kann den User auch vom UCP aus anstupsen.
Hier für, wird nur eine Message benötigt.
<?php require_once('libraries/TeamSpeak3/TeamSpeak3.php'); $server = array( "tsip" => "localhost", "tsport" => "9987", "ts_query_admin" => "serveradmin", "ts_query_password" => "*******", "ts_query_port" => "10011", "ts_query_user_nick" => "trolbob" ); try { TeamSpeak3::init(); $ts3_VirtualServer = TeamSpeak3::factory("serverquery://".$server["ts_query_admin"].":".$server["ts_query_password"]."@".$server["tsip"].":".$server["ts_query_port"]."/?server_port=".$server["tsport"]."&nickname=".$server["ts_query_user_nick"].""); $clientid = $ts3_VirtualServer->clientGetByName("xGreekz7x"); if ( $clientid->poke("Anstups Message") ) echo "xGreekz7x wurde erfolgreich angestupst!"; } catch(Exception $e) { echo "Fehler!<br/>ErrorID: <b>". $e->getCode() ."</b>; Error Message: <b>". $e->getMessage() ."</b>;"; }?>
Server Gruppe einteilen:
Jetzt kommen wir mal zu etwas interessanterem,
und zwar wie man Server Rechte vergeben kann, egal ob der
User Offline oder Online ist.
Dafür wird aber die Eindeutige Identifikations ID des User benötigt kurz: UID.
Ebenfalls wird die ID der Server Gruppe benötigt.
<?php require_once('libraries/TeamSpeak3/TeamSpeak3.php'); $server = array( "tsip" => "localhost", "tsport" => "9987", "ts_query_admin" => "serveradmin", "ts_query_password" => "*******", "ts_query_port" => "10011", "ts_query_user_nick" => "trolbob" ); try { TeamSpeak3::init(); $ts3_VirtualServer = TeamSpeak3::factory("serverquery://".$server["ts_query_admin"].":".$server["ts_query_password"]."@".$server["tsip"].":".$server["ts_query_port"]."/?server_port=".$server["tsport"]."&nickname=".$server["ts_query_user_nick"].""); $client = $ts3_VirtualServer->clientFindDb("alDSXALBlc6yq4HAFEpFdzd1BVQ=", true); if( $ts3_VirtualServer->serverGroupClientAdd(6, $client[0]) ) echo "xGreekz7x wurde erfolgreich in die Gruppe 6 gesetzt!"; } catch(Exception $e) { echo "Fehler!<br/>ErrorID: <b>". $e->getCode() ."</b>; Error Message: <b>". $e->getMessage() ."</b>;"; }?>
Server Gruppe entfernen:
Hierfür, werden ebendfalls die UID, und die Server Gruppen ID benötigt.
<?php require_once('libraries/TeamSpeak3/TeamSpeak3.php'); $server = array( "tsip" => "localhost", "tsport" => "9987", "ts_query_admin" => "serveradmin", "ts_query_password" => "*******", "ts_query_port" => "10011", "ts_query_user_nick" => "trolbob" ); try { TeamSpeak3::init(); $ts3_VirtualServer = TeamSpeak3::factory("serverquery://".$server["ts_query_admin"].":".$server["ts_query_password"]."@".$server["tsip"].":".$server["ts_query_port"]."/?server_port=".$server["tsport"]."&nickname=".$server["ts_query_user_nick"].""); $client = $ts3_VirtualServer->clientFindDb("alDSXALBlc6yq4HAFEpFdzd1BVQ=", true); if( $ts3_VirtualServer->serverGroupClientDel(6, $client[0]) ) echo "xGreekz7x wurde erfolgreich aus der Gruppe 6 entfernt!"; } catch(Exception $e) { echo "Fehler!<br/>ErrorID: <b>". $e->getCode() ."</b>; Error Message: <b>". $e->getMessage() ."</b>;"; }?>
edit v1:
User - Beschreibung ändern
<?php require_once('libraries/TeamSpeak3/TeamSpeak3.php'); $server = array( "tsip" => "localhost", "tsport" => "9987", "ts_query_admin" => "serveradmin", "ts_query_password" => "SKP8GIg8", "ts_query_port" => "10011", "ts_query_user_nick" => "trolbob" ); try { TeamSpeak3::init(); $ts3_VirtualServer = TeamSpeak3::factory("serverquery://".$server["ts_query_admin"].":".$server["ts_query_password"]."@".$server["tsip"].":".$server["ts_query_port"]."/?server_port=".$server["tsport"]."&nickname=".$server["ts_query_user_nick"].""); $client = $ts3_VirtualServer->clientGetByUid("RZdtla/OSPZWgN9Jf9xn+/rIp5k="); $properties = array("client_description" => "trololol beschreibung"); if( $client->modify( $properties ) ) echo "xGreekz7x erfgolreich bearbeitet!"; } catch(Exception $e) { echo "Fehler!<br/>ErrorID: <b>". $e->getCode() ."</b>; Error Message: <b>". $e->getMessage() ."</b>;"; }?>
edit v2:
Servergruppen Token erstellen.
<?php require_once('libraries/TeamSpeak3/TeamSpeak3.php'); $server = array( "tsip" => "localhost", "tsport" => "9987", "ts_query_admin" => "serveradmin", "ts_query_password" => "SKP8GIg8", "ts_query_port" => "10011", "ts_query_user_nick" => "trolbob" ); try { TeamSpeak3::init(); $ts3_VirtualServer = TeamSpeak3::factory("serverquery://".$server["ts_query_admin"].":".$server["ts_query_password"]."@".$server["tsip"].":".$server["ts_query_port"]."/?server_port=".$server["tsport"]."&nickname=".$server["ts_query_user_nick"].""); $token = $ts3_VirtualServer->tokenCreate ( TeamSpeak3::TOKEN_SERVERGROUP, $sgID ); // sgID = ID der Servergruppe echo $token; } catch(Exception $e) { echo "Fehler!<br/>ErrorID: <b>". $e->getCode() ."</b>; Error Message: <b>". $e->getMessage() ."</b>;"; }?>
Ich hoffe dieses Kleine Tutorial hilft euch,
mit dem TS3 Framework zu arbeiten.
Dieses Tutorial, wird von mir regelmäßig erweitert.
Solltet ihr noch wünsche für die nächsten Funktionen haben, könnt
ihr mich gerne per PN kontaktieren.
MfG xGreekz7x