Hi.
Ah cool, du möchtest also mal ein Webinterface von TeamSpeak2 selber bauen, da kann ich dir helfen. Denn sowas habe ich schon mal vor x jahren gemacht da ich auch mal gesponsert habe.
Ich hatte damals einige Funktionen in dem Webinterface drinne, wie komplettes Verwalten von Benutzern und Aktionen.
Des Weiteren hatte ich dazu einen PHP CLI Mod geschrieben der direkt mit dem Server kommuniziert hat und ich somit funktionen, wie Verschieben in AFK Channels bei Idle, MM, SM, Away automatisieren konnte. Zum anderen Konnte man einen User (R) mit seinem Vor und Zunamen im Teamspeak begrüßen. Auch Statusmeldungen usw. waren kein Problem.
Hätte man es weiter ausgebaut, würde man auch mehrere Server verwalten können. Denn es Verfügt über 3 Benutzerebenen (Provider, Superadmin, Admin). Standardmäßig gibt es ja nur die zwei Letzteren.
Zu deinem Problem:
|
PHP Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
<?php
/* Daten vom Server entgegennehmen */
if($_REQUEST['sub']) {
$daten['serverIp'] = $_POST['Server_IP'];
$daten['tcp'] = 51234; // den musst du nicht im Formular angeben, der Telnetport geht nämlich keinem was an!
$daten['udp'] = $_POST['udp'];
$daten['timeout'] = 2;
$connection = @fsockopen ($daten['serverIp'], $daten['tcp'], $errno, $errstr, $daten['timeout']); //IP und TCP Port
if (!$connection)
{
echo "Keine Verbindung!<br>";
}
else
{
echo "Sie sind mit dem Server ".$daten['serverIp'].":".$daten['udp']." verbunden<br/>";
$cmd = "sel ".$daten['udp']."\n";
fputs($connection,$cmd, strlen($cmd));
// an dieser Stelle solltest du vom TS mit fgets ein "OK" erhalten!
// dann den nächsten befehl senden:
$cmd = "login ".$daten['username']." ".$daten['password']."\n";
fputs($connection,$cmd, strlen($cmd));
// an dieser Stelle solltest du vom TS mit fgets wieder eine Antwort erhalten!
//wenn antwort login erfolgreich dann,
$cmd = "pl\n";
fputs($connection,$cmd, strlen($cmd));
while($channeldata = fgets($connection, 4096))
{
echo $channeldata.'<br />';
}
fclose($connection);
}
}
?>
|
So war jetzt einfach mal kurz aus dem Kopf heraus