Teamspeak

Mike Cater

Erfahrenes Mitglied
Hallo erstmal, ich melde mich mal seit langer Zeit wieder =)

Nun zu meiner Frage,
Ich bin dabei ein TeamSpeak Administrations Script zu schreiben, doch habe ich ein Problem beim auslesen der Daten. Erstmal mein Script

PHP:
<?php
	include('config/mysql.inc.php');
	$mysql = mysql_connect($sql[host], $sql[user], $sql[pw]);
	if($mysql)
	{
		if(mysql_select_db($sql[db]))
		{
			$temp = "SELECT * FROM db_settings WHERE item = 'ts_ip'";
			$id = mysql_query($temp);
			if($id)
			{
				$data = mysql_fetch_array($id);
				$temp2 = "SELECT * FROM db_settings WHERE item = 'ts_port'";
				$id2 = mysql_query($temp2);
				if($id2)
				{
					$data2 = mysql_fetch_array($id2);
					$tp = $data[value];
					$telnet = fsockopen("$tp",51234);
					if($telnet)
					{
						fputs($telnet,"slogin test test\r\n");
						$tp = "sel $data2[value]" . "\r\n";
						fputs($telnet, $tp);
						fputs($telnet,"dbserverlist\r\n");
					}
					fclose($telnet);
				}
			}
		}
	}
	mysql_close($mysql);
?>

so wie ich oben bereits gesagt habe, tauchen Probleme auf. Ich weiß nicht wie ich die Sachen ausgeben muss, d.h. ich weiß schon das ich es mit "echo fgets($telnet);" machen muss, aber ich brauche eine schleife die das dann so oft macht wie gebraucht wird, und das funktionier bei mir leider nicht. Ich hoffe jemand hat eine Antwort auf mein Problem.
 
Soweit ich das nachvollziehen kann, möchtest Du die Serverliste herunterladen, indem Du Dich an dem Server als Super-Admin anmeldest, usw.

Du baust per "fsockopen" eine Verbindung zum jeweiligen Server auf, läßt diesen aber nicht zu Wort kommen.;) Du hast ja eine aktive Verbindung zu dem Server, diese mußt Du halt berücksichtigen.

Insofern Du Dich nicht an das genaue Protokoll hälst, wirst Du immer Probleme haben. Gehe Schritt für Schritt vor und prüfe nach jedem Senden von Informationen, ob der Server mit irgendwelchem Response reagiert.

Jeder "verfünftig programmierte" Server läßt sich auch abfragen, wenn man das Protokoll kennt.

Eine relativ gute Erklärung dazu findest Du unter:
http://www.wdippold.de/TS_Telnet.htm

Frag entsprechend von Anfang an alle Responses ab. Somit solltest Du bald die Fehlerquelle gefunden haben.

Wenn nicht - poste noch einmal einen konkreten Fall.
 
das is ja kein Problem mit dem abfragen und so... nur wenn ich z.B. "sl" angebe, dann is die Zahl der ausgaben ja Varibel, d.h. ich weiß nicht wie oft ich fgets benutzen muss! Deswegen frag ich ja, wie ich die schleife aufbauen muss!
 
aber du musst doch irgendwann wissen das die Ausgabe zu ende ist. Entweder weil immer was bestimmtes am Ende kommt, oder eben nix mehr kommt.
 
das is ja dar Problem, ich weiß nicht wie ich die Schleife machen muss, das wenn nichts übertragen wird, dasss er dann nicht weiter macht.
 
Zurück